One of the reasons some folks struggle with the idea of relative estimation, is that they want a tool to hold people accountable for doing what they say they are going to do. You said this would take 40 hours, I gave you a week to do it, why isn’t it done yet? Sounds reasonable… right?
In addition, if everyone provided estimates for their part of the job, and we made sure that we had enough people to cover all the estimates, that would mean that we had a credible plan, and should be able to deliver by the required due date, right? Again, sounds pretty reasonable.
Get this… not only could we hold individuals accountable for being done when they said they’d be done, we could hold them accountable for estimation accuracy too… and maybe even gather some data to get better estimates for the next project… and as a bonus… if these folks didn’t get done when they said they would, it wouldn’t even be our fault, they were the ones that provided the estimate. Excellent!
Here’s the problem… what if that individual commitment doesn’t work in the best interest of getting the product delivered? What if helping someone else on the team is the behavior we really want… the behavior we really need…. but our accountability to the estimates causes us to look out for our own individual commitment instead?
For example, let’s say that Bob and Sue both estimate their individual tasks for the next sprint. It becomes pretty clear early in the sprint that Bob’s tasks are going to take way longer than he though. Sue on the other hand is rockin’ her estimates and has moved on to the next set of work.
The thing is, both Bob’s work, and Sue’s work, are required to deliver an increment of value to the business. It doesn’t matter if Sue delivers her work exactly according to her estimate, if Bob is struggling to get finished, she needs to throw in and help. Holding Sue accountable for her part isn’t helping get the product delivered any faster.
That’s why Agile doesn’t care about estimated hours, and furthermore holds the entire team accountable for the iteration deliverables. We want to incentivize everyone on the team to look out for the best interest of the product. We want everyone on the team to work together to build a working product increment by the end of the sprint. Individual estimates, and individual accountability, oftentimes work against that goal.
But here’s the deal. The team and the team’s management need to be vigilant to make sure that the superstars aren’t in a position to always carry folks on the team if they are consistently underperforming. If Bob always struggles getting his commitments delivered, we may have a performance issue that needs to be dealt with.
There are other ways to deal with people that are struggling, other than requiring individual estimates and individual accountability to those estimates. Focusing on the rate at which the team creates business value is the only real measure of success.
(BTW – On a plane to San Francisco, riding in coach. No room for the 15″ MacBook, so I did this post from the WordPress app on my iPhone. It crashed once while I was writing. So if there is any goofiness in this post, that’s why… happy reading!)