4 Gründe, warum Softwareentwickler die schlechtesten Schätzer der Welt sind
Kommentare

Softwareentwickler stehen immer wieder im Ruf, besonders schlechte Aufwandsschätzungen abzuliefern.

Auch bei uns war die Annahme, dass Entwickler hoffnungslose Optimisten sind und die für ein Projekt benötigte Zeit mitunter so schlecht schätzen, dass man für eine realistische Prognose 100% draufschlagen muss, schon des öfteren ein Thema.

Der Programmierer und Autor John Sonmez fügt mit einem aktuellen Blogpost der Liste der Betrachtungen noch eine weitere hinzu. Seinen Ausführungen zufolge sind vier Hauptgründe dafür verantwortlich, dass die Schätzungen von Entwicklern manchmal um mehrere Faktoren daneben liegen:

Nummer 1: Die „unbekannten Unbekannten“

Folgt man Platons Erkenntnistheorie, ist man auf einem guten Weg, wenn man weiß, dass man nichts weiß, sich also im Bereich des bewussten Nichtwissens befindet.

Jeder Softwareentwicklungsprozess steckt voller Unwägbarkeiten, die man diesem Bereich zuordnen könnte: Manche unbekannten Faktoren zeichnen sich ab und können zumindest ungefähr in eine Schätzung einbezogen werden – Sonmez nennt beispielsweise das Szenario, dass Daten in einer Datenbank gespeichert werden müssen, man sich aber noch nicht darüber im Klaren ist, wie man es bewerkstelligen möchte. Dies wäre also eine „bekannte Unbekannte“

Allerdings können eben zuweilen auch „unbekannte Unbekannte“ auftauchen, die gewissermaßen alles über den Haufen werfen. Sonmez verdeutlicht das Verhältnis von „bekannten Unbekannten“ und „unbekannten Unbekannten“ mit folgendem Bild: Es macht einen gewaltigen Unterschied, ob man weiß, dass eine zu überquerende Brücke ein Loch aufweist, oder ob man sie mit verbundenen Augen überschreiten muss und das Loch erst dann bemerkt, wenn man reinfällt.

Nummer 2: Lange Zeitperioden

Schon die Alltagserfahrung lehrt, dass kurzfristige Prognose meist deutlich leichter fallen als langfristige. Das Problem in der Softwareentwicklung ist nun, dass sich Schätzungen im Grunde immer auf recht lange Zeiträume beziehen – beispielsweise nicht auf das Schreiben eines Unit Tests, sondern die Vervollständigung eines Features.

Je länger der Zeitraum, desto mehr häufen sich jedoch Faktoren wie die schon genannten „unbekannten Unbekannten“, oder selbst kleine Fehlkalkulationen, zu einem immer größeren Berg an, was die ursprüngliche Schätzung zunehmend ungenauer macht. Sonmez‘ Erfahrungen zufolge treten diese Schwierigkeiten bereits bei Aufgaben auf, für die man länger als zwei Stunden benötigt.

Nummer 3: Überbordendes (Selbst-)Vertrauen

Manche Menschen sind felsenfest davon überzeugt, an der Supermarktkasse immer in der längsten Schlange zu stehen. Der Wahrheit entspricht dies jedoch nicht, stattdessen handelt es sich um eine Folge selektiver Wahrnehmung: Es werden nur bestimmte Aspekte der Umwelt wahrgenommen und ins Gedächtnis überführt, andere hingegen ausgeblendet. Im Falle der Softwareentwicklung hieße das, dass man sich nur an die Fälle erinnert, bei denen man mit seiner Prognose richtig lag – und alle anderen (unbewusst) verdrängt.

Dieses Phänomen, zusammengenommen mit der Überschätzung der eigenen Fähigkeiten, führt häufig dazu, dass man als Entwickler vor einem zu implementierenden Feature sitzt und feststellen muss, dass sich die Aufgabe deutlich schwieriger gestaltet, als man zunächst angenommen hatte.

Nummer 4: Mangelndes (Selbst-)Vertrauen

So wie ein zu großes Vertrauen in die eigenen Fähigkeiten zu einer Unterschätzung des Zeitaufwands führen kann, kann mangelndes Vertrauen in die eigenen Fähigkeiten das genaue Gegenteil verursachen: Eine Überschätzung der benötigten Zeit. Dies zeigt sich vor allem bei neuen Aufgaben: Menschen tendieren dazu, Aufgaben, die sie zum ersten mal zu bewältigen haben, als deutlich schwieriger einzuschätzen als diese tatsächlich sind. Häufig erledigte Aufgaben hingegen werden leichter eingeschätzt, als sie tatsächlich sind.

Auch wenn eine Überschätzung zunächst eher harmlos erscheint, kann sie durchaus negative Konsequenzen haben: Da Menschen dazu neigen, ein zur Verfügung stehendes Zeitfenster voll auszuschöpfen, wird im Zweifelsfall deutlich langsamer gearbeitet als man eigentlich könnte, bzw. es wird schlicht und ergreifend getrödelt. Verlorene Zeit also, die an anderer Stelle sinnvoller eingesetzt gewesen wäre.

Kommen Ihnen diese Dinge bekannt vor? Würden Sie noch andere vorschlagen? Oder ist das alles gnadenlos übertrieben? Teilen Sie uns Ihre Einschätzungen mit!

Aufmacherbild: Pretty young lady taking a decision with scale above her head von Shutterstock / Urheberrecht: ra2studio

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -