Effizientes Anforderungsmanagement entscheidend für Projekterfolg
Zahlreiche Untersuchungen bestätigen, dass fehlendes oder ineffektives Anforderungsmanagement (Requirements Management) zu den Hauptursachen für das Scheitern von Softwareprojekten zählt. Dies gilt im Besonderen für Großprojekte. Unter Anforderungsmanagement versteht man einen Prozess, der zum einen auf die systematische Erhebung, Organisation und Dokumentation von Anforderungen an ein Softwaresystem ausgerichtet ist und zum anderen definiert, wie Anforderungsänderungen in bestehende Anforderungen eingebunden werden (Change Management). Durch die Verwendung geeigneter Kennzahlen lässt sich die Effektivität des Anforderungsmanagements signifikant erhöhen. Function Points können in diesem Zusammenhang einen wertvollen Beitrag leisten.
Das Problem sich verändernder Anforderungen
Selten sind die Anforderungen an ein Softwaresystem schon in frühen Projektphasen vollständig, klar und zusammenhängend. Dass sich Anforderungen im Projektverlauf ändern, ist daher ganz normal. Änderungen an sich sind unproblematisch und in gewissem Rahmen sogar wünschenswert, da letztendlich ein Produkt entstehen soll, in dem sich alle betroffenen Parteien (Stakeholder) wieder finden. Problematisch werden Änderungen erst dann, wenn sie ohne Kontrolle durch das Management umgesetzt werden und somit auch nicht in der Projektplanung berücksichtigt sind. Ziel des Anforderungsmanagements muss es daher u.a. sein, nicht geplante Erweiterungen (Scope Creep) oder auch Reduktionen am ursprünglich definierten Funktionsumfang zu verhindern bzw. zu minimieren.
Überwachen von Änderungen des Funktionsumfangs
Die Function Point-Methode stellt ein geeignetes Werkzeug dar, um Veränderungen am Funktionsumfang eines Softwaresystems erkennen und entsprechend bewerten zu können. Da sich mit ihrer Hilfe Softwarefunktionalität nach fest definierten Regeln quantifizieren lässt, erhält das Anforderungsmanagement eine objektive Messgröße, die während des Projektverlaufs auf Veränderungen hin überwacht werden kann. Immer dann, wenn neue Systemfunktionalitäten hinzugefügt bzw. bestehende Funktionen verändert oder gestrichen werden, wird der so genannte Funktionswert (= Maß für den ünterstützten fachlichen Funktionsumfang) des Softwaresystems entsprechend angepasst. Zuwächse bzw. Abnahmen am Funktionsumfang können so leicht verfolgt werden. Verlässt der Funktionswert bestimmte Toleranzgrenzen gegenüber dem zu Projektbeginn ermittelten Ausgangswert, ist das ein Indikator dafür, dass eine Anpassung des ursprünglich geplanten Entwicklungsaufwandes notwendig ist bzw. dass der für das betreffende Software-Release vorgesehene Funktionsumfang überdacht werden sollte.
Am Projektende kann der endgültige Funktionswert des bereitgestellten Softwaresystems dem ursprünglichen Planwert gegenübergestellt werden. Anhand der Höhe der Abweichung sind Rückschlüsse in Bezug auf die Effektivität der angewandten Techniken zur Anforderungserhebung und -definition möglich.
Bewertung und Priorisierung von Änderungsanforderungen
Der Function Point-Wert ist eine wichtige Entscheidungshilfe für die Bewertung und Priorisierung von Änderungsanforderungen (Change Requests), da sich mit seiner Hilfe der Umfang einer Änderungsanforderung und die daraus resultierenden Konsequenzen für die Zeit- und Budgetplanung des Projekts schnell abschätzen lassen. Die Priorisierung von Änderungsanforderungen wird somit vereinfacht.
Der Umfang der Funktionen, der letztendlich aufgrund von Änderungsanforderungen insgesamt während der Projektlaufzeit überarbeitet werden musste, wird durch die Function Point-Analyse transparent. So lässt sich darstellen, welches Einsparpotenzial sich durch eine Minimierung von Änderungen während des Projektlebenszyklus hätte erzielen lassen.
Fazit
Mittels Function Point-Analyse lässt sich Softwarefunktionalität quantifizieren und damit messen. Die Messbarkeit erleichtert es dem Anforderungsmanagement, Veränderungen am Funktionsumfang eines Softwaresystems im Projektverlauf wirksam zu kontrollieren. Für das Anforderungsmanagement stellt die Function Point-Analyse somit ein effizientes Steuerungsinstrument dar. Function Points liefern zudem wertvolles Feedback zur Identifikation von Verbesserungspotenzialen im Entwicklungsprozess.














Hennef, 27.09.2007:





