am 5. März 2009
Heute möchte ich mal wieder ein Thema aus der Praxis anschneiden. Dabei handelt es sich um den Umgang mit Bugs, denn auch in die Projekte der Besten schleichen sich gerne mal Fehler ein. Schockierend, aber wahr. Eine Art mit diesen Fehlern umzugehen, will ich heute vorstellen: Bug free development (BFD). Soll aber nicht heißen, dass man keine Fehler mehr macht, sondern sie möglichst schnell wieder behebt. Da ich keine offizielle Definition gefunden habe, versuche ich mich selbst daran es kurz zu erklären.
Prinzipiell setzen wir den Fokus auf das Beheben der Bugs und nicht die Entwicklung neuer Features. Sobald ein Fehler auftritt, so muss er so schnell wie möglich ausgemerzt werden. Auf diese Weise schafft man es die bekannten Fehler in einem System nahe an Null zu halten. Natürlich kann man diesen Zustand nicht so mir nichts, dir nichts herstellen.
In unserem “aktuellen” Projekt haben wir ungefähr vor drei Monaten damit angefangen den Fokus zu verlagern. Das Problem bei uns waren die ca. 50 Bugs im System, von denen wir wussten. Was natürlich für uns bedeutet hat, dass wir den ersten Monat nur am beheben von irgendwelchen Problemen waren und keine neuen Features liefern konnten. Zum Glück hatten wir in der Hinsicht die Unterstüzung von Oben, denn der Benefit der neuen Herangehensweise konnte klar kommuniziert werden.
Aber vielleicht sollte ich noch ein paar Punkte zum Gewinn aufzählen. Der wichtigste Punkt ist wohl die Verhinderung des Broken Window Effekt. Hat man erst mal alle Fehler beseitigt, so werden alle Entwickler ihr bestes geben, dass das System sauber bleibt. Ein weiterer Benefit ist die steigende Kundenzufriedenheit. Mit besserer Reaktionszeit beim Beheben von Bugs, steht auch die Zufriedenheit beim Endkunden.
Bei diesem Ansatz gibt es natürlich immer auch ein paar Ausnahmen. Bei uns im Team wird natürlich vorher abgewägt, ob ein Bug das aktuell Enwickelte Feature unterberechen darf. Blocker Bugs werden natürlich zwischen geschoben, alle anderen werden aber erst nach der Fertigstellung des akuellen Features begonnen.