Wer je mit Softwareentwicklung zu tun hatte, weiß, dass klare Anforderungen einer der kritischen Erfolgsfaktoren für das Gelingen eines Projekts sind. Leider kommt es immer wieder vor, dass nach einer vermeintlich erfolgreich abgeschlossenen Spezifikation noch Änderungen am System notwendig werden. Denn Systems verändern sich mit dem Markt und den geschäftlichen Anforderungen.
Das Problem: Ein Umbau droht schnell, aufwändiger zu werden als ein Neubau. Nachträgliche Änderungen hinsichtlich der Anforderungen oder Spezifikationen führen zu erheblichen Schwierigkeiten und Risiken in Projekten. Trotzdem werden sie oft stiefmütterlich behandelt oder sogar völlig ignoriert. Das Resultat sind entweder Lösungen, die Kundenbelange unzureichend widerspiegeln, oder aber zusätzliche Kosten, die am Ende möglicherweise sogar die anvisierten Vorteile der Software übersteigen. Wie lässt sich das vermeiden? Und wodurch entsteht der Änderungsbedarf eigentlich?
Ursachenforschung
In Softwareprojekten hat wohl jeder schon einmal die Frage vernommen: "Wieso ändert sich unsere Spezifikation immer noch? Ich dachte die Analyse sei abgeschlossen, und die Anforderungen seien abgenommen." Die Projektbeteiligten reagieren darauf meist mit einem Schulterzucken. Scheinbar entstehend Änderungen aus dem Nichts - ohne eine konkrete Kundenanfrage.
In einem klassischen Softwareprojekt erheben am Anfang die Business-Analysten im Rahmen einer Spezifikationsphase die Anforderungen, die sie dann dokumentieren, mit den Fachbereichen abstimmen und freigegeben. Diese Spezifikationen bilden die Basis, auf der Architekten, Softwareentwickler und Tester ihre Konzepte, ausführbaren Code oder Testfälle erstellen. Mit dieser Weiterverarbeitung werden die Anforderungen aber aus einem anderen Blickwinkel beleuchtet. Das führt unweigerlich dazu, dass Lücken, Widersprüche oder andere Mängel in den Anforderungen auftauchen.
- Vier Tipps für die Softwareentwicklung
Nachträgliche Änderungen sind immer ein Ärgernis, doch in der Softwareentwicklung sind sie nie komplett auszuschließen. Dies ist kein Grund zu Verzweifeln, wenn man effizient und schnell darauf reagieren kann. Anstatt sich den Änderungen zu verweigern, sollten die Unternehmen besser nach Mitteln und Wegen suchen, wie sie schnell darauf reagieren zu können. Dazu im Folgenden vier Tipps: - Wehret den Anfängen
Die effektivste und wirtschaftlichste Möglichkeit, mit Änderungen umzugehen besteht darin, sie bereits im Vorfeld zu vermeiden. Das kann beispielsweise durch das Einholen von Feedback geschehen. Derart stabilisierte Anforderungen lassen sich frühzeitig nutzen, um in anderen Projekt-Teilteams, etwa Entwicklung oder Test, weiterführende Ergebnisse zu erzeugen. Feedback nur aufgrund von Reviews hilft vergleichsweise wenig. - Visualisierung und kurze Zyklen
Empfehlenswert ist es auch, Visualisierungen und Beispiele aus der Praxis zu nutzen. Modelle und Grafiken erhöhen die Verständlichkeit und lassen sich zudem relativ einfach konsistent halten. Fallbeispiele dienen der Veranschaulichung, vor allem auf Kundenseite, und beugen Missverständnissen vor. Durch kurze Zyklen zwischen der Spezifikation der Anforderung und deren Umsetzung sinkt zudem die Gefahr, dass Anforderungen "veralten". - Mitsprache der künftigen User
Die an der Anforderungsdefinition beteiligten Personen sollten möglichst áuch die sein, die später mit der Software arbeiten. Der direkte Bezug schafft Verantwortlichkeit und trägt enorm zur Qualität der Anforderungen bei. Lösungsorientierte Anforderungen sind meist besonders anfällig für Änderungen. Deshalb sollten von Lösung und Anforderung voneinander getrennt werden: Das dokumentierte "Was" ist deutlich stabiler als das festgehaltene "Wie". Auf keinen Fall darf die Dokumentation ausufern. - Formaler Änderungsprozess
Die meisten Projekte verfügen durchaus über einen definierten Prozess, wie sie mit neuen Anforderungen umgehen. Es hapert nur an der Integration der kontinuierlichen Weiterentwicklung von bereits dokumentierten Anforderungen. Grundvoraussetzung für ein Anfoderungs-Management ist es, den Überblick zu behalten, denn die ständige Verbesserungen führen zu einer hohen Dynamik in den dokumentierten Anforderungen.