REQUIREMENTS ENGINEERING
„Lieber vorher analysieren als nachher zu kapitulieren“ – so kurz könnte man die Kernidee des Anforderungsmanagements zusammenfassen. Zu oft entsprechen Projektergebnisse nicht den Vorstellungen des Auftraggebers. Interessen der Stakeholder und die der Auftragnehmer treffen sich nur approximativ oder gleiten vollkommen voneinander ab. Der Grund dafür liegt meist im Anfangsstadium der Projektplanung, wenn die Anforderungen durch den Kunden beispielsweise nicht klar formuliert werden. Ob bei kleinen oder komplexen Projekten, der Anforderungsdefinition sollte zu Beginn und im Laufe der Projektlaufzeit viel Wert zugesprochen werden. Strukturierte Kommunikation ist, wie in vielen anderen Prozessen auch, ein Lebensretter – oder in diesem Falle ein Projektretter. Bevor man das Projekt also startet, müssen alle wichtigen Anforderungen definiert werden. Der Begriff Requirements Engineering geht etwas über die Definition des einfachen Anforderungsmanagements hinaus. Requirement bedeutet Anforderung und Engineering bezieht sich auf die technische Planung und Vorgehensweise. Davon abgeleitet kann man sagen, dass das Ziel des Requirements Engineerings die Definition, Analyse, Verwaltung sowie Prüfung der Anforderungen ist. Mit dem erstellten kollektivem Anforderungsprofil im Endstadium der RE-Tätigkeiten, lassen sich Projektumfang, Kosten oder Laufzeit besser einkalkulieren.
Diese Zielvorstellung setzt die Rahmenbedingungen für die weiteren Tätigkeiten fest und beeinflusst gleichermaßen auch die Qualitätssicherung. Präzise formulierte und somit nachvollziehbare Anforderungen, erleichtern die Umsetzung eines Projektes in die Realität. Es existieren noch weitere Rahmenbedingungen, die bezogen auf die RE-Tätigkeiten mitberücksichtigt werden sollten. Abgesehen von technologischen oder organisatorischen Aspekten, die meist in der Phase der Anforderungsdefinition geklärt werden, gibt es noch die rechtlichen und ethischen Aspekte, die man beachten muss, um die Realisierungsmöglichkeiten des Projektes zu sichern.
Wichtig zu klären wäre, welche Eigenschaften Anforderungen besitzen. Man unterscheidet zwischen funktionalen und nicht-funktionalen Anforderungen. Aber was ist der Unterschied? Funktionale Anforderungen legen, wie der Name schon verrät, fest, welche Funktion das Projekt erfüllen soll. Die Fragestellung sollte also mit „was“ beginnen. Bei nicht-funktionalen Anforderungen geht es inhaltlich darum, wie das Projekt die erwünschten Ergebnisse erzielen kann. Die Fragestellung sollte also mit „wie“ beginnen. Qualität, Zuverlässigkeit und Randbedingungen wie Budget oder Abschlusstermin spielen hier eine große Rolle.
Ganz allgemein sollten Anforderungen jedoch,
- die Interessen der Stakeholder sowie der Auftragnehmer beinhalten,
- vollständig und klar formuliert werden,
- realisierbar sein,
- sofern sie neu sind, an bestehende zeitnah angepasst werden und
- aus Kompromissen entstehen können anstatt aus Unstimmigkeiten.
Dokumentation dieser Anforderungen versichert, dass man nachweisen kann wie diese entstanden sind und ermöglicht die Generierung einer Checkliste für die Prüfung der Umsetzung der vorgegebenen Richtlinien. Andernfalls kann es vorkommen, dass Projekte stets zu Beginn zum Scheitern verurteilt sind. Dies vom Auftragnehmer aber zu spät realisiert wird und dieser folglich mit schwerwiegenden Konsequenzen rechnen muss.
Die Hauptaufgabe des Requirements Engineerings ist, wie zu Beginn erläutert, die Definition, Analyse, Verwaltung sowie Prüfung der Anforderungen.
Definition:
Verantwortliche für die Projektzusammenarbeit sowie die Stakeholder müssen festgelegt werden. Rahmenbedingungen und Projektumfang sollten im groben allen Teilnehmern klar sein. Potentielle und aktuelle Anforderungen sowohl von Auftragnehmer als auch von Auftraggeber sollten detailliert ermittelt werden.
Analyse:
Im vorherigen Schritt wurden die Anforderungen mit einer unstrukturierten Herangehensweise ermittelt. Die gesammelten Ergebnisse müssen jetzt nach bestimmten Kriterien in eine Reihenfolge gebracht werden. In dieser Phase soll eine Gelegenheit geschaffen werden, auftretende Unstimmigkeiten zu beseitigen und Kompromisse zu finden. Veränderungen benötigen eine neue Definition der Anforderungen. Das Ergebnis muss strukturiert dokumentiert werden.
Verwaltung:
Falls neue Anforderungen in den Prozess mit einbezogen werden, dann können diese in der Verwaltungsphase bearbeitet werden. Die Nachverfolgbarkeit der bestehenden Anforderungen und der aktualisierten Anforderungen muss gegeben sein. Jegliche Änderungen müssen dokumentiert werden.
Prüfung:
Der letzte Schritt vor Projektstart: checken, ob das was bisher festgehalten wurde, wirklich den Vorstellungen des Auftraggebers entspricht. Wenn nicht, müssen Korrekturmaßnahmen vorgenommen werden. Falls Anpassungen der Anforderungen nicht möglich sind, müssen diese neu definiert werden.
Absprachen können Zeit in Anspruch nehmen, erhöhen aber die Wahrscheinlichkeit, dass man eine qualitativ hochwertige Leistung erbringen kann. Glatte Kommunikation hilft Missverständnisse auszuschließen und spart unnötige Nacharbeitsschritte. Eigentlich ganz logisch, oder?
Ihr invenio Academy Team