Hardcore Qualität für Software-Projekte

 

Software-Systeme werden immer komplexer und umfangreicher – das ist unbestritten. Gleichzeitig spielen sie eine immer wichtigere Rolle in immer mehr Bereichen unseres Lebens. Die Auswirkungen von SW-Fehlern werden daher immer kritischer und teurer und können in sensiblen Bereichen sogar katastrophale Ausmaße annehmen.

Es gibt vielfache methodische und prozessuale Ansätze, um die Fehler und das damit verbundene Risiko in Softwaresystemen zu reduzieren.  Tatsächlich wird jedoch das Qualitätsmanagement in vielen Fällen vernachlässigt. Worin ist dieses Phänomen begründet und wie können Sie in Ihren Projekten effektiv gegensteuern?

„Qualitätssicherung kostet sehr viel.“ meinte kürzlich ein IT-Manager. „Bei uns testen die Entwickler.“ Zwei kurze Sätze und gleichzeitig zwei schwere Fehleinschätzungen. Nachhaltige Qualitätsverbesserung kann nur über systematisches Testen durch entsprechend ausgebildetes Personal erzielt werden. Entwickler testen üblicherweise positiv („so, wie es entwickelt wurde“). Das hat zur Folge, dass nur wenige Fehler gefunden werden und die Mehrheit der Fehler in produktiven Systemen landen.

Der zweite Irrtum ist, Qualitätsmanagement & Qualitätssicherung (QM & QS) als Kostenfaktor zu betrachten. Es ist wichtig zu wissen, dass der Aufwand für jede Fehlerbehebung Kosten verursacht und die Behebung eines Fehlers in einem Produktivsystem mehr als 100-mal teurer ist als in einer frühen Design-/Entwicklungsphase. Daraus folgt, dass frühe Fehlererkennung und -behebung hilft, bares Geld zu sparen. Diesen Umstand monetär zu bewerten, erfordert hohe Transparenz bei SW-Entwicklungs- und Wartungskosten. Einsparungspotential von 50% der Support- & Wartungskosten und mehr sind keine Seltenheit und Grund genug, Ausgaben für QM & QS als Investition in eine Fehlervermeidung und frühe Fehlerbehebung zu verstehen.

Eine Umfrage in IT-Organisationen zu deren Umgang mit dem Thema SW-Qualität (Quelle: Software Quality Lab) zeigt drei wesentliche Bereiche, die in Unternehmen mehrheitlich vernachlässigt werden bzw. nicht mit der nötigen Konsequenz verfolgt werden: