Die wahren Sparpotenziale: Änderbarkeit und Erweiterbarkeit von Software

Änderbarkeit und Erweiterbarkeit sind die am meisten vernachlässigten Anforderungen bei der Erstkonzeption von Individualsoftware. In den meisten Projekten wird darauf ein viel zu geringer Wert gelegt.

All zu oft fokussieren sich Fachseiten im Rahmen von IT-Projekten auf kurzfristige Umsetzung funktionaler sowie nicht funktionaler Anforderungen zum Nachteil von Erweiterbarkeit und der Möglichkeit zu einfachen Änderung. Wie wichtig diese Kriterien sind, wird erst im Rahmen einer Betrachtung der Kosten über die gesamte Lebenszeit eines Systems klar. Zu den Kosten für die Erstentwicklung einer Software kommen immer Folgekosten für die Änderung, Erweiterung und Pflege hinzu. Können Systeme nicht kostengünstig erweitert werden, geht das langfristig echt ins Geld!

Den Erstentwurf eines IT-Systems vergleiche ich gerne mit der Konzeption eines Kraftfahrzeugs. Die funktionalen Anforderungen eines Autos sind schnell zusammen getragen: vier Räder, fünf Türen, Ledersitze und eine tolle Musikanlage. Auch nicht funktionale Anforderungen hat man schnell beisammen: performanter Motor, vornehmlich mit mehr als 300 PS, Sicherheit bei schneller Fahrt sowie eine hohe Energieeffizienz.

Angenommen ein solches Fahrzeug wird implementiert. Was aber, wenn erst nach Umsetzung bekannt wird, dass nichts davon modular gebaut ist? Die Räder sind an den Achsen festgeschweißt, das Vorder- und das Heckglas sind mit der Karosserie verklebt und der Motor versteckt sich hinter mehr Kabeln, als dass ein Mechaniker in 3 Stunden abbauen kann.

Das Auto entspricht genau der Spezifikation. Berücksichtigt wurde alles: Räder, Türen, Sitze, die Soundanlage und viele PS. Man kommt damit also auch bequem von A nach B. Doch einfach änderbar ist dieser Aufbau sicherlich nicht. Ein Umbau eines Fahrzeugs mit solch rigidem Design lohnt sich kaum. Zu groß ist der Aufwand für das Entschweißen, Trennen, Umbauen.

Bei Individualsoftware ist die Situation ähnlich und sogar noch gravierender. Denn das Unterlassen von Erweiterungen ist per se keine Lösung. In wachsenden Unternehmen sind Softwareanpassungen Pflicht. Zu sehr ist heute der Unternehmenserfolg von performanten IT-Systemen abhängig. Was dann nur noch zählt ist: “wie schnell” und “wie teuer”. Dabei hat der Bau von Systemen mit starren Strukturen gravierende Folgen: Die Erweiterung solcher Systeme ist sehr aufwändig, weil entweder Einzelanpassungen sehr umständlich durchzuführen sind oder Änderungen weitreichende Umbauarbeiten (Refactoring) an der Grundstruktur des Systems erfordern.

Rechnet man zu den Kosten der Erstimplementierung die Kosten von uneffizienten Erweiterungen über die gesamte Lebensspanne eines IT-Systems hinzu, stellt man eine negative Bilanz fest, die beim Erstaufbau so nie eingeplant war. Damit das nicht geschieht sind bei der Erstkonzeption gute IT-Entscheidungen notwendig. Die Frage der wahren Kosten eines Systems hängt also wesentlich von der Erweiterbarkeit und Änderbarkeit der Software ab – also von der Qualität des Erstentwurfs.

Anton

Anton

Anton ist freiberuflicher Software-Ingenieur und Projektleiter mit den Schwerpunkten: Prozessdesign, strukturierte Business Analyse / Fachkonzeption sowie fachliche Entscheidungsunterstützung.

More Posts - Website