RBT bringt mehr Qualität in die Software-Entwicklung

Anforderungen frühzeitig mit Testfällen verbinden

Dr. Andreas Schaffry ist freiberuflicher IT-Fachjournalist und von 2006 bis 2015 für die CIO.de-Redaktion tätig. Die inhaltlichen Schwerpunkte seiner Berichterstattung liegen in den Bereichen ERP, Business Intelligence, CRM und SCM mit Schwerpunkt auf SAP und in der Darstellung aktueller IT-Trends wie SaaS, Cloud Computing oder Enterprise Mobility. Er schreibt insbesondere über die vielfältigen Wechselwirkungen zwischen IT und Business und die damit verbundenen Transformationsprozesse in Unternehmen.
Bei neu entwickelten Software-Lösungen ist mangelnde Qualität einer der Hauptgründe für Fehler und Ausfälle. Ursachen dafür sind unter anderem unpräzise Anforderungs-Definitionen sowie Usability-Tests, die kurz vor dem Roll-Out durchgeführt werden. Werkzeuge und Methoden für anforderungsbasiertes Testen (Requirements Based Testing = RBT) dagegen verankern die Qualitäts-Sicherung schon zu Beginn eines Entwicklungsprojekts.

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.

Zur Startseite