> „Wie lange wird es wohl dauern, das zu bauen?“
- Bei dieser Frage, die Softwareentwickler fürchten und hassen, hat mir meine Waschmaschine einen Denkanstoß gegeben
- Die Schwierigkeit der Aufwandsschätzung in der Softwareentwicklung, die mir meine Waschmaschine gezeigt hat
- Beim Einbau der Waschmaschine nach dem Umzug in ein neues Haus hat alles deutlich länger gedauert als erwartet
- Eine Aufgabe, die normalerweise in 10 Minuten erledigt ist, dauerte diesmal 4 Stunden
- Unerwartete Hindernisse (Blocker), die sich vorher nicht absehen ließen, verzögerten die Installation
- Mir wurde klar, dass dieser Prozess dem Grund sehr ähnelt, warum Aufwandsschätzungen in der Softwareentwicklung so schwierig sind
- Hindernisse und Lösungen
- Hindernis 1: Es gab keine Öffnung für den Stromanschluss, daher konnte die Waschmaschine nicht ans Stromnetz angeschlossen werden
- Lösung 1: Ich kaufte im Baumarkt eine 60-mm-Lochsäge und bohrte ein Loch
- Hindernis 2: Mit einem Bohrer für Endverbraucher ließ sich die Lochsäge nicht verwenden
- Lösung 2: Ich besorgte einen leistungsstärkeren Bohrer und nutzte diesen
- Hindernis 3: Der Abfluss- und Zulaufschlauch war im neuen Haus kürzer als erwartet
- Lösung 3: Ich wollte einen neuen Verlängerungsschlauch kaufen, stellte dann aber fest, dass sich der vorhandene Schlauch nicht verlängern ließ, und kaufte erneut einen neuen Schlauch
- Hindernis 4: Eine fest sitzende Metallkappe am Wasserhahn ließ sich nicht entfernen
- Lösung 4: Ich kaufte einen größeren Schraubenschlüssel und entfernte die Kappe
- Hindernis 5: Der Spigot des Abflusses war durch eine PVC-Wand blockiert
- Lösung 5: Ich bohrte mit einer Bohrmaschine durch die PVC-Wand und schloss den Ablaufschlauch an
- Nach insgesamt fünf Besuchen im Baumarkt und vier Stunden Arbeit konnte ich die Waschmaschine schließlich ordnungsgemäß installieren
- Hindernis 1: Es gab keine Öffnung für den Stromanschluss, daher konnte die Waschmaschine nicht ans Stromnetz angeschlossen werden
- Warum Aufwandsschätzungen in der Softwareentwicklung schwierig sind
- Selbst bei vertrauten Aufgaben ist die Wahrscheinlichkeit hoch, dass in einer anderen Umgebung unerwartete Variablen auftreten
- Dass Schätzungen auf Basis früherer Erfahrungen oft falsch liegen, liegt häufig an „Unknown Unknowns“
- Einige Beispiele:
- Eine Bibliothek, die man verwenden wollte, wird nicht mehr gepflegt und muss direkt angepasst werden
- Ein Update der Entwicklungstools führt dazu, dass bisherige Vorgehensweisen nicht mehr funktionieren
- Mit einer neuen OS-Version funktionieren bestehende Abhängigkeiten nicht mehr korrekt
- Einer Infrastruktur wurde eine neue Komponente hinzugefügt, die sich anders verhält als erwartet
- Fazit
- Die Erfahrung im neuen Haus zeigt, wie schwierig Aufwandsschätzungen in der Softwareentwicklung sein können
- Vor Beginn der Entwicklung sollte man die Anforderungen so gründlich wie möglich untersuchen, doch unerwartete Blocker sind unvermeidlich
- Auch wenn ein Softwareprojekt wie eine vertraute Aufgabe aussieht, können in einer neuen Umgebung völlig andere Herausforderungen auftauchen
- Es ist notwendig, Zeitpläne und Ressourcen unter Berücksichtigung solcher Variablen flexibel anzupassen
1 Kommentare
Hacker-News-Kommentare
Software-Schätzungen sind ein Witz. Es gibt keine Strafe für Unterschätzung
Toller Artikel, aber der wesentliche Unterschied zur Software-Erfahrung fehlt
DIY-Projekte sind immer so
Gelernt, wie man nach dem Bohren 25 Minuten lang gerade bleibt, und wie erstaunlich geräuschunterdrückende Ohrhörer sind
Gute Geschichte. Aber meine Erfahrung ist fast genau das Gegenteil
Musste an den Satz denken: „Die Realität hat erstaunliche Details“
Als der Autor ein Loch für das Stromkabel bohrt, setzt er sauber einen Kunststoffeinsatz ein
Die meisten Kollegen sind überrascht, wenn man sagt, dass Recherche und Inventur vor Projektbeginn viel Zeit kosten
Interessanter Gedanke, den man im Hinterkopf behalten kann, wenn man sich das nächste Mal über den Preis eines Handwerkers wundert
Was sollte man tun, wenn man vor Beginn eines Softwareprojekts nicht weiß, welche Fragen man stellen muss?