Texte & Downloads: Die Küche



Wie geht es zu in einer Software-Abteilung? Wie ist der Ablauf? Welche Prozesse gibt es? Wie arbeiten die Mitarbeiter? Ganz einfach: Eine Software-Abteilung ist wie eine große Küche.

Hier einige Gemeinsamkeiten, die mir aufgefallen sind.

Küchenchef / Chefprogrammierer
Einer muss das Sagen haben und die Organisation übernehmen. Wenn mehrere Personen etwas zu entscheiden haben, wird das Projekt im Chaos enden. ("Viele Köche verderben den Brei.")


Fertigprodukte
Das Kochen mit Fertigprodukten ist möglich, aber man sollte schon wissen, was drinsteckt, um Überraschungen zu vermeiden. Dasselbe gilt für fremde Klassen/Funktionen, die man in sein Projekt einbinden möchte.


Team / Aufgabenverteilung
Alle müssen kochen können, doch wenn es ans Eingemachte geht, hat jeder sein Spezialgebiet.
Für diesen Bereich ist er Fachmann und kann damit auf dem effektivsten Weg der Gruppe helfen und dazu beitragen, das Projekt erfolgreich umzusetzen.


Werkzeug
"The Right Tool for the Right Job" ("Das richtige Werkzeug für die richtige Aufgabe")
Nur mit den richtigen und ihm bekannten Küchenutensilien (Töpfe, Messer, Löffel usw.) kann ein Koch seine ganze Leistung zeigen.
Deshalb sollte man Programmierern weitestgehend freie Hand lassen, wie bspw. bei der Wahl der Arbeitsumgebung und Software.


Regeln
Ein Koch muss sich an gewisse Regeln halte. Sei es beim hygienischen Umgang mit Lebensmitteln, die Einhaltung von Arbeitsschritten oder die Kenntnisse von Basis-Rezepten.
Ein Programmierer braucht Programmier-Richtlinien. Ohne Regeln wird das Zusammenspiel des Teams nicht funktionieren und das Endergebnis mit Sicherheit enttäuschen.


Fortschritt
Um seine Gäste auf Dauer begeistern zu können, muss ein Koch mit der Zeit gehen und kann nicht immer dasselbe Gericht kochen. Wenn auch im IT-Bereich der Spruch "Never change a running system" gilt, ist trotzdem auch der Programmierer dazu angehalten, ab und zu über den Tellerrand zu gucken, um nach Neuigkeiten auf dem Software- bzw. Hardware-Markt zu schauen.


Sauberkeit oder Pfusch
Das sofortige Aus einer Küche ist Schmutz und auch in der Programmierung ist sauberer Quellcode oberstes Gebot.
Der berühmte "Pfusch am Bau" mag in einigen Branchen üblig sein, doch in der Küche und in der Software-Entwicklung zieht der Pfusch weite Kreise, da er sehr nachtragend ist.


Abschmecken und testen
Die wohl wichtigste Gemeinsamkeit ist das Abschmecken des Gerichts bzw. das Testen eines Programm-Moduls.
Ich persönlich lege hierauf ganz besonders viel Wert und verlasse mich dabei auch nicht auf automatisierte Tools. Kein Test ist besser, als wenn man sich vor das Programm setzt und es (wie ein Benutzer) bedient. (Wobei ich leider oft festgestellt habe, dass es manchen sehr schwer fällt, in die Rolle des Testers/Benutzers zu schlüpfen.)


Endabnahme
Kein Gericht verlässt die Küche, ohne dass der Küchenchef noch einmal einen Blick darauf geworfen hat. Ein Projektleiter sollte vor der Übergabe an den Kunden noch einmal alle abgesprochenen Funktionalitäten testen und erst dann freigeben.



Ich gebe zu, dass einige Punkte auch auf andere Berufe passen, doch ich finde es sehr interessant, dass es beim Vergleich mit einer Küche so viele Ähnlichkeiten gibt.