28.01.2016 Aufrufe

Zertifizierungen

1lUYKwP

1lUYKwP

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!