In diesem Abschnitt erfahren Sie, was funktionale Anforderungen sind und wie sie priorisiert werden. Wir haben bereits die Identifizierung geschäftlicher Anforderungen im Rahmen der Projektinitiierung und die Anforderungen an das Projektmanagement zu Beginn der Projektplanung besprochen. Nun, im weiteren Verlauf unserer Projektplanung, richten wir unser Augenmerk auf die funktionalen Anforderungen und die Qualitätsattribute der zu erstellenden Lösung.
Lassen Sie uns zunächst rekapitulieren, was wir unter Anforderungen verstehen. Sie umfassen spezifische Merkmale oder Bedingungen, die von Stakeholdern für ein bestimmtes Element verlangt werden, um deren Bedürfnisse zu erfüllen.
Die Erstellung einer umfassenden Liste von Anforderungen stellt eine anspruchsvolle Herausforderung dar und ist eine der Kernkompetenzen im Berufsfeld des Business-Analysten.
Einige dieser Herausforderungen bei den Anforderungen umfassen:
Der Prozess zur Definition funktionaler Anforderungen und Qualitätsattribute verläuft typischerweise iterativ. Er startet mit einer initialen, allgemeinen Beschreibung der Anforderungen, die nach und nach zu detaillierten Spezifikationen ausgearbeitet werden. Diese frühe Phase der Anforderungsdefinition liefert die essenziellen Informationen, die nötig sind, um die Beschreibung des Projektinhalts- und -umfangs sowie den Projektstrukturplan (WBS) zu entwickeln und eine erste Schätzung von Aufwand, Kosten und Dauer vorzunehmen. Änderungen, die nach der Genehmigung des Leistungsmessungsbasis auftreten, werden durch einen etablierten Änderungsmanagementprozess oder eine Versionskontrolle geregelt, um sicherzustellen, dass auch spätere Anforderungen, die über die Erstlieferung hinausgehen, effektiv integriert werden können, besonders wenn der Produkttyp einen inkrementellen Entwicklungsansatz unterstützt.
Das technische Wort für das Sammeln von Anforderungen von Stakeholdern wird als Anforderungserhebung bezeichnet (Requirements Elicitation auf Englisch). Um genaue Anforderungen zu erreichen, müssen die Mitglieder des Projektteams, die als Businessanalysten agieren, die richtigen Fragen stellen, aufmerksam zuhören und die Antworten dokumentieren.
Erhebung von Anforderungen
Zur Erhebung von Anforderungen bieten sich verschiedene Methoden an:
Nachverfolgbarkeit
Die Nachverfolgbarkeit spielt eine entscheidende Rolle im Entwicklungslebenszyklus einer umfangreichen Lösung, indem sie sicherstellt, dass alle Anforderungen über die verschiedenen Phasen hinweg verfolgt werden können. Bei inkrementellen Lebenszyklen, in denen jede Phase oder Iteration einen vollständigen Zyklus von Anforderungen, Design, Produktion und Tests umfasst, minimiert sich das Risiko, Anforderungen zu übersehen. In prädiktiven Ansätzen, die durch eine umfangreiche initiale Anforderungserhebungsphase gekennzeichnet sind, ist die Nachverfolgbarkeit unabdingbar, um die kontinuierliche Umsetzung der in der ersten Projektphase erhobenen Anforderungen durch die Design-, Entwicklungs-, Test- und Implementierungsphasen zu gewährleisten.
Ein effektives Werkzeug zur Gewährleistung der Nachverfolgbarkeit ist die Nachverfolgbarkeitsmatrix. Diese Matrix dient als visuelle Darstellung, die zeigt, wie jede Anforderung während der Designphase ein entsprechendes Designelement erhält. Weiterhin bestätigt die Matrix, dass jedes Designelement in der Produktionsphase realisiert, in der Testphase überprüft und letztlich implementiert wird. Umgekehrt hilft die Matrix dabei sicherzustellen, dass keine Elemente entworfen und produziert werden, die nicht den festgelegten Anforderungen entsprechen.
Ein beispielhafter Aufbau einer Nachverfolgbarkeitsmatrix könnte folgendermaßen aussehen:.
Anforderung | Quelle | Design-komponenten | Konstruktions-komponenten | Test-komponenten |
R-001 | Verkaufsgruppe xx | Dxx1-R001 | Bxx1-R001 | Txx1-R001 |
R-002 | Finanzgruppe xy | Dxy1-R002 | Bxy1-R002 |
Txy1-R002 Txy2-R002 |
R-003 | Sponsor |
Dxz1-R003 Dzz1-R003 |
Bxz1-R003 Bzz1-R003 |
Txz1-R003 |
Die Nachverfolgbarkeitsmatrix ist nicht nur ein Instrument zur Überwachung, sondern auch zur Qualitätssicherung, indem sie gewährleistet, dass jede Anforderung im finalen Produkt berücksichtigt wird. Durch die Verwendung spezialisierter Softwarepakete kann die Verwaltung dieser Matrix und damit die Nachverfolgung der Anforderungen erheblich erleichtert werden.
Auswahl und Priorisierung von Anforderungen
Die MoSCoW-Methode ist eine effektive Priorisierungstechnik. Dabei steht MoSCoW für ein Akronym, das sich aus dem ersten Buchstaben jeder der vier Kategorien von Anforderungen zusammensetzt, die in absteigender Reihenfolge der Wichtigkeit klassifiziert sind. Auf Deutsch können diese vier abnehmenden Wichtigkeitsniveaus der Anforderungen als Niveau 1: Muss (unverzichtbar), Niveau 2: Sollte (wichtig), Niveau 3: Könnte (optional) und Niveau 4: Wird-nicht umgesetzt (unwesentlich) ausgedrückt werden.
Die wörtliche Übersetzung wäre „man muss haben“, „man sollte haben“, „man könnte haben“ und „man wird nicht haben“.
Die unverzichtbaren Anforderungen (Niveau 1: Muss) befinden sich auf der obersten Stufe der Wichtigkeit. Sie sind entscheidend für den Erfolg der Lösung oder Iteration. Das Fehlen auch nur einer einzigen unverzichtbaren Anforderung wird als Misserfolg angesehen. Bestimmte Anforderungen, die zunächst als wesentlich erachtet wurden, können später von den relevanten Stakeholdern herabgestuft werden, zum Beispiel wenn neue Anforderungen auftauchen, die als noch wichtiger angesehen werden.
Auf der zweiten Ebene stehen die wichtigen, jedoch nicht unverzichtbaren Anforderungen für die aktuelle Lieferung (Niveau 2: Sollte).
Beachten Sie, dass wir in unserem Beispiel in der Einheit über Projektinitiierung die MoSCoW-Technik verwenden konnten, um die Erfolgskriterien des Projekts zu definieren. Im Projektauftrag formulierten wir, dass das Projekt als erfolgreich betrachtet wird, wenn alle unverzichtbaren Anforderungen und 80 % der wichtigen Anforderungen umgesetzt werden, ohne bereits zu diesem Zeitpunkt zu wissen, welche konkreten Anforderungen als unverzichtbar und welche als wichtig eingestuft würden.
Auf der dritten Wichtigkeitsebene stehen die optionalen Anforderungen (Niveau 3: Könnte). Sie sind wünschenswert, aber weniger wichtig und sicherlich nicht wesentlich. Sie könnten die Benutzererfahrung zu geringen Entwicklungskosten verbessern. Diese Anforderungen werden in der Regel in die Lösung aufgenommen, wenn Zeit und Ressourcen dies zulassen.
Schließlich werden die unwesentlichen Anforderungen (Niveau 4: Wird-nicht umgesetzt) der vierten Wichtigkeitsebene zugewiesen. Diese Anforderungen werden nicht umgesetzt, da sie von den Stakeholdern als am wenigsten kritisch, rentabel oder notwendig für die Lösung oder für die aktuelle Lieferung angesehen werden. Möglicherweise werden sie in späteren Versionen der Lösung erneut in Betracht gezogen.
Abschließend ein kurzes Wort zum Unterschied zwischen funktionalen Anforderungen und Qualitätsattributen, auch bekannt als nicht-funktionale Anforderungen.
Funktionale Anforderungen beziehen sich auf Aktionen, das heißt, den Prozess, den ein System durchführen muss, während Qualitätsattribute sich darauf beziehen, wie ein System sein sollte oder auf Funktionsbeschränkungen.
Die nachfolgende Tabelle bietet Beispiele von Funktionalen Anforderungen und Qualitätsattribute.
„Bitte halten Sie das Video an und schauen Sie sich die folgende Tabelle an.“
Funktionale Anforderungen | Qualitätsattribute (nicht-funktionale Anforderungen) |
Der Benutzer MUSS sich über eine Web-Oberfläche anmelden können | Das System MUSS auf Anmeldeanfragen innerhalb von 1 Sekunde reagieren (Leistung) |
Das System muss dem Benutzer alle vergangenen und aktuellen Transaktionen anzeigen | Der Status der aktuellen Transaktionen muss in 10 ms aktualisiert werden. (Leistung) |
Wenn sich ein Kunde im System registriert, muss das System eine E-Mail senden | Die E-Mail an neu registrierte Benutzer muss 2 Sekunden nach der Registrierung gesendet werden (Leistung) |
Das System muss auf Android, Windows und iOS laufen (Betriebsfähigkeit). | |
EDas System muss sich drahtlos mit Druckern verbinden können (Betriebsfähigkeit). |
Eine weitere wichtige Unterscheidung betrifft Anforderungen und Spezifikationen, da beide Begriffe manchmal als synonym verwendet werden. Sie sind zwar ähnlich, aber nicht identisch. Spezifikationen sind detaillierter und technischer als Anforderungen. Sie enthalten spezifische Maße, Materialien, Methoden und sogar Algorithmen, die während des Entwicklungsprozesses verwendet werden. Anforderungen hingegen beschreiben die allgemeinen Funktionen, die das System oder Produkt erfüllen muss, ohne sich auf die spezifische Implementierung einzulassen.
Rekapitulieren wir die hier behandelten Begriffe folgendermaßen: Die drei Elemente – funktionale Anforderungen, Qualitätsattribute und Spezifikationen – spielen unterschiedliche, aber miteinander verbundene Rollen in der Entwicklung und dem Design von Produkten oder Systemen:
Die Zusammenfassung lautet wie folgt: