3 ms·
Another thing which I think kills accuracy in estimating development time is the ratio of time needed for "figuring out what to do" and "actually doing it". If
by robertskmiles 15y ago
Another thing which I think kills accuracy in estimating development time is the ratio of time needed for "figuring out what to do" and "actually doing it".
If you're learning a song, the first stage is very quick. You think about the problem for a moment and you decide on a plan like "Read the sheet music and try to play the song. Focus on areas you have trouble with. Repeat". The bulk of the time taken is spent "actually doing it", not "figuring out what to do".
The thing about the "figuring out what to do" stage is that often in order to estimate the time needed for that stage, you basically have to have already completed it. The answer could come to you out of the blue, it could take weeks of thinking into dead ends. And with software, that first stage can be the bulk of the time. Software is a more like writing a novel than learning a song. The thing that takes longest isn't the actual writing, it's the figuring out what to write. If someone asked you how long it would take you to write a novel that gives insight into the human condition by following the story of a family caught up in a bloody civil war, what time estimate would you give them? I expect your typing WPM wouldn't be a big part of the calculation.
You only know how long it's going to take once you know how you're going to do it, and once you know how you're going to do it, you've already done most of the hard work.