Das Einmaleins der Softwareentwicklung

14.10.2003
Von Moll 

5. Überschaubarkeit

Die Größe eines Softwareprojekts beeinflusst dessen Erfolg - je größer und komplexer, desto schwerer ist es zu beherrschen und desto wahrscheinlicher ist sein Scheitern.

So nicht: Eine Kooperation von drei Finanzdienstleistern schrieb ein Festpreisprojekt zur Neuentwicklung eines umfangreichen Abwicklungssystems aus. Die Ausgangsbasis war ein erster Anforderungskatalog von etwa 25 Seiten. Der Auftrag wurde an den billigsten Anbieter, ein weltweit agierendes Softwarehaus, vergeben. Unter der Regie des Auftragnehmers wurde daraufhin ein umfassendes und extrem komplexes Fachkonzept entwickelt, das die Wünsche aller drei Auftraggeber repräsentierte. Erst nach etwa drei Jahren Laufzeit mit einem großen Entwicklungsteam konnte der erste Implementierungsmeilenstein getestet werden. Die Ergebnisse waren bezüglich Funktionalität und Performance inakzeptabel. Das Projekt wurde abgebrochen, da eine Hochrechnung ergab, dass die ursprünglichen Projektkostenschätzungen um den Faktor vier übertroffen werden. Der gesamte Schaden betrug mehr als 50 Millionen Euro.

6. Standardisierte Softwareinfrastruktur

Da sich die funktionellen Anforderungen an ein Softwaresystem häufig und schnell ändern, muss zumindest die Softwareinfrastruktur und -architektur stabil sein. Nur so können sich die Entwickler auf ihre eigentliche Aufgabe konzentrieren.

So nicht: Bei einem Dienstleistungsunternehmen mit großem Filialnetz wurden die unterschiedlichen Anwendungssysteme zur Sachbearbeitung für verschiedene Fachgebiete ohne eine standardisierte Softwareinfrastruktur entwickelt. Nach etwa sechs Jahren stand eine Reihe von Anwendungen zur Verfügung. Es existierte jedoch kein einheitlicher Styleguide für Benutzeroberflächen einschließlich Help-Funktion, es gab kein einheitliches Rechtekonzept mit Single-Logon, und die zentralen Steuerungsdaten waren redundant auf 54 unabhängige Tabellen verteilt. Die Anwendungssysteme waren folglich umständlich zu bedienen, schwer zu warten und schlecht erweiterbar.