Industrial Logic used hours for our estimates while building our Refactoring to Patterns Interactive (http://www.industriallogic.com/rtpdata/index.html) product. At the time, we used a spreadsheet (we now use ProjectCards) to keep track of our iterations. The spreadsheet contains copious details about our hour estimates during the project.
During the early days of the project, there was significant push-back to using hours. I thought that we had to experiment with hours, since we have to experiment to keep learning. The group agreed so we kept the experiment going.
We kept track of everyone's Available Hours (e.g. I'm at a conference Monday-Tuesday and can work on the software Wed-Friday, so my available hours are 3-days worth of work, or 21 hours).
We summed individual Available Hours to get a number for the group's Available Hours.
We estimated all Iteration Stories using hours. We summed all the estimates to see that they did not exceed our Available Hours.
We then kept track of what we called Achieved Hours. That means how long did the work actually take us. We initially did nothing with the Achieved Hours number. That is, it did not effect our planning for the next iteration. Over time, people on the project insisted on adding in a "load factor" based on our history. So a load factor was multiplied against our Available Hours. When that happened, the hours started to feel less like hours and more like points.
Here are some real numbers from the first 15, 1-week iterations of the project:
Iteration # -- Available Hours -- Achieved Hours.
01 -- 34 -- 21
02 -- 15 -- 25
03 -- 31 -- 24
04 -- 25 -- 00 (slammed by other work, couldn't work on the software)
05 -- 16 -- 00 (ditto)
06 -- 47 -- 39
07 -- 74 -- 37
08 -- 50 -- 43
09 -- 49 -- 46
10 -- 76 -- 53
11 -- 59 -- 47 (load factor introduced)
12 -- 27 -- 33
13 -- 43 -- 43
14 -- 33 -- 35
15 -- 77 -- 77
Throughout the project, we did iteration retrospectives. During those retrospectives, I recall many many discussions about points vs hours. There was a lot of discomfort. Ultimately, the guys felt compelled to add the "load factor" into the Available Hours equation at iteration 11.
During our end-of-project retrospective, conducted by the wonderful III, it became clear that folks truly disliked using hours for estimates.
So we are now back to using points. We continue to accomplish a lot of good work and the points give us a good idea of what we can expect to get done from iteration to iteration.
Speaking for myself -- I did not mind estimates in hours. However, I really disliked that others were so uncomfortable using hours. So since the vast majority of folks on our projects prefer points, I'm more than happy to use points. Furthermore, this experiment has helped me to see the wisdom in continuing to recommend points, instead of hours, to the majority of our clients. --JoshuaKerievsky
Some folks asked me what the people on the above-mentioned project specifically didn't like about using hours. Here is a summary:
I only use time when there is a problem with divided attention: people having multiple projects, for example, or being pulled off to go to company meetings on a large scale. In that case, though, I track the time as time and don't necessarily use it to make estimates. Example:
We estimated we could complete 10 story points in a one week iteration, but only completed 5. We estimated that we would have time for 14 pairing sessions in the week, but due to time pressure we only got to use 7.
So... we paired for 50% of the expected time and got 50% of the estimated points done... that means our estimate is off due to our failure to spend the amount of time expected rather than other factors like not understanding the scope of the stories.
In the next iteration, we could
-- CharliePoole