RBT bringt mehr Qualität in die Software-Entwicklung
Anforderungen frühzeitig mit Testfällen verbinden
Software ist heute ein elementarer Bestandteil des Wirtschaftslebens. Unternehmen und Behörden sind in vielen Bereichen davon abhängig, dass Software-Systeme reibungslos funktionieren und die Anwender bei der täglichen Arbeit optimal unterstützen. Doch daran hapert es häufig. Das zeigen diverse Studien, wie etwa der seit 1994 alle zwei Jahre veröffentlichte Chaos Report des Marktforschers Standish Group.
Entwicklung als geschlossener Kreislauf
Die harte Realität ist also, dass neu entwickelte Software häufig diverse Qualitäts-Mängel aufweist. So werden etwa Anforderungen von Anwendern nur unzureichend erfüllt, was zu einer geringen User-Akzeptanz führt. Auch enthalten neue Software-Lösungen oft Fehler, deren nachträgliche Behebung Unternehmen viel Zeit und Geld kostet. Fehlerhafte Software kann darüber hinaus einen nicht unbeträchtlichen wirtschaftlichen Schaden verursachen. Fällt deswegen die Produktion aus, können Kunden nicht mehr beliefert werden, und Marktanteile gehen verloren.
IT- und Software-Entwicklungsprojekte sind jedoch keine Geheimwissenschaft, sondern ein Prozess wie jeder andere und damit über den gesamten Lebenszyklus hinweg exakt steuerbar. An diesem Punkt setzt Application Lifecycle Management (ALM) an, das die Software-Entwicklung als geschlossenen Kreislauf ineinander greifender Phasen versteht, in denen es genau definierte, reproduzier- und messbare Prozesse gibt. Das umfasst alle Prozesse von Planung über die Definition der Anforderungen, Design, Entwicklung und Konfiguration bis hin zu Tests und der Bereitstellung von Software.
Frühzeitige und häufige Tests …
Um späteren Problemen und Fehlern vorzubeugen, müssen die Qualitäts-Kriterien und -ziele bereits zu Beginn eines Software-Entwicklungsprojekts festlegt und während des Herstellungsprozesses kontinuierlich überprüft werden. In der Regel werden in Projekten zwar Anforderungen erfasst und Software-Tests durchgeführt, aber beides ist häufig nicht sinnvoll miteinander verknüpft. Oft haben Lösungsarchitekten sowie Entwickler keine klare Vorstellung, was sie wirklich umsetzen sollen.