Inzwischen werden 35 Prozent aller Software-Entwicklungsprojekte erfolgreich abgeschlossen, was bedeutet, dass Zeit- und Budgetvorgaben eingehalten und die Anforderungen der Anwender erfüllt werden. Doch immer noch sind 19 Prozent der Projekte ein totaler Fehlschlag und stolze 46 Prozent sprengen den vorgesehenen Zeit- und Budgetrahmen. Zu diesem Ergebnis kommt die aktuelle Version des seit 1994 alle zwei Jahre neu aufgelegten Chaos-Report der Standish Group. Verglichen mit den Zahlen aus der ersten Erhebung - wo fast ein Drittel aller Projekte als gescheitert eingestuft wurde - dokumentieren die aktuellen Ergebnisse zwar einen Fortschritt. Doch ist die Fehlerquote nach Ansicht der Marktforscher immer noch viel zu hoch. Die Untersuchung ist repräsentativ, denn innerhalb von 12 Jahren wurden über 40.000 Software-Projekte untersucht.
Anforderungen spezifizieren, Rückschläge vermeiden
Die meisten Fehler bei der Software-Entwicklung - nämlich rund 70 Prozent - entstehen schon in der Requirements-Phase. Sie ziehen sich wie ein roter Faden durch das Projekt und werden entweder kurz vor dem Roll-Out in Akzeptanz- und Usability-Tests gefunden oder erst nach dem Roll-Out. Der hierdurch verursachte wirtschaftliche Schaden ist enorm, wie das National Institute of Standards and Technology in seiner 2002 veröffentlichten Studie "The Economic Impacts of Inadequate Infrastructure for Software Testing" herausfand. Nach Schätzungen des NIST belaufen sich in den USA die Kosten für die Beseitigung von Bugs und schweren Fehlern auf rund 59 Milliarden US-Dollar.
Allein durch verbesserte Software-Tests ließen sich rund 22 Milliarden US-Dollar einsparen. Dem Institut zufolge helfen dabei vor allem Werkzeuge für anforderungsbasiertes Testen (RBT). RBT-Werkzeuge ermöglichen eine strukturierte Software-Entwicklung und unterstützen Testfälle, die nach dem Ursache-Wirkungs-Prinzip gestaltet sind.
Eine aktuelle Befragung des auf ALM-Produkte spezialisierten Software-Herstellers Borland unter weltweit 300 Kunden zeigt jedoch, dass schlechte Anforderungs-Definitionen immer noch die größte Herausforderung bei der Software-Entwicklung darstellen. Das sagten 44 Prozent der Befragten. Mehr als die Hälfte beklagten überdies eine fehlende Verknüpfung und Koordination der Prozesse bei Entwicklung und Bereitstellung von Anwendungen. 48 Prozent räumen deshalb der Prozess-Optimierung in den nächsten zwölf Monaten eine hohe Priorität ein.
Entwicklungsprozesse werden komplexer
Das ist auch bitter nötig, denn die Anforderungen an die Entwicklung neuer Software steigen kontinuierlich. Zu diesem Schluss kommen die Analysten von IDC in ihrer Untersuchung "Leveraging Life-Cycle Management for Software and Business Adaptability". Das gilt vor allem für weltweit operierende Konzerne. Diese Unternehmen müssen beispielsweise erhöhte Compliance-Anforderungen erfüllen und dabei nicht nur die Qualität von Prozessen wie der Rechnungslegung sichergestellen, sondern eben auch Abläufe bei der Software-Entwicklung transparent und nachvollziehbar gestalten. Hier greifen einmal internationale Regelungen wie der Sarbanes-Oxley Act (SOX), aber auch nationale, wie zum Beispiel in Deutschland das Gesetz zur Kontrolle und Transparenz im Unternehmensbereich (KonTraG).
Zudem werden bedingt durch neue Technologien wie Web Services Entwicklungsprozesse und damit auch Entwicklungsprojekte immer komplexer. Das gilt zum Beispiel für SOA-Projekte, die nicht nur technische, sondern im Hinblick auf die IT-Governance auch regulatorische Probleme aufwerfen. Auch neue Modelle der Software-Bereitstellung, etwa als Software as a Service (SaaS) oder On Demand, haben Einfluss auf das Projekt-Design. Hinzu kommt noch, dass in globalen Konzernen weltweit verteilte Teams gemeinsam an Software-Entwicklungsprojekten arbeiten. Diese benötigen eine einheitliche Datenbasis, auf die sie in Echtzeit und unabhängig von Zeitzonen direkt zugreifen können.
Laut IDC suchen globale Firmen verstärkt nach Möglichkeiten, eine hohe Qualität bei der Software-Entwicklung mithilfe eines durchgängig und Prozess orientierten Application Lifecycle Management (ALM) sicherzustellen. Dabei sollen unter anderem Anforderungs-Definitionen und Testfälle sowie Modellierung und Veränderungs-Management berücksichtigt werden.
ALM-Suiten gehört die Zukunft
Den Analysten zufolge haben sich die großen Anbieter von ALM-Lösungen wie BMC, Borland, Compuware, Hewlett Packard, IBM oder Serena Software an diese Markterfordernisse inzwischen gut angepasst. Durch Weiterentwicklung sowie durch Zukäufe - etwa IBM mit Rational, HP mit Mercury und Borland mit Seque - haben die Software-Firmen ihre Lösungen für das Requirements Management in den letzten Jahren zu umfassenden ALM-Suiten ausgebaut.
Insbesondere Borland bescheinigen die Analysten eine hervorgehobene Position am Markt. Der US-Hersteller koppelt in seinen Produktlinien die Software-Entwicklung eng an konkrete Geschäftserfordernisse und -szenarien. Großes Plus der ALM-Produkte von Borland ist überdies ihre Plattformunabhängigkeit, denn Lösungen anderer Hersteller sowie Open-Source-Produkte sind problemlos integrierbar.