Kontrolle im Produktentstehungsprozess
Was sind Anforderungen?
Im Produktentstehungsprozess sind Anforderungen Fähigkeiten, die ein Produkt erfüllen muss, um die Bedürfnisse eines Benutzers zur Lösung eines Problems zu erfüllen. Die Bedürfnisse des Benutzers können aus einer Reihe von Quellen kommen, darunter die Einhaltung einer Norm oder gesetzlicher Vorschriften, ein Geschäftsbedarf, ein Geschäftsproblem, Marktbedarf und Wettbewerb.
Anforderungen lassen sich in funktionale und nicht-funktionale Anforderungen unterteilen. Funktionale Anforderungen sind Fähigkeiten, die das Produkt erfüllen muss, um spezifische Benutzeranforderungen zu erfüllen. Sie sind die grundlegendsten Anforderungen. Funktionale Anforderungen werden manchmal als Geschäftsanforderungen bezeichnet. Sie beschreiben Fähigkeiten, die das beabsichtigte Produkt erbringen kann, damit Geschäftsanwender einen Teil ihrer Arbeit erledigen und ihre operative Arbeit fortsetzen können.
Nichtfunktionale Anforderungen umfassen Benutzerfreundlichkeit, Leistung, Zuverlässigkeit und Sicherheitsanforderungen. Das sind Eigenschaften, die das Produkt haben muss. Auch die technischen Anforderungen fallen unter die Kategorie der Nicht-Funktionalität. Nichtfunktionale Anforderungen sind nicht weniger wichtig als funktionale Anforderungen. In einigen Projekten gelten fertiggestellte Produkte, die alle funktionalen Anforderungen erfüllen, aber auch nur eine wichtige nicht-funktionale Anforderung nicht erfüllen, als Projektversagen.
Anforderungen vs. Umfang
Sind Produktanforderungen gleichbedeutend mit dem Produktumfang? Der Produktumfang wird definiert als die Merkmale und Funktionen, die ein Produkt, eine Dienstleistung oder ein Ergebnis charakterisieren. Die Fertigstellung des Produktumfangs wird an den Produktanforderungen gemessen. Anforderungen setzen den Rahmen im Produktentstehungsprozess. Es wird zwar nicht empfohlen, mehr als die angegebenen Anforderungen in den Produktumfang aufzunehmen, aber die Bereitstellung von weniger als den vom Benutzer angegebenen Anforderungen entspricht nicht den Erwartungen.
Warum ist Anforderungsmanagement so wichtig?
Ineffektive Prozesse im Anforderungsmanagement sind eine der Hauptursachen für das Scheitern im Produktlebenszyklus. Insbesondere Scope Creeps (Änderungen, kontinuierliches oder unkontrolliertes Projektumfangswachstum nach Projektbeginn) oder die Unfähigkeit, sie zu kontrollieren, sind eine häufige Ursache für Kostenüberschreitungen oder Verzögerungen.
Erfolgreiche Projekte hängen stark von gut verstandenen Anforderungen und Vorschlägen ab sowie daran, wie man Fallen vermeiden kann, um Anforderungen effektiv zu sammeln, zu dokumentieren oder zu verwalten.
Anforderungsprobleme sollten sehr früh im Produktlebenszyklus angegangen werden, da Designprobleme, die auf schlechten Anforderungen beruhen, zu Problemen führen, die nach dem Produktentwicklungsprozess (zum Beispiel in der Produktionsphase) schwieriger und teurer zu lösen sind. Investitionen in Anforderungsprozesse, die von Beginn des Produktentstehungsprozess an umgesetzt werden, zahlen sich am Ende aus.
Gründe für das Scheitern von Projekten
Forschungsstudien (Standish Group, 1995) über Projektversagen haben die folgenden Gründe für das Scheitern des Projekts identifiziert:
- Unvollständige Anforderungen
- Benutzer wurden nicht einbezogen
- Zu wenig Ressourcen/Planung
- Unrealistische Erwartungen
- Fehlende Unterstützung durch das Management
- Veränderte Anforderungen
- Schlechte Planung
- Nicht länger benötigt
Die häufigsten Gründe für ein Scheitern des Projekts sind nicht alle mit Anforderungsproblemen verbunden. Allerdings müssen Anforderungs- und Projektfragen so früh wie möglich im Produktlebenszyklus gelöst werden. Wenn sie in der Mitte des Lebenszyklus der Projektentwicklung aufgeworfen werden, können viele nicht mit den Anforderungen verbundene Themen behoben werden und der Produktentstehungsprozess kann ohne nennenswerten Verlust der Ergebnisse fortgesetzt werden.
Die Lösung von Anforderungsproblemen erfordert jedoch in der Regel, dass die Beteiligten im Produktentwicklungsprozess von Anfang an bei der Definition / Klärung von Anforderungen involviert sind.
Im aktuellen Stand des Anforderungsmanagements, insbesondere in der IT-Branche, werfen Projektmanager Anforderungsprobleme auf und heben sie hervor. Sie versuchen Anforderungsprozesse zu nutzen, um die Probleme zu lösen. Wenn Projektmanager die gewonnenen Erkenntnisse nutzen, um ein Wiederauftreten von Anforderungsproblemen zu verhindern, können viele Anforderungsprobleme bereits in der frühen Phase der Projektentwicklung gefunden und gelöst oder im Produktentwicklungsprozess beseitigt werden.
Das ist nicht ganz so einfach, denn viele Anforderungsprozesse erfordern die Einbeziehung und Beteiligung der Kunden sowie deren Kooperation und Zusammenarbeit. Einige Anforderungsprozesse stellen Implementierungsprobleme dar.
Anforderungsmanagementprozesse
Das Anforderungsmanagement besteht aus den folgenden Prozessen: Bedarfsplanung, Anforderungsentwicklung, Anforderungsverifizierung und Anforderungsmanagement. Es umfasst Prozesse zum Planen, Sammeln, Definieren, Verfeinern, Organisieren, Dokumentieren, Testen von Anforderungen, Überprüfen, ob Anforderungen erfüllt werden, Verfolgen und Kontrollieren von Anforderungsänderungen.
Bedarfsplanung
Die Bedarfsplanung ist der Prozess, der die Entwicklung, Überprüfung und Genehmigung eines Anforderungsmanagementplans umfasst. Der Anforderungsmanagementplan muss von allen relevanten Interessengruppen (Kunden, Benutzer, Entwicklungs- / Designteamleiter / Manager) überprüft und von Projektsponsoren und wichtigen Interessengruppen genehmigt werden.
Anforderungsentwicklung
Die Anforderungsentwicklung besteht aus der Erfassung und Erhebung von Anforderungen, der Anforderungsanalyse und der Anforderungsdefinition.
Sammeln & Auslösen
Anforderungen können bekannt oder unbekannt sein. Der Zweck der Anforderungserfassung ist es, so viele bekannte Anforderungen wie möglich zu sammeln. Obwohl es einfach erscheint, Anforderungen von Benutzern zu sammeln, die Informationen aufzuzeichnen und zu dokumentieren, ist es oft schwierig, genaue und organisierte Informationen zu erhalten. Informationen können in verschiedenen Formen (zum Beispiel per E-Mail, Einzelgespräche, in einer Telefonnachricht, Besprechungen) und in verschiedenen Formaten (zum Beispiel in Dokumenten, in einer Datenbank oder einer Tabelle) bereitgestellt werden.
Das Klären, Organisieren und Priorisieren der Informationen kann eine sehr zeitaufwändige und schwierige Aufgabe sein. Der Zweck der Erhebung ist es, die Bedürfnisse und Einschränkungen der verschiedenen Projektbeteiligten zu ermitteln. Die Ergebnisse dieses Prozesses sind ein gemeinsames Verständnis der Projektbeteiligten für die Bedürfnisse der Nutzer.
Anforderungsdefinition
Die Anforderungsdefinition ist der Prozess der Organisation, Dokumentation, Definition und Verfeinerung von Anforderungen. Die Spezifikationen sind eine Dokumentation der Produktanforderungen. Die genehmigten Anforderungen sind eine Dokumentation des vereinbarten Produktumfangs. Es handelt sich um einen Vertrag des zu entwickelnden Produkts zwischen den Geschäftskunden (manchmal vertreten durch den Produktsponsor) und den Produktentwicklern.
In Fällen, in denen die Entwicklung des Produkts an eine externe Gruppe oder Organisation ausgelagert wird, ist die Anforderungsdefinition ein integraler Bestandteil im Produktentwicklungsprozess. Wie bei jedem Vertrag muss die Spezifikation sehr detailliert dokumentiert und von den zuständigen Interessengruppen unterzeichnet werden.
Obwohl von allen Beteiligten erwartet wird, dass sie sehr detailliert und gut verstanden werden, müssen die Anforderungen die Bedürfnisse der Benutzer definieren - was von dem Produkt erwartet wird und nicht, wie die Bedürfnisse der Benutzer im Produkt berücksichtigt werden. Entwickler müssen die Anforderungen vollständig verstehen (was das Problem der Benutzer ist), um die Lösung entwickeln zu können (wie man das Problem löst). Es ist üblich, eine Standardvorlage innerhalb einer Organisation zu verwenden.
Eine Standardvorlage, die funktionale und nicht-funktionale Anforderungen, Einschränkungen und Annahmen definiert, ist ein nützliches Werkzeug zur Dokumentation und Berichterstattung. Eine Reihe von System- / Software-Tools sind verfügbar, um Berichtsanforderungen zu organisieren, zu priorisieren und zu erfüllen. Ein Projektstrukturplan (PSP) ist ein gängiges Werkzeug zur Identifizierung aller Produktleistungen.
Der PSP definiert die Arbeitsergebnisse so detailliert, dass jede lieferbare Komponente einfach verwaltet werden kann (in Bezug auf Kosten, Qualität und Zeitplan). Manchmal wird der IEEE-Standard 803-1998 Recommended Practice for Software Requirements Specifications (IEEE 1998) als Vorlage für die Anforderungsspezifikation in Softwareprojekten verwendet. Viele Unternehmen beginnen mit einer in der Branche gebräuchlichen Vorlage und passen die Vorlage an die Bedürfnisse des Unternehmens an.
Anforderungsanalyse
Eng verbunden mit der Anforderungserfassung und -erhebung ist die Anforderungsanalyse. Der Zweck der Anforderungsanalyse ist es, unbekannte Anforderungen zu erkennen, also unbekannte Anforderungen in bekannte Anforderungen zu verwandeln. Die Bedürfnisse der Benutzer, die bei der Anforderungserfassung und -erhebung nicht zum Ausdruck kamen, können durch die Anforderungsanalyse ermittelt werden. Für das Projekt ist es von Vorteil, wenn unbekannte oder verpasste Anforderungen so früh wie möglich im Produktlebenszyklus entdeckt werden. Dadurch werden die Kosteneffekte von Anforderungsänderungen minimiert.
Anforderungsverifizierung
Die Anforderungsverifizierung ist der Prozess, bei dem sichergestellt wird, dass alle genannten Anforderungen erfüllt werden. Dieser Prozess wird während der gesamten Anforderungsphase im Produktentstehungsprozess durchgeführt. Er beinhaltet eine Analyse, wie die Anforderungen im Entwicklungsplan behandelt werden, sowie Tests und Validierungen der Benutzerakzeptanz.
Anforderungsmanagement Change Management
Anforderungsmanagement Change Management umfasst die Implementierung eines (Anforderungs-)Change Control Systems in Übereinstimmung mit einem integrierten Projekt Change Control System und die Verwaltung der tatsächlichen Umsetzung von Änderungen (genehmigte Änderungsanforderungen).
Das Change Management geht Hand in Hand mit der Anforderungsentwicklung und -verifizierung. Es ist ein wesentlicher Bestandteil des Anforderungsmanagements. Der Anforderungsmanagementplan ist ein Beitrag zu diesem Prozess und muss die kritischen Komponenten definieren, einschließlich des Änderungskontrollsystems, des Change Control Boards als Kontroll- und Entscheidungsorgan für die Bearbeitung von Änderungsanträgen, etwaige Ausnahmen / Begrenzungen des Prozesses und zulässige Abweichungen.
Effektives Anforderungsmanagement
Ein effektiver Anforderungsmanagementprozess muss alle vier oben definierten Anforderungsprozesse umfassen: Bedarfsplanung, Anforderungsentwicklung, Anforderungsverifizierung und Anforderungsmanagement. Keiner der vier Prozesse ist optional, um sicherzustellen, dass alle Anforderungen gut verstanden, früh genug im Produktentwicklungsprozess erkannt, im Entwicklungsplan berücksichtigt und im Endprodukt erfüllt werden.
Es gibt viele Werkzeuge und Techniken, die für diese Anforderungsprozesse verwendet werden können, einschließlich System- / Software-Tools zur Organisation und Dokumentation von Anforderungen, Vorlagen für die Definition und Berichterstattung von Anforderungen, Sammel- und Auslesetechniken, Test- und Verifikationswerkzeuge und Werkzeuge für das Change Management. Die nützlichsten Werkzeuge sind diejenigen, die alle oben genannten Prozesse umfassen und diejenigen, die eingesetzt werden, wenn die Anforderungsprozesse als formale standardisierte Prozesse mit definierten Inputs, Tools und Techniken und Outputs implementiert werden.
Zusammenfassend lässt sich sagen, dass ein effektiver Prozess im Anforderungsmanagement alle vier oben definierten Prozesse umfassen muss: Anforderungsplanung, Anforderungsentwicklung, Anforderungsverifizierung und Anforderungsmanagement sowie eine zugehörige formale organisatorische Standardimplementierung für jeden Prozess. Durch den Einsatz geeigneter Software lassen sich die Anforderungen in jeder Phase exakt dokumentieren und nachverfolgen. Dies dient der Qualitätssicherung und spart zugleich Kosten.
Quellen:
Kerzner, H. (2003) Project Management
A guide to the project management body of knowledge (2004)
Visitacion, M. (2003) A Practical Guide to Requirements Management
Young. R. (2003) The Requirements Handbook