Like many software development shops, we need to provide estimates of the time required to fix each bug and add each new feature. The primary reason for the estimates is to set expectations for when tasks will be completed and to prioritize what is to be worked on.
As an agile shop, we have tried a few scales for estimating such as:
tiny, small, medium, and large and also the Fibonacci sequence: 1, 2, 3, 5, 8
but the one we have been using for years that we like best is fuzzy hours.
We use the symbols 1,2,3, and 4 where:
- 1 means 0 to 2 hours
- 2 means 1 to 8 hours
- 3 means 4 to 40 hours
- 4 means more than 30 hours
Notice that our ranges overlap and that is what makes them fuzzy. When an estimator feels an estimate is in a fuzzy zone it is up the estimator to pick one zone or the other based on their gut feeling.
We have also learned that the velocity for all items sized 1 and 2 are the same, and items with a size 3 take only slightly longer to reach a completed state (development, testing, quality assurance, and documentation all complete). Items with a size of 4 take longer, but only about twice as long on average as a 3.