Vier Tipps für die Softwareentwicklung

Wenn Anforderungen sich ständig ändern

24.03.2011
Von Michael Strauß

Änderungen oder Qualitätsverlust

Zweifellos ist es illusorisch, zu glauben, ab einer bestimmten Projektgröße und -komplexität könne man die Anforderungen im Vorfeld noch lückenlos und interpretationsfrei dokumentieren. Vorbeugende Maßnahmen erhöhen zwar die Qualität der Anforderungen und minimieren damit das Risiko von Mängeln, doch völlig ausschließen können sie diese nicht. Trotzdem gibt es in vielen Projekten einfach keinen Prozess, um einmal abgenommene Anforderungen kontinuierlich zu verbessern. Wenn überhaupt, so beschränkt sich der Änderungsprozess auf gänzlich neue Anforderungen.

Die im Projektverlauf gewonnenen Erkenntnisse aller Beteiligten müssen aber zyklisch in die Anforderungen zurückfließen, um die festgestellten Qualitätsmängel zu beheben. Geschieht das nicht, entsteht eine Software, die zu einem guten Teil auf Annahmen des Entwicklungsteams basiert. Überspitzt ausgedrückt, heißt das: Es wird dem Zufall überlassen, welche Lösung der Kunde am Ende erhält. Im Extremfall bekommt er also keine brauchbare Lösung für seine eigentlichen Probleme.

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:

Tipp: 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.

Tipp: 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".

Tipp: 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; die Verhältnismäßigkeit muss gewahrt bleiben. Sind Anforderungen eindeutig und verständlich zu Papier gebracht, lassen sich "formale Schwächen" durchaus verkraften. Es ist wichtige, echten Mehrwert zu schaffen, statt einen Schönheitspreis zu gewinnen.