Vier Tipps für die Softwareentwicklung: Wenn Anforderungen sich ständig ändern Detail - Computerwelt

Computerwelt: Aktuelle IT-News Österreich


28.03.2011 Michael Strauß*

Vier Tipps für die Softwareentwicklung: Wenn Anforderungen sich ständig ändern

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.

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.

Ä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.

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

Um dieser Dynamik Herr zu werden, müssen die Grundlagen zur Verwaltung der Anforderungen implementiert sein. Dazu zählen Konzepte

• für die Versionierung von Anforderungen, • zum Erstellen von Baselines und • um erfolgte Änderung nachzuverfolgen.

Außerdem müssen die nötigen Ressourcen bereitstehen. Die kontinuierliche Weiterentwicklung der Anforderungen bedingt, dass Business-Analysten und Fachbereichsverantwortliche nicht nur am Anfang eines Projekes zur Verfügung stehen, sondern es bis zum Ende der Entwicklungsphase begleiten.

Der Prozess der Anforderungsentwicklung darf niemanden ausgrenzen. Jeder Projektbeteiligte darf Verbesserungsvorschläge anbringen. Das scheint auf den ersten Blick unkontrollierten Änderungen Tür und Tor zu öffnen. Doch in der Praxis hat sich gezeigt, dass die unterschiedlichen Sichtweisen die Qualität der Anforderungen maßgeblich erhöhen. Zudem bedarf es der Implementierung eines formalen Freigabeprozesses: Erst wenn der Kunde die verbesserten Anforderungen geprüft und fachlich für einwandfrei bewertet hat, können die Änderungen in den Entwicklungsprozess einfließen. Tauchen Mängel an bereits implementierten Anforderungen auf, ist zu prüfen, inwieweit sich eine Anpassung auf den aktuell implementieren Softwarestand auswirken würde. Wenn das der Fall ist, wird entweder eine Korrektur in der Software notwendig, oder aber eine Diskussion mit dem Kunden ist fällig, in der es um alternative Lösungsszenarien geht.

Diesen Artikel

Bewertung:

Übermittlung Ihrer Stimme...
Noch nicht bewertet. Seien Sie der Erste, der diesen Artikel bewertet!
Klicken Sie auf den Bewertungsbalken, um diesen Artikel zu bewerten.
  Sponsored Links:

IT-News täglich per Newsletter

E-Mail:
Weitere CW-Newsletter

CW Premium Zugang

Whitepaper und Printausgabe lesen.  

kostenlos registrieren

Aktuelle Praxisreports

(c) FotoliaHunderte Berichte über IKT Projekte aus Österreich. Suchen Sie nach Unternehmen oder Lösungen.

Service

Acceptance Testing: Trotz knapper Ressourcen

Zum Thema

  • Editel Austria GmbH

    Editel Austria GmbH Supply Chain Management, E-Procurement und Supply Chain Management, Datenkonvertierung, Überwachungssysteme, Trust Center/Zertifizierungssoftware, Digitale Signatur, Datensicherung,... mehr
  • ectacom GmbH

    ectacom GmbH Aus- und Weiterbildung, IT-Asset- und Lizenzmanagement, Übernahme von Softwareprojekten, Datenschutz, Antiviren- und Virenscanner Software, Backup und Recovery Systeme, Firewalls,... mehr
  • Dicom Computer VertriebsgesmbH

    Dicom Computer VertriebsgesmbH WLAN-Systeme, VPN, Netzwerk-Systeme (LAN, MAN, WAN), Netzwerk-Management, Netzwerk-Diagnose-Systeme, Netzkomponenten, Mobile Lösungen und Applikationen,... mehr
  • Snap Consulting - Systemnahe Anwendungsprogrammierung u Beratung GmbH

    Snap Consulting - Systemnahe Anwendungsprogrammierung u Beratung GmbH Wasser- und Energieversorgung, Öffentliche Verwaltung, Medizin und Gesundheitswesen, Maschinen- und Anlagenbau, Luft- und Raumfahrttechnik, Logistik, Konsumgüterindustrie,... mehr

Hosted by:    Security Monitoring by: