Michael Wolfe, CEO of Pipewise, weaves a parable to answer the question of why software development estimates are always far lower than the actual amount of work. He imagines a hiking trip where two people set out to hike the California coast from San Francisco to Los Angeles.
The line is about 400 miles long; we can walk 4 miles per hour for 10 hours per day, so we'll be there in 10 days. We call our friends and book dinner for next Sunday night, when we will roll in triumphantly at 6 p.m. They can't wait!
Once our intrepid hikers get going, however, they find that the coastline has a lot more twists and turns than appear on a map, that they have to make large detours to avoid problems like private land and dangerous animals, and injuries and illness knock entire days out of their trip. They decide to re-estimate the walk and have trouble believing their own estimates.
My friend says, well, we've gone 40 miles in 4 days, it is at least a 600 mile trip, so that's 60 days, probably 70 to be safe. I say, "no f--ing way... yes, I've never done this walk before, but I know it does not take 70 days to walk from San Francisco to Los Angeles. Our friends are going to laugh at us if we call and tell them we won't see them until Easter!
Anyone who is managing developers, especially non-technical managers, should read all the answers to the Quora question. A fair number of them simply bash inept management, but the top-rated answers are quite insightful and should be instructive to a business person trying to manage a team of developers.
Among my favorite enlightening comments...
Developers are also the only group where they are asked to do something which has never been done before, and tell someone else how long it will take before they even know what actually needs to be done.
Engineers attempt to scope work by estimating the time all known substeps will take to address. [But there are usually more unknown steps than known].
Go read the full parable and the rest of the top responses to the question Why are software development task estimations regularly off by a factor of 2-3?