Sie hatten doch gesagt, Sie brauchen für dieses Feature zum Programmieren zwei Wochen. Warum sind es jetzt drei Wochen geworden? Ein Maurer kann doch auch genau sagen, wie lang er für eine Mauer braucht!
Ja, das kann er wohl. Meistens. Aber mal angenommen, die Mauer, die zu bauen ist steht nicht im Ort wo der Maurer wohnt, sondern in Sibirien. Und der Untergrund ist noch nicht klar, ist es Moor, Steppe, flach, hügelig, trocken, sandig. Ausserdem ist noch nicht ganz klar, zu welchem Haus die Mauer am Ende gehören soll. Man weiss auch noch nicht, ob auf die Mauer noch etwas obendrauf gebaut werden soll, oder nicht. Und welche Ziegelsteine verwendet werden sollen, und ob Mörtel vorhanden ist, oder man den erst noch machen muss. Oder ob man die Ziegelsteine erst noch selber backen muss. Der Keller soll dann darunter erst hinterher gebaut werden. Dann ist noch unklar, ob vielleicht nach Fertigstellen der ersten paar Meter ein zweiter Maurer dazukommt, den man zwar nicht bestellt hat, der aber ebenfalls den Auftrag hat, diese Mauer zu bauen. Man muss sich also mit dem abstimmen. Dann kommt kurz vor Fertigstellung der Architekt vorbei und sagt „sorry, ich hatte das nicht ausreichend dokumentiert, die Mauer soll auch noch da hinten um die Ecke rum gehen“. Dann stellt sich heraus, dass die Hälfte der Ziegel fehlerhaft ist, und ersetzt werden muss, bevor weiter gemauert wird, und die Mauer zusammenbricht.
So, oder so ungefähr läuft das eben nicht beim Mauern, sondern in der Softwareentwicklung.