Freitag, 1. Dezember 2017

Software Zuverlässigkeit, Verfügbarkeit und Six Sigma

Alle nicht-funktionalen Anforderungen (NFA) an Software zahlen auf die Verfügbarkeit der Software ein. Aber welche Verfügbarkeit soll man anstreben?

Zu erst nach dieser Formel wird die Verfügbarkeit berechnet:

Verfügbarkeit [%] = (Gesamtzeit - Zeit mit Fehlern) * 100 / Gesamtzeit

Bei klassischen Industrieprodukten nimmt man eine Zeitspanne die auf der durchschnittlichen Lebenszeit der Produkte basiert (MTBF). Aber bei Software gibt es keine MTBF, weil die Ausfälle von Software weder auf Verschleiss wie bei mechanischen Produkten oder dem Zufall wie bei elektronischen Bauteilen beruhen. Deshalb wird bei Server-Diensten wie E-Commerz Lösungen oft die letzten 365 Tage als Betrachtungszeitraum genommen. Aber was bedeutet ein Verfügbarkeitswert von 99.9%, ist das gut? Die Antwort ist ... ein bisschen komplizierter. Zuerst mal ein kleine Übersicht was solche Prozentwerte eigentlich an Zeit bedeuten:



D.h. bei einer Verfügbarkeit von 99.9% habe ich mehr als 8h Ausfall im Jahr. Das ist sicher mehr als man bei einer hohen Zahl wie 99.9% erwartet hätte. Aber welche Werte sollte man für die Verfügbarkeit anstreben? Im Gegensatz zu mechanischen oder elektronischen Systemen kann man sich bei Software auf noch keinen Standards oder Normen abstützen. Aber es gibt als universelles Qualitätsmanagementsystem Six Sigma. Man kann jetzt versuchen Six Sigma auf Softwarezuverlässigkeit anzuwenden. Als Grenzwert bzw. anzustrebender Wert bietet sich Level 6 von Six Sigma an mit einer Wert von 99,99966% Fehlerfreiheit an. Setzt man diese Zuverlässigkeit zu Grunde, dann hat man nur noch 1,8 Minuten Ausfall im Jahr.

Nachdem das Ziel klar ist, stellt sich jetzt die Frage, ist dieses Ziel realistisch und wie kommt man dahin?