jenswinter.com
Software Development 24/7

Eric Sink über Fehler in Software

November 13, 2005 21:12 by Jens

Eric Sink schrieb einen interessanten Artikel über Bugs in ausgelieferter Software. Seine These lautet, dass Softwareentwickler bzw. -firmen auch Programme dann ausliefern sollten, wenn sie bekannte Bugs enthalten.

Er begründet das so:

  • Man weiß genau, welche Bugs akzeptabel sind und welche nicht
  • Besser ein Produkt veröffentlichen, dessen Qualitätslevel bekannt ist, als ein Produkt, das "vermeintlich" fehlerfrei ist
  • Das Risiko neue und schlimmere Fehler einzubauen beim Versuch einen bekannten Fehler zu entfernen ist könnte zu groß sein

Wie entscheidet man, ob ein Fehler entfernt werden soll oder nicht?
Sink entscheidet das mit Hilfe von vier Fragen:

  1. Wie groß sind die Auswirkungen wenn der Fehler auftritt? (Schweregrad)
  2. Wie oft tritt der Fehler auf? (Häufigkeit)
  3. Wie groß ist der Aufwand, den Fehler zu beseitigen? (Kosten)
  4. Wie riskant ist es, den Fehler zu beheben? (Risiko)

Die Antworten der ersten beiden Fragen lassen sich in ein Diagramm eintragen. Damit kann man visuell entscheiden, ob ein Fehler es wert ist, behoben zu werden:


Der rote Punkt markiert einen Fehler, der behoben werden sollte, da dieser kritische Fehler häufig auftritt. Den Fehler, der durch den grünen Punkt repräsentiert wird kann man vorerst getrost in Ruhe lassen, da er kaum von Bedeutung ist.

Die ersten beiden Fragen geben eine Vorentscheidung darüber, ob der Fehler behoben werden soll oder nicht. Ist die Antwort "Ja", so dienen die beiden anderen Fragen dazu, diese Entscheidung nochmal zu überdenken. Immerhin könnten die Kosten, den Fehler zu beseitigen den Nutzen übersteigen könnten. Und das Risiko neue Fehler einzuführen könnte zu hoch sein.

Sink hebt aber noch hervor, dass die Antworten auf die vier Fragen immer im Kontext des Marktsegments zu finden sein sollten. Die Qualitätserwartungen können sich teilweise deutlich unterscheiden. Er sagt weiter, dass zwar niemand kaputte Produkte haben will, aber jeder sollte auch wissen, dass es keine fehlerfreie Software gibt.

Sink nennt noch einen weiteren Grund dafür, bewusst Software mit Fehlern auszuliefern. Wenn man die Auslieferung herauszögert, weil man jeden bekannten Bug entfernen möchte, ist man auf dem Markt benachteiligt. Man sollte lieber ein Produkt ausliefern, das ein akzeptables Qualitätslevel (auch mit Fehlern) besitzt, als ein Produkt deutlich verspätet auszuliefern, dessen Qualität höher als für den Markt überhaupt nötig ist. 

Related posts

Add comment


(Will show your Gravatar icon)  

  Country flag

[b][/b] - [i][/i] - [u][/u]- [quote][/quote]



Live preview

January 7. 2009 14:24