Suche

Warum Entwickler hoffnungslose Optimisten sind

Hartmut Schlosser
© shutterstock.com/BoBaa22

Kennen Sie die Situation? Sie fragen einen Programmierer-Kollegen, wie lange er für eine definierte Aufgabe benötigt und bekommen die Antwort: „Höchstens ein paar Stunden.“ Nach einigen Tagen fragen Sie nach und stellen fest, dass der Kollege immer noch nicht fertig ist. Schlussfolgerung: Bei Aufwandsschätzungen sind Entwickler hoffnungslos optimistische Menschen, oder?

Entwickler-Optimismus

Blogger Swizec (aka „A geek with a hat“) geht sogar soweit zu sagen, dass Optimismus ein Charakterzug von Entwicklern sein muss, um in der komplexen Welt der IT zurecht zu kommen.

Langjährige Erfahrung habe gezeigt, dass Entwickler die Art von Leuten seien, die:

  • in ein Projekt mit einer Spezifikation einsteigen, die sich garantiert noch ändern wird.
  • eine Reihe unbekannter Tools hernehmen, diese auf eine unbekannte Domäne anwenden – und damit Erfolg haben.
  • mit jedem Projekt in ein neues Universum eintauchen.
  • jede paar Jahre all ihre Tools wechseln.

Entwickler-Selbstüberschätzung

Doch ist wirklich Optimismus allein Schuld daran, dass Aufwandsschätzungen von Entwicklern regelmäßig so weit von der Realität entfernt sind? Etwas theoretische Unterfütterung bietet uns die Theorie der Selbstüberschätzung. Die Forschung hat hier einige typische Verhaltensmuster erkannt:

  • Selbstüberzeugung: Viele Menschen tendieren dazu, das eigene Wissen zu überschätzen. Sagen beispielsweise Teilnehmer an einer Quizshow, sie seien zu 90 Prozent sicher, die Antwort zu wissen, so zeigen Studien, dass sie tatsächlich nur in 40 Prozent der Fälle richtig liegen.
  • Fehlplanung: Besonders bei langen und schwierigen Aufageben tendieren Menschen dazu, die Zeit, die sie dafür benötigen, zu unterschätzen. Je kleiner die zu lösende Aufgabe, desto weniger unterliegt man dieser Selbsttäuschung.
  • Illusion der Kontrolle: Bekannt ist auch die Tendenz von Menschen so zu handeln, als hätten sie über etwas Kontrolle – auch wenn sie diese Kontrolle tatsächlich nicht haben.
  • Wunschdenken: Weniger häufig anzutreffen, aber dennoch mitunter relevant, ist die Neigung von Menschen, die Wahrscheinlichkeit eines Ereignisses zu überschätzen, weil sie sich das Eintreten dieses Ereignisses besonders stark wünschen.

Nun könnte man argumentieren, dass man es als Entwickler üblicherweise mit einem Wissensgebiet zu tun hat, das man unmöglich voll überblicken kann. Zudem sind die zu lösenden Aufgaben typischerweise komplex. Ferner vertrauen Entwickler der Technik, die sie „einigermaßen“ zu beherrschen glauben – und wer wünscht sich nicht, das Problem tatsächlich in „ein paar Stunden“ lösen zu können?

Unbekannten Faktoren in der IT

Entwickler sind also bereit, sich stets neuen Gegebenheiten zu stellen – und sind in diesem Sinne optimistisch bezüglich dem Projektausgang, den eigenen Fähigkeiten, der Technologie, den Spezifikationen, den unbekannten Faktoren…

Andererseits sind gerade die unbekannten Faktoren in der IT so schwer einzuschätzen. Swizec macht ein Beispiel. Vor die Aufgabe gestellt, einen Algorithmus zu entwerfen, der auf einer Webseite automatisch Header, Sidebar und Seitencontent erkennt, war die Aufwandsschätzung „ein paar Stunden“ schnell gemacht.

Doch wie es sich herausstellte, war die Sache komplizierter als gedacht. Zunächst musste Swizec sich in die Objekt-Hierarchie der HTML-Library Boilerpipe einarbeiten. Dann fand er heraus, dass der verwendete HTML Parser linear war, sodass nicht entschieden werden konnte, welche Kindelemente zu welchem Vater-Knoten gehören. Dann bereitete plötzlich das Übertragen der Algorithmus-Ergebnisse nach HTML Schwierigkeiten: „add a number in front of every node in the DOM.“

Schätzen muss man üben

Sicher haben auch Sie schon Stunden an einem verzwickten Problem gesessen, das sich am Anfang doch so einfach anhörte.

Das Fazit von Swizec lautet deshalb:

Whenever you talk to a programmer, just remember, they are an optimistic bunch. Yes, even the most disheartened scruffy old programmer is insanely optimistic.

Gibt es für dieses Phänomen eine Lösung? Swizec bietet keine an. Wir sehen aber eine: Man erhebe das Problem zum Prinzip. Man mache Aufwandsschätzungen zur täglichen Routine, übe sich darin wie im Programmieren selbst, am besten in einem agilen Methoden-Kontext, der ebenfalls regelmäßig retrospektiv hinterfragt, warum die initiale Schätzung daneben gegangen ist.

Und wenn man Glück hat, wird man den Optimismus mit einem gerüttelt Maß an Pessimismus mischen können, der einen in die Lage versetzt, auch komplexe Aufgaben einigermaßen adäquat einzuschätzen.

Es bringt einen also nicht viel weiter, stets im Kopf zu haben, dass Entwickler immer ein Haufen unverbesserlicher Optimisten sind. Besser ist es, sich stets bewusst zu machen, dass man in der ersten Schätzung immer daneben liegen wird – dazu ist die IT eben zu unvorhersehbar. Aber vielleicht wird die zweite Schätzung besser, oder die dritte, oder vierte, fünfte…

Wie optimistisch – oder pessimistisch – sind Sie?

Aufmacherbild: Thinking businessman making decision von Shutterstock / Urheberrecht: BoBaa22

Geschrieben von
Hartmut Schlosser
Hartmut Schlosser
Content-Stratege, IT-Redakteur, Storyteller – als Online-Teamlead bei S&S Media ist Hartmut Schlosser immer auf der Suche nach der Geschichte hinter der News. SEO und KPIs isst er zum Frühstück. Satt machen ihn kreative Aktionen, die den Leser bewegen. @hschlosser
Kommentare

Hinterlasse einen Kommentar

1 Kommentar auf "Warum Entwickler hoffnungslose Optimisten sind"

avatar
400
  Subscribe  
Benachrichtige mich zu:
Codierer
Gast

warum die schätzung nicht passt ?
weil der chef dir bei einer realen schätzung die frage stellt ob du spinnst
das rennt dann so
wie lang brauchst du : 2 monate
chef : ne maximal 1 monat
kunde : ich zahl nur 2 wochen
chef : ok du hast eine woche