My father-in-law is a project manager for a gigantic construction company, so it was interesting talking about estimation for him. Estimates are much more predicatble in his field, even when working on multi-million dollar projects with timelines that span several years.<p>The difference was that in construction, the same subprojects have to be done over and over again, so subcontractors can easily be given and held to realistic deadlines, and your only bloat comes from the usual hiccups. On the other hand software engineers _by definition_ estimate things they&#x27;ve never built before. If they&#x27;ve already built it, they can just port it over and start working on something new.<p>Combine that with everyone&#x27;s tendency to underestimate, inability to determine unknown unknowns, and the usual hiccups, and we&#x27;re left with the usual refrain: accurate software estimation is basically impossible.