How Do You Accurately Estimate Programming Time? 483
itwbennett writes "It can take a fairly stable team of programmers as long as six months to get to a point where they're estimating programming time fairly close to actuals, says Suvro Upadhyaya, a Senior Software Engineer at Oracle. Accurately estimating programming time is a process of defining limitations, he says. The programmers' experience, domain knowledge, and speed vs. quality all come into play, and it is highly dependent upon the culture of the team/organization. Upadhyaya uses Scrum to estimate programming time. How do you do it?"
Simply, no software required. (Score:5, Funny)
I take the amount of time I think it will take, double it and move it up a time unit.
So, if I think it will take two days, I estimate 4 weeks. If I think it will take a week, I estimate two months and so on.
It's Easy (Score:5, Funny)
Re:This is what I usually do. (Score:5, Funny)
I figure it boosts my efficiency by getting all my wasted time in up front.
Well, I *used* to use the entrails of goats... (Score:5, Funny)
But the folks who used the table in the lunchroom complained, so we now use the far more sophisticated system of tea leaf reading. This upsets nobody but the tea drinkers as we frequently need to user their cups before they're done, but then tea drinkers are wussies anyway.
Re:This is what I usually do. (Score:2, Funny)
So you spend 16% of the project time developing estimates?
No kidding.
How do you get it so low? Was your project manager sick?
Re:Simply, no software required. (Score:5, Funny)
Re:Chop features. (Score:5, Funny)
Have you ever asked which feature has the highest priority, and received the answer, "all of them"?
The type of twits who give that answer always think they're combining the wit of Oscar Wilde, the insight of Confucius and the cock of John Holmes.
A better formula (Score:4, Funny)
Re:Chop features. (Score:0, Funny)
You can create software on time, have good quality, or cheaply. Pick one.
Re:Simply, no software required. (Score:5, Funny)
I multiply all time estimates by pi, to account for running around in circles.
Re:Function Point Analysis and Man Hours (Score:4, Funny)
I always learned it like this:
1) Make a guess, very generous one. Make sure there's plenty of space.
2) Double it, as you will need an equal amount of time for testing and bugfixing when you're done writing.
3) Double it again, as Murphy will make sure everything will fail, which will lead to inevitable delays.
4) Multiple by PI
Now you're pretty close to a realistic estimate!
Re:This is what I usually do. (Score:3, Funny)
Estimating.
Re:Hofstadter's Law (Score:2, Funny)
Re:Simply, no software required. (Score:3, Funny)
I always add i, because most of the assumptions are imaginary.