Wednesday, November 09, 2016

Software Estimation with Hours or Story Points in Scrum (aka the Eight Bloodsucking Ticks of Estimation)

Should you estimate with hours or Story Points when starting a scrum?

I've done both here in the great state of Texas and here's my thoughts:

Starting out I always liked hours.  Hours are comfortable, you can understand them, and they are  simple.  How many hours to make that widget?  Seven.  Easy.   You can touch hours, look them up in the dictionary, and explain to your boss what an hour is.  But "hours" have a dark side.

At the beginning of a sprint, we estimated we could work 6 hours a day,  with 2 hours for email and meetings.  How many stories can we put in a sprint?  Well, we've got two weeks, that's six hours times 10 days equals 60 hours of work per developer.

But our estimates were always way low for the work, about half of what they should be.  Frustration mounted as we missed features due to poor estimations.   Slowly, like a rattler sneaking up on a rat,  I realized the problems with estimating in hours.

When estimating hours we miss these eight bloodsucking ticks:

1.  Additional parts of the task we didn't think about.

2.  Some tasks are harder than we thought.

3.  Task Interruptions.  "Hey, I know you are in the middle of a scrum, but production has this huge problem and the big boss says to drop everything and fix it now."

4.  Unexpected tool problems.  At the most inopportune time, your drive will crash, Visual Studio will get corrupted, and the new guy will demolish the entire Git repository.

5.  Too many meetings.

6.  Developers are natural optimists.  "I really can do that in seven hours."

7. Pride.  You don't want to look bad in front of the ScrumMaster (tm)  and other developers, so you estimate low hours.

8. No time for bug fixes.  QA will find bad code, but we don't estimate time for it.

After seeing hours not working well we switched to story points.  How much is a story point worth?  We started with a rough guess of half a day.  (I know story points are suppose to be complexity, but, ... yeah, whatever, we started with two a day).

After a few sprints we got our velocity - about one story point a day - and it worked well.

The magic of story points is that they subsume the 8 Bloodsucking Ticks of Estimation into them.

No comments: