Follow my new blog

Dienstag, 10. Juli 2012

Was andere schon richtig machen - Reviews

2012-07-04 09.32.07Das ist Galina Knoll. Sie ist Hausdame im Hansa Apart Hotel in Regensburg [1]. Von ihr können wir als Softwareentwickler etwas lernen.

Als Hausdame ist eine Ihrer Aufgaben, die Reinigung der Zimmer zu überprüfen. Sie hat einen Plan, welche Zimmer zu reinigen sind – das hängt ja davon ab, wann welche Gäste abreisen. Den Plan spricht Sie mit den Zimmermädchen ab, die die Zimmer herrichten. Und am Ende überprüft Sie, ob die Zimmer den gewünschten Zustand haben. Manche müssen prick für einen neuen Gast sein; andere müssen “nur” für eine weitere Nacht desselben Gastes wieder frisch sein.

Natürlich geht bei Dutzenden oder gar Hunderten Zimmern immer etwas schief. Eine Hausdame ist deshalb dafür zuständig, Qualitätsmängel einer Behebung zuzuführen. Manches muss nochmal vom Zimmermädchen nachgebessert werden. Für anderes ist der Hausmeister zu informieren.

In die Sprache der Softwareentwicklung übersetzt bedeutet das: Galina Knoll ist für den Review der Arbeitsergebnisse zuständig.

Hotels haben schon lange gelernt, dass die “Aufräumarbeiten” der Zimmermädchen nicht allein genügen, um die Qualität herzustellen, die der gute Ruf eines Hotels für seinen Erhalt braucht. Es kommt zu sehr darauf an, dass in den Zimmern alles stimmt, als dass man sich dort Nachlässigkeiten erlauben dürfte. “In Produktion gehen” Zimmer also nur nach einem Review durch die Hausdame.

Und wie ist es bei der Softwareentwicklung? Kommt es da nicht für den guten Ruf des Entwicklungsteams bzw. des Softwarehauses darauf an, dass die Qualität des Codes stimmt? Ich meine, schon. Er ist das Aushängeschild – auch visuell/haptisch durch die Usability, aber auch durch seine Stabilität. Fehler jeder Art turnen den Nutzer genauso ab, wie den Hotelgast die Fußnägelreste der Vorgängers in der Dusche oder Spinnweben über dem Bett.

Warum hat dann aber die Softwarebranche noch nicht dasselbe gelernt wie die Hotelbranche? Warum sind Reviews nicht etabliert in jedem Team? Warum lässt die eine Branche Zimmermädchen bei vergleichsweise einfachen arbeiten nicht ohne Endkontrolle – und die andere Branche überlässt die Hersteller ungleich komplizierterer Ergebnisse “ihr Zeug” einfach an den Kunden geben?

Es ist nicht zu verstehen. Und bitte: Man mögen mir den Einwurf “Keine Zeit!” ersparen. Den könnte die Hotelbranche auch vorbringen. Es wäre doch alles einfacher/billiger, wenn die Reinigung schneller ginge weil ohne Review. Trotzdem verzichtet man nicht auf die visuelle und persönliche Kontrolle. Der Grund: Man hat verstanden, dass schlechte Qualität früher oder später den Geldfluss verringert. Entweder direkt, weil weniger Gäste buchen – dann muss man die Preise senken und dann weiter an Kosten Sparen. Eine Negativspirale setzt ein, die niemanden zufrieden macht. Oder indirekt, weil Aufwand durch Nachbesserung entsteht, wenn Gäste sich beschweren. Der zieht wertvolle Kräfte zur Unzeit von Wichtigerem ab.

Ich würde also sagen: Wir können etwas von der Hotelbranche lernen. Und das nächste Mal, wenn Sie in einem Hotel sind, freuen Sie sich bewusst über die Abwesenheit von Mängeln. Alles ist sauber und frisch.

Wäre das nicht auch wünschenswert für die Software, die Sie ausliefern?

Mein Dank gilt Galina Knoll und ihren Kolleginnen und Kollegen in den vielen Hotels, in denen ich jährlich einige Zeit verbringe.

[1] Im Hansa Apart Hotel bin ich gerade für ein paar Tage während eines Kundentermins. Da ist mir Galina Knoll morgens mit ihrem Notizblock und dem großem Schlüsselbund aufgefallen. Und es ist mir bewusst geworden, was wir von ihrer Rolle lernen können.

Kommentare:

Carsten Behring hat gesagt…

Hallo Ralf,

ich habe mir über das "warum keine Qualitätskontrolle von Sourcecode" schon viele Gedanken gemacht. Und ich denke, dass die Erklärung in der "Dualität" von Software begründet ist. Software exist in zwei Formen, source code und executable. Kunden und Manager intressieren sich auschließlich für die Qualität des Executables. Darüber hinaus gibt es nur sehr wenige "Beweise", dass schlechter Quellcode zu mehr Bugs führt. Dies passiert nach meiner Meinung auf jeden Fall, ist aber nur mittelfristig nach aussen hin sichtbar. Gleiches gilt für erhöhte Kosten von Änderungen.
Diese Tatsache der Dualität ist nahezu einzigartig in Softwareentwicklung. Speziell wenn man dazunimmt, dass der Akt des "Comiplierens" von Software, also das Überführen von einer Form der Dualität in die andere, sehr schwer vorhersagbare Eingenschaften hinsichtlich der Qualität hat.
Unendlich viele Varianten des Quellcodes können in eine funktionell identisches Executable überführ werden. Das bedeuted das die Varianten (von denen einige schlechte und andere gute Quqlität haben) aus Kunden / Manager Sicht absolut identisch sind. Warum sollten sie dann in die vermeintlich teurere "(= bessere code Qualität) investieren ?

Robert Mühsig hat gesagt…

Das Problem ist, dass es keine festen Qualitätsmerkmale bei Source Code gibt. Das sind alles ziemlich "weiche" Faktoren und hängt sehr stark von der Erfahrung des Reviewers ab.

Bei einem Hotelzimmer ist die Aufgabe etwas einfacher - insbesondere da der Punkt von Carsten mit reinspielt: Jeder Mensch "sieht" wenn etwas dreckig (im Hotel) oder unschön in der Oberfläche aussieht - aber wie die Verkabelung im Hotelzimmer hinter der Wand ist interessiert auch die Hausdame nicht. Die Hausdame ist für das zuständig, was der Kunde sieht. Quellcode sehen die wenigsten Kunden und in unserer Branche gibt es sehr viele Definitionen von "Qualität".

Ralf Westphal - One Man Think Tank hat gesagt…

@Carsten: Ich sehe hier nichts Spezielles bei Software. Bei einem Auto ist es genauso. Als Autofahrer interessiert mich, dass es fährt. Und mich interessiert, dass es nicht so oft in die Werkstatt muss. Dann es nicht doll rostet. Wie der Hersteller das macht, ist mir egal.

Bei der Software interessiert mich als Kunde, dass sie funktioniert. Mich interessiert aber auch, dass der Hersteller bei neuen Wünschen nicht stöhnt. Und ich will, dass es keine Abstürze oder sonstige Bugs gibt. Wie das die Entwickler machen, ist mir doch egal.

Als Kunde kann ich von außen feststellen, wie die Quali der Software innen ist. Wenn das nicht so wäre, könnte sie mir egal sein. Und dann bräuchten wir uns als Entwickler auch nicht kümmern.

@Robert: Dass dich Aufgabe bei einem Hotelzimmer einfacher ist, sei zugegeben. Deshalb aber sein lassen bei der Software? Nein, im Gegenteil. Wir müssen uns mehr anstrengen als die Hoteliers.

Und wenn wir noch keine guten Kriterien haben (was ich bezweifle), dann müssen wir uns mehr anstrengen, die zu finden. Ohne Reviews ist es kein Zustand, der tolerabel wäre. Wir treten das Geld der Kunden mit Füßen.