The expensive costs outside of estimates
Are you missing the expensive hidden costs in your story estimates?
I have been reading ‘No Estimates’ by Vasco Duarte recently and came across a concept that has been in my head for a while, but I have been unable to put into words. Originally proposed by J.B. Rainsberger, this concept is called accidental complication that creeps into our work due to organizational structures.
Vasco shares an email from Troy Magennis which says that people estimate as if they’re in a perfect world, but as we know, the real world is different. Work gets blocked for multiple reasons (like holidays or team members working on other tasks). He also says that we should be thinking about the entire system not just the perfect development time.
This is important if we start to count “man-hours” on a story. Where “man-hours” means the time spent on a ticket by all humans, if we have 8 people working on it for an hour that is 8 “man-hours”. If we have one person working for 8 hours that is also 8 “man-hours”.
For quite a few tickets the “man-hours” involved in getting a ticket ready to develop can sometimes be a multiple of the amount of actual work required to fix the problem in code. The same can be said of the release process. However, these are not included in the estimates.
This becomes especially important if you work out the cost of a story point. For one project we found out that the average cost of a story point was around £1000. This blew our minds. We thought, “Why does fixing a spelling mistake cost so much money?” What we didn’t consider is all the work surrounding those few minutes it takes to make the code change and commit it.
It seems that systems have a minimum cost per interaction, regardless of the change size. The system overhead can sometimes dwarf the actual code change itself. These costs are often thought of as constant and unchanging, but with some effort, the team can usually improve them. First, though, they need to be brought to the team’s attention.
I would recommend that teams understand the cost of a story point, since knowing this figure changed how our team approached small items and stakeholder conversations. Since discussing small tickets was consuming significant time and cost, we reduced the analysis on simple items. This also made these costs visible at retrospectives, where they became clear areas for improvement.