Zusammenfassung

Der Zweck der Anforderungsentwicklung (RD) (CMMI-DEV) ist, Kundenan-forderungen sowie Anforderungen an Produkte und Produktbestandteile herauszufinden, zu analysieren und zu etablieren.

Beschreibung

Dieses Prozessgebiet beschreibt drei Arten von Anforderungen: Kundenanforderungen, Produktanforderungen und Anforderungen an Produktbestandteile. Zusammengenommen umfassen diese Anforderungen die Bedürfnisse der relevanten Stakeholder, einschließlich der für die verschiedenen Produktlebenszyklusphasen (z.B. Kriterien für Abnahmeprüfungen) und Produktattribute (z.B. Reaktionsgeschwindigkeit, Sicherheit, Zuverlässigkeit, Wartbarkeit). Anforderungen berücksichtigen außerdem Einschränkungen, die sich aus der Auswahl von Lösungsansätzen (z.B. Integration von Standardprodukten oder Verwendung eines bestimmten Architekturmusters) ergeben.

Alle Entwicklungsprojekte haben Anforderungen. Anforderungen bilden die Grundlage für das Design. Die Anforderungsentwicklung umfasst folgende Aktivitäten:

  • Ermittlung, Analyse, Validierung und Kommunikation von Kundenbedürfnissen, Erwartungen und Einschränkungen, um priorisierte Kundenanforderungen zu ermitteln, die ein Verständnis dessen widerspiegeln, was die Stakeholder zufriedenstellen wird
  • Sammlung und Koordination der Bedürfnisse der Stakeholder
  • Entwicklung der Lebenszyklusanforderungen des Produkts
  • Etablierung der funktionalen und qualitativen Kundenanforderungen
  • Festlegung der ersten Anforderungen an Produkte und Produktbestandteile in Übereinstimmung mit den Kundenanforderungen


Da der Kunde unter Umständen auch besondere Anforderungen an das Design stellt, berücksichtigt dieses Prozessgebiet nicht nur die Anforderungen auf Produktebene, sondern sämtliche Kundenanforderungen.

Kundenanforderungen werden zu Anforderungen an Produkte und Produktbestandteile verfeinert. Neben den Kundenanforderungen werden die Anforderungen an Produkte und Produktbestandteile aus den ausgewählten Entwurfslösungen abgeleitet. In allen Prozessgebieten schließt die Bedeutung der Begriffe »Produkt« und »Produktbestandteil« auch Dienstleistungen, Dienstleistungssysteme und deren Bestandteile ein.

Anforderungen werden im Laufe der Phasen des Produktlebenszyklus identifiziert und verfeinert. Designentscheidungen, darauf folgende Korrekturmaßnahmen und Rückmeldungen in jeder Phase des Produktlebenszyklus werden bezüglich ihrer Auswirkungen auf abgeleitete oder zugewiesene Anforderungen analysiert.

Das Prozessgebiet »Anforderungsentwicklung« umfasst drei spezifische Ziele. Das spezifische Ziel »Kundenanforderungen entwickeln« betrifft die Definition eines Satzes von Kundenanforderungen, der bei der Entwicklung der Produktanforderungen zum Einsatz kommt. Das spezifische Ziel »Produktanforderungen entwickeln« umfasst die Definition eines Satzes von Anforderungen an Produkte oder Produktbestandteile, der beim Entwurf von Produkten und Produktbestandteilen zum Einsatz kommt. Das spezifische Ziel »Anforderungen analysieren und validieren« umfasst die Analyse der Kundenanforderungen sowie der Anforderungen an Produkte und Produktbe-standteile, um die Anforderungen zu definieren, abzuleiten und zu verstehen. Die spezifischen Praktiken des dritten spezifischen Ziels haben die Aufgabe, die spezifischen Praktiken der ersten beiden spezifischen Ziele zu unterstützen. Die mit den Prozessgebieten Anforderungsentwicklung« und »Technische Umsetzung« verbundenen Prozesse können einander rekursiv beeinflussen.

Analysen dienen dazu, die Anforderungen auf allen Ebenen zu verstehen, zu definieren und zwischen konkurrierenden Alternativen zu wählen. Diese Analysen umfassen Folgendes:

  • Analyse der Bedürfnisse und Anforderungen jeder Produktlebenszyklusphase. Dazu zählen die Bedürfnisse relevanter Stakeholder und der Betriebsumgebung sowie Faktoren, die die allgemeinen Erwartungen und die Zufriedenheit der Kunden und Endanwender widerspiegeln, z.B. Sicherheit und Erschwinglichkeit.
  • Entwicklung eines Betriebskonzepts
  • Definition des verlangten Funktionsumfangs und der Qualitätsattribute


Diese Definition des verlangten Funktionsumfangs und der Qualitätsattribute beschreibt, was das Produkt tun soll. (Die Definition von »Definition des verlangten Funktionsumfangs und der Qualitätsattribute« finden Sie im Glossar.) Diese Definition kann Beschreibungen, Zerlegungen und eine Gliederung der Funktionen (oder in objektorientierter Software in »Dienste« oder »Methoden«) des Produkts enthalten.

Außerdem spezifiziert die Definition Designaspekte oder Einschränkungen zur Realisierung des verlangten Funktionsumfangs im Produkt. Qualitätsattribute sprechen Dinge wie Produktverfügbarkeit, Wartbarkeit, Modifizierbarkeit, Zeitverhalten, Durchsatz, Reaktionsgeschwindigkeit, Zuverlässigkeit, Sicherheit und Skalierbarkeit an. Einige Qualitätsattribute werden wichtig in Bezug auf die Produktarchitektur sein und daher einen entscheidenden Einfluss auf deren Entwicklung haben.

Solche Analysen erfolgen rekursiv auf aufeinanderfolgenden, immer detaillierteren Ebenen einer Produktarchitektur, bis genügend Einzelheiten verfügbar sind, um das Detaildesign, die Beschaffung sowie das Testen des zu entwickelnden Produkts zu ermöglichen. Die Analyse der Anforderungen und des Betriebskonzepts (einschließlich Funktionalität, Unterstützung, Instandhaltung und Entsorgung) führt dazu, dass aus dem Herstellungs- oder Produktionskonzept weitere abgeleitete Anforderungen hervorgehen, die unter anderem folgende Punkte berücksichtigen:

  • Einschränkungen unterschiedlicher Art
  • Technologische Beschränkungen
  • Kosten und Kostentreiber
  • Zeitliche Einschränkungen und Treiber für den Terminplan
  • Risiken
  • Berücksichtigung implizierter Probleme, die nicht direkt vom Kunden oder Endanwender benannt werden
  • Faktoren, die sich aus den individuellen geschäftlichen Erwägungen des Entwicklers, Vorschriften und Gesetzen ergeben


Eine Hierarchie logischer Einheiten (z.B. Funktionen und Unterfunktionen, Objektklassen und Unterklassen, Prozesse oder andere Architekturelemente) wird durch Iteration in Verbindung mit dem sich ständig weiterentwickelnden Betriebskonzept etabliert. Anforderungen werden verfeinert, abgeleitet und diesen logischen Einheiten zugewiesen. Anforderungen und logische Einheiten werden Produkten, Produktbestandteilen, Personen oder zugehörigen Prozessen zugewiesen. Bei der iterativen oder inkrementellen Entwicklung werden die Anforderungen darüber hinaus den Iterationen oder Inkrementen zugewiesen.

Durch die Einbindung relevanter Stakeholder in die Anforderungsentwicklung und -analyse erhalten diese Einblick in die fortlaufende Entwicklung der Anforderungen. Auf diese Weise bekommen sie laufend eine Rückversicherung, dass die Anforderungen ordnungsgemäß definiert werden.

Bei Produktlinien können Entwicklungsprozesse (einschließlich Anforderungsentwicklung) auf mindestens zwei Ebenen in der Organisation angewandt werden. Auf Organisations- oder Produktlinienebene wird eine »Gemeinsamkeitsund Abweichungsanalyse« durchgeführt, um projektübergreifende Kernelemente der Produktlinie herauszufinden, zu ana-lysieren und zu etablieren. Auf der Projektebene werden diese Kernelemente dann im Rahmen der Entwicklungstätigkeiten des Produkts nach dem Produktionsplan der Produktlinie verwendet.

 

In agilen Umgebungen werden Kundenanforderungen und -ideen iterativ erhoben, ausgearbeitet, analysiert und validiert. Anforderungen werden in Form von User Stories, Szenarien, Use Cases, Produkt-Backlogs und den Ergebnissen der Iterationen (bei Software in Form funktionierenden Codes) dokumentiert. Welche Anforderungen in einer gegebenen Iteration angegangen werden, hängt von einer Bewertung der Risiken und von den Prioritäten der übrigen Punkte auf dem Produkt-Backlog ab. Welche Einzelheiten von Anforderungen (und anderen Artefakten) dokumentiert werden, hängt von der Notwendigkeit der Koordination (zwischen Teammitgliedern, Teams und späteren Iterationen) und dem Risiko ab, Gelerntes wieder zu vergessen. Wenn der Kunde zum Team gehört, kann es immer noch eine Notwendigkeit für eine separate Kunden- und Produktdokumentation geben, um mehrere Lösungen untersuchen zu können. Während die Lösung entsteht, werden die Verantwortlichkeiten für die abgeleiteten Anforderungen den passenden Teams zugewiesen (siehe »Interpretation von CMMI bei der Verwendung agiler Vorgehensweisen« in Teil I). =examples.

Referenzen

Mehr zum Sicherstellen der Schnittstellenkompatibilität steht im Prozessgebiet »Produktintegration (PI) (CMMI-DEV)«.


Mehr zur Auswahl von Lösungen für Produktbestandteile und zur Entwicklung des Entwurfs steht im Prozessgebiet »Technische Umsetzung (TS) (CMMI-DEV)«.


Mehr zur Validierung von Produkten oder Produktbestandteilen steht im Prozessgebiet »Validierung (VAL) (CMMI-DEV)«.


Mehr zur Verifizierung ausgewählter Arbeitsergebnisse steht im Prozessgebiet »Verifizierung (VER) (CMMI-DEV)«.


Mehr zur Verfolgung und Lenkung von Änderungen steht im Prozessgebiet »Konfigurationsmanagement (CM) (CMMI-DEV)«.


Mehr zur Verwaltung von Anforderungen steht im Prozessgebiet »Anforderungsmanagement (REQM) (CMMI-DEV)«.


Mehr zur Erkennung und Analyse von Risiken steht im Prozessgebiet »Risikomanagement (RSKM) (CMMI-DEV)«.

Beinhaltet

RD.SG 1 Kundenanforderungen Entwickeln
Bedürfnisse, Erwartungen, Einschränkungen und Schnittstellen der Stakeholder werden gesammelt und in Kundenanforderungen…
RD.SG 2 Produktanforderungen Entwickeln
Kundenanforderungen werden verfeinert und ausgearbeitet, um Anforderungen an das Produkt und die Produktbestandteile zu …
RD.SG 3 Anforderungen Analysieren und Validieren
Die Anforderungen werden analysiert und validiert.
RD.GG 1 Spezifische Ziele Erreichen
Die spezifischen Ziele des Prozessgebiets Anforderungsentwicklung (RD) (CMMI-DEV) werden durch die Arbeitsabläufe unter…
RD.GG 2 Geführte Prozesse Institutionalisieren
Arbeitsabläufe sind als geführte Prozesse institutionalisiert.
RD.GG 3 Definierte Prozesse Institutionalisieren
Arbeitsabläufe sind als definierte Prozesse institutionalisiert.