Kennen Sie Ihre Fehlerkosten bei der Softwareentwicklung?

Inhaltsübersicht:

Sprechen wir von Fehlerkosten, werden gerne prominente Beispiele und Totalschäden angeführt. Fälle wie der Absturz einer Ariane-Rakete, fehlgeleitete Millionenbuchungen bei einer Bank oder Teslas Autopilot, der in den Gegenverkehr steuerte, gehen durch die Presse.

Was aber in der Praxis häufig zu kurz kommt, ist die Betrachtung der internen Fehlerkosten. Diese sind vielleicht weniger spektakulär, aber ein relevanter Kostentreiber in der Softwareentwicklung.

Im Rahmen der Softwareentwicklungskosten wird den Fehlerkosten häufig zu wenig Beachtung geschenkt. Sie werden lediglich implizit in den Aufwänden der einzelnen Aktivitäten, wie z. B. Anforderungsspezifikation, Softwaredesign und Entwicklung, einkalkuliert. Im schlimmsten Fall werden sie in der Aufwandsplanung gar nicht berücksichtigt und sorgen oft dafür, dass Budgets nicht eingehalten werden.

Als Fehlerkosten bezeichnen wir den Aufwand, der durch die Entdeckung und Beseitigung von Fehlern entsteht. Dabei unterscheiden wir interne und externe Fehlerkosten. Interne Fehlerkosten werden im Entwicklungsprozess entdeckt – sie werden behoben, bevor sie den Kunden erreichen. Von externen Fehlerkosten spricht man, wenn der Fehler bereits als Qualitätsmangel den Kunden erreicht hat.

Das aus der Fertigungsindustrie bekannte Six-Sigma-Prinzip enthält die sogenannte 10er-Regel. Diese geht davon aus, dass die Kosten für die Fehlerverhütung und -beseitigung mit jeder Phase im Prozess um Faktor 10 ansteigen. Für Softwareentwicklungsprozesse gibt es ähnliche Analysen mit abweichenden Faktoren, aber der gleichen Grundaussage – siehe Grafik zur Kostenverteilung im Entwicklungszyklus*.

Damit entstehen durch jeden Fehler in der Coding-Phase weitere Kosten durch das Fehlermanagement, die Reproduktion zur Analyse, die Behebung des Fehlers, die Softwareintegration und der erneute Test – neben den Kosten der Testmaßnahmen zur Identifikation des Fehlers.

Legen wir nur einen Aufwand von 500 Euro für die Fehlerbeseitigung an und gehen von 500 Fehlern in unserem fiktiven Softwareprojekt aus, so ergeben sich bereits 250.000 € interne Fehlerkosten. Haben Sie diese Kosten heute in Ihrer Projektplanung berücksichtigt? Erfahrungsgemäß, liegen die Kosten bei Fehlern in der Spezifikationsphase oder im Softwaredesign sogar deutlich über dieser Annahme.


So können Sie Fehlerkosten in der Praxis ermitteln!

Bei der Verwendung eines Fehlermanagementwerkzeugs, kann sehr einfach eine zusätzliche Information hinzugefügt werden, in welchem Prozessschritt die Ursache für den Fehler lag.

Im nächsten Schritt werden Fehlerkategorien ermittelt, wie zum Beispiel Spezifikationsfehler, Codierfehler, etc.. Ein zusätzlicher Faktor kann die Schwere des Fehlers darstellen, wenn beispielsweise eine Fehlerbehebung per Hotfix erfolgen muss.

Werden diese Daten über einen signifikanten Zeitraum erhoben, können anschließend überschlagsmäßig die Fehlerkosten ermittelt werden. Dabei werden folgende Kosten berücksichtigt:

  • Aufwand für die Fehlererfassung beim Tester
  • Aufwand für das Fehlermanagement – formale Prüfung und Zuordnung
  • Aufwand für Nachstellen und Analyse beim Entwickler inkl. Herstellen der Umgebung
  • Aufwand für die Codierung und Dokumentation der Fehlerbehebung
  • Aufwand für die Softwareintegration Aufwand für den Fehlernachtest und die Dokumentation

Dieser Ansatz wird definitiv keine korrekten Zahlen liefern, aber die Größenordnungen in der Fehlerkostenverteilung geben ausreichend Aufschluss über die größten Kostenpositionen im Prozess.

Neben der Berücksichtigung der Aufwände für die Fehlerbearbeitung in der Projektplanung kann dieser Ansatz für Qualitätsmanager hilfreich sein, die Aufwände für präventive, qualitätssichernde Maßnahmen in Form eines Business Case belegen müssen.

So konnte in einem Projekt durch die Investition in einen strukturierten Anforderungsmanagementprozess, eine deutliche Reduzierung der Fehlerkosten erzielt werden. Ohne einen validen Business Case wäre die Umsetzung schwieriger gewesen und der Erfolg nicht so einfach messbar.

Fest steht: Die Ermittlung der Fehlerkosten erfordert viel Erfahrung, die Kombination verschiedenster methodischer Ansätze und ein wenig Disziplin bei der Dokumentation der Fehler. Der Aufwand lohnt sich aber immer und er kann ein Baustein zur Reduzierung Ihrer Softwarekosten darstellen.

*Datenquelle der Tabelle: http://zwoogle.informatik.fh-kl.de/wiki/wiki.pl/download/FehlerKosten