Zertifizierungen
1lUYKwP
1lUYKwP
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Blog<br />
CELEBRATE BUGS!<br />
Warum wir Fehler feiern müssen.<br />
Ich komme einfach nicht an dem Thema vorbei. Es gab bis heute noch keinen Kunden, der in<br />
der agilen Software Entwicklung keine Abneigung gegenüber dem Berichten von Fehlern hatte.<br />
Meist liegt es an der Firmenkultur, die Fehler als etwas Schlechtes ansehen und darauf mit<br />
Fingern zeigen. Ich höre aber auch immer mehr die dogmatische Äusserung der agilen Jünger,<br />
dass das Vertrauen über der Kontrolle steht (was ja gut und recht ist) und darum keine Bugs<br />
erfasst werden sollen (was weder gut noch recht ist). Wir kontrollieren mit den gefunden Bugs<br />
keine Teams sondern erhalten über die Qualität des Produktes Auskunft. Erst dann wenn wir<br />
uns bewusst werden, was wir aus Fehlern alles lernen können, wird der Kontrollgedanke<br />
verdrängt. Und jetzt ist es endgültig an der Zeit, die kleinen Käfer unter die Lupe zu nehmen.<br />
Fakt 1: Ein Bug ist ein Bug ist kein Bug<br />
Was ist eigentlich ein Bug? Ist es ein Fehlerzustand, sprich: ein<br />
inkorrektes Teil eines Programmes oder Dokumentes? Oder ist es<br />
eine Abweichung vom erwarteten Soll- zum gelieferten Ist-Zustand?<br />
Handelt es sich bei einem Bug um die Fehlermeldung, die<br />
uns auf dem Bildschirm erscheint oder in Form eines Systemabsturzes<br />
auffällt? Der Bug ist ein sehr gängiger Überbegriff<br />
von all den erwähnten Situationen oder besser gesagt: Es ist ein<br />
Verhalten des Systems, welches der Anwender nicht erwartet<br />
und erst recht nicht goutiert. Bei einer mobilen App, welche<br />
von Millionen von Kunden zur Unterhaltung benutzt wird, ist der<br />
Kunde ein bisschen nachsichtiger betreffend einem möglichen<br />
Fehlverhalten. Ein Absturz einer Poker-App läuft nicht Gefahr,<br />
dass Sammelklagen über falsche Funktionalität eingehen könnten.<br />
Es kommt niemand zu finanziellem oder noch schlimmer, zu<br />
gesundheitlichem Schaden. Sobald aber diese Aspekte ins Spiel<br />
kommen, dann kann schnell einmal ein Bug einem Produkthersteller<br />
teuer zu stehen kommen wenn es um die Korrektur des<br />
Fehlerzustandes, oder um Zahlung von Schadenersatz geht.<br />
Fakt 2: Bugs haben Charaktere<br />
Wie und wann Fehler gefunden werden sagt einiges über den<br />
Charakter des betroffenen Bugs aus. Persönlich unterscheide ich<br />
zwischen den guten und den bösen Bugs. Das hat nichts damit<br />
zu tun, was sie dem System oder dessen Benutzer für Schaden<br />
zufügen, nein es geht eher darum, wer sie findet. Die «Bad<br />
Bugs» haben sich lange versteckt und werden von den Kunden<br />
und den Endanwendern eines Systems gefunden. Sie sind die<br />
miesen, kleinen Fehler, welche uns verärgern. Es sind genau die,<br />
welche ein schlechtes Bild auf die Qualität des Produktes liefern.<br />
Solche Bugs wollen wir nicht und können dem Problem auch mit<br />
Testen Abhilfe schaffen. Und genau das sind dann die «Good<br />
Bugs». Fehler, die sich vor der Auslieferung eines Produktes von<br />
einem Tester finden lassen. Und der Tester ist nicht eine Job-<br />
Description oder eine Rolle. Sobald ein Produkt von jemandem<br />
geprüft wird, trägt der Prüfer den Testerhut und ist persönlich<br />
verpflichtet, sich um den Bug zu kümmern. Am einfachsten ist<br />
das, wenn ein Entwickler ihn sofort beheben kann. Aber das<br />
bringt mich bereits zum nächsten Fakt.<br />
Fakt 3: Bugs brauchen Aufmerksamkeit<br />
Das hört sich jetzt vielleicht ein bisschen komisch an, aber<br />
Defects sind die grössten Diven in der Entwicklung. Sie wollen<br />
gefunden werden und dass sich jemand um sie kümmert. Am<br />
liebsten haben sie es, wie schon erwähnt, wenn sie vom Entwickler<br />
gefunden und umgehend behoben werden. Falls dies<br />
aber nicht möglich ist, dann lieben sie es, in einer Liste mit ihren<br />
Kollegen gepflegt zu werden. Ich habe schon oft erlebt, dass<br />
vergessene Fehler zu «Bad Bugs» mutiert sind und erst in der Produktion<br />
wieder gefunden wurden. Kommt noch dazu, dass Fehlerzustände<br />
richtig gesellige Kerlchen sind. Sie fühlen sich wohl, wenn sie<br />
unter sich sind. Solange sie man in einer zentralen Liste hält, sind sie<br />
glücklich und pflegeleichte «Good Bugs». Einzelgänger, die einsam<br />
in irgendwelchen Mails oder auf losen Zetteln dahinsiechen müssen,<br />
haben die Neigung zu «Bad Bugs» zu werden. Wenn auch nicht alle<br />
Fehlerzustände vor der Produktion behoben werden können, die<br />
gelisteten Bugs haben wir im Griff und Wissen das sie potentiell<br />
als böse gelten. Solange wir das aber den relevanten Stakeholdern<br />
kommunizieren können, hält sich das Böse aber in Grenzen.<br />
Fakt 4: Bugs zeigen Qualitätslücken<br />
Oh ja, Fehler haben einiges zu erzählen und wenn man ihnen richtig<br />
zuhört, kann man herausfinden, wo und warum sie überhaupt entstanden<br />
sind. Einige entstehen in der Anforderungsbeschreibung,<br />
andere während der Entwicklung und gar nicht so wenige entstehen<br />
während des Testens. Ich möchte nichts relativieren, aber Fehler, die<br />
aufgrund von schlechten Testfällen oder Testdaten entstehen, weisen<br />
auf einen schwachen Testprozess hin. Diese Fehler sind so quasi die<br />
«Ghost Bugs», also Fehler, die nach Definition gar keine Fehler sind.<br />
Genau so können sie auch über die Maturität der anderen Prozesse<br />
Auskunft geben oder auf gewisse Stellen in Systemen hinweisen, die<br />
noch Qualitätslücken aufweisen. Und falls wir etwas testen möchten,<br />
dann sollten wir immer wieder auf den Rat der Fehler in den genannten<br />
Listen hören, denn sie sagen uns, wo wir potentiell noch Kollegen<br />
von ihnen in unserem Produkt finden können.<br />
Quintessenz: Good Bugs sind Freunde<br />
Fehler werden geliebt und gehasst. Fehler brauchen Zuneigung und<br />
Pflege. Der Aufwand hält sich meist in Grenzen, wenn man ein gutes<br />
System einsetzt. Etwas weiss ich aus meiner langjährigen Erfahrung:<br />
Ich kümmere mich lieber um «Good Bugs» als um «Bad Bugs», weil<br />
sie geplant behoben werden können. Es gibt wahrscheinlich nichts<br />
lästigeres, als wenn man an der Weiterentwicklung eines Systems<br />
arbeitet und immer wieder Kraft, Zeit und Mühe mit der Behebung<br />
von Fehlern aus der Produktion aufwenden muss. Auf diese Fehler<br />
muss man mit den Fingern zeigen und sie sollen auch für eine negative<br />
Bewertung der gelieferten Qualität dienen. Aber jeder einzelne<br />
Fehler, der noch vor Auslieferung gefunden wird, ist unser Freund<br />
und darum sollten wir sie auch feiern können.<br />
Marcel Rütschi,<br />
Principal Consultant