April 2009 Archives

Autofahren und Programmieren (2)

Auf meinen vorherigen Eintrag bin ich mehrfach positiv angesprochen worden. Und weil gerade "Der Duft der Frauen" im Fernsehen lief, hier ein kleiner Nachschlag.

Feedback
Es ist beim Autofahren wie auch beim Programmieren sehr wichtig, dass man weiss, wohin die Fahrt geht. Beim Programmieren liefern z.B. Unit-Tests sehr viel gutes und direktes Feedback, beim Autofahren liefern Augen, Ohren und das "Popometer" diese Rückmeldung. Von uns würde wohl keiner Auf die Idee kommen, blind Auto zu fahren, aber es gibt noch immer Leute, die ohne Unit-Tests programmieren.

Wie es aussieht, wenn man blind Auto fährt hat Al Pacino in "Der Duft der Frauen" herrlich demonstriert. Und wenn er dann auf einmal übermütig wird und Gas gibt, erkenne ich so manchen Programmierer wieder. Fazit: Mit Feedback fährt es sich sicherer!

Autofahren und Programmieren

Nein, nicht gleichzeitig. ;-)

Ich habe mich gefragt, warum mir beides so viel Spaß macht. Vielleicht weil beide Aktivitäten so ähnlich sind? Beim Programmieren, wie auch beim Autofahren, kommt es auf schnelles, ehrliches Feedback an. Nur so wird man besser.

Auch Kent Beck hat das Programmieren ja immer mal wieder gern mit dem Autofahren verglichen. Da stellt sich die Frage: Was können Programmierer von Rennfahrern lernen?

Steuerung
Egal ob der Chef in einem Meeting oder der Fahrer in einem Sportwagen, wenn er das Steuer zu schnell herumreißt, führt das zum Verlust der Bodenhaftung. Und mit großer Wahrscheinlichkeit hat das einen teuren Knall zur Folge. Wie gut die Haftung noch ist, spüren erfahrene Chefs / Fahrer beim Lenken. Deshalb: Keine abrupten Änderungen und möglichst ungefiltertes, ehrliches Feedback (kein indirektes Management bzw. keine Servolenkung).

Traktion
Räder haben einen Reibwert und der ist (neben der Gummi-Mischung und dem Profil) auch von Druck und Temperatur abhängig. Er ist aber nicht davon abhängig, ob das Auto gerade beschleunigt/verzögert oder eine Kurve fährt. Wenn man also eine Richtungsänderung macht, muss man den Reibwert auf Längs- und Querbeschleunigung verteilen. Man kann die Geschwindigkeit in einer Kurve nicht mehr so heftig ändern, wie auf einer Gerade. Irgendwie habe ich das Gefühl, das gilt auch für Autos ;-).

Wenn die Reifen / Entwickler in einer Kurve nicht zu hören sind, ist man zu langsam. Wenn sie gleichmäßig vor sich hin schreien, dann ist man schnell. Sobald das Schreien zum Brüllen wird, und auch noch ungleichmäßig, dann ist es zu spät. Man dreht sich schwungvoll ins Aus.

Zero Tolerance
Toyota hat durch Zero-Tolerance die Zuverlässigkeit seiner Fahrzeuge sehr stark erhöht. Das war ein langwieriger Prozess, denn das Wesentliche war, das Qualitätsbewusstsein in den Mitarbeitern zu verankern. In der IT machen wir Vergleichbares: Continuous Build, Unit-Tests, Metriken, ... und Coaching. ;-)

Coaching
Fahrlehrer für Sportwagenfahrer (Instruktoren, Coaches) gibt es natürlich auch. Sie bieten dem ambitionierten Fahrer persönliches Feedback, was sich aus Ihrer langjährigen Erfahrung speist. Der Fahrer lernt, die Ideallinie zu finden, die richtigen Bremspunkte zu setzen, etc. Gute Instuktoren gehen aber weiter: So sind z.B. die Konzentration aufs Wesentliche und natürlich das Erkennen des Wesentlichen wichtige Aspekte. Wer die Tipps der "alten Hasen" befolgt, wird besser. Wichtig ist dabei sowohl die Ambition zur Verbesserung, als auch die Bereitschaft, Feedback anzunehmen. Noch eine Analogie zum Programmieren!

Brute Force vs. Agility

zwei_traumautos.jpg
Ford GT (500 PS auf 1,5 Tonnen) vs. Lotus Elise (192 PS auf 835 kg)

Während auf den Geraden die 500 PS des GT einen satten Vortrieb schaffen, verlangen seine 1,5 Tonnen ein früheres Bremsen und der Wagen zeigt ein ganz anderes Kurvenfahren, als der kleine, wendige, leichte Lotus. Nennen wir es Agilität. ;-) Und dass Softwareentwicklung selten eine Autobahn ist, aber häufig eine sehr kurvige, enge Bergstrasse, sollte sich herumgesprochen haben.

...

Wer findet noch mehr dieser Analogien?

Recent Assets

  • zwei_traumautos.jpg

August 2009

Sun Mon Tue Wed Thu Fri Sat
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          

About this Archive

This page is an archive of entries from April 2009 listed from newest to oldest.

März 2009 is the previous archive.

Juli 2009 is the next archive.

Find recent content on the main index or look in the archives to find all content.