When it comes to estimating, developers live in an idealistic world. Despite repeated experiences of constant interruptions causing projects to overrun estimates, developers tend to look at subsequent projects with wishful thinking.
It’s strange. Most developers associate so much pain with the last minute rush to deadlines, you’d think they’d surely tack time onto their next estimate. Developers absolutely loathe the following required and unavoidable tasks that occur almost every day:
- Interruptions by managers
- Interruptions by other developers
- Bug fix requests by QA
- Status meetings (Scrum and other)
- Design meetings (theirs and their teammates’ — ok, they usually find some enjoyment and challenge in these)
- Deployment meetings
- Code Reviews
- Etc. (does “etc.” warrant a bullet?)
Yet, with so many of these cutting into their daily attempts for focused development, you’d think they’d take these into account when estimating the next project. Developers dream of a world where they could lock themselves alone in a room for days, with coffee and junk food, and just code…
(taking a break to dream… niiice…)
…and nothing will ever kill that dream, no matter the pain of what they’ve just been through. It’s an admirable stubbornness and idealistic mindset, but it just ain’t realistic.
Developers, (developers, developers,) if you can’t convince yourself that you’ll be doing more than coding, for your next estimate pretend that you’re working at least 30% less than a full week. Just pretend you’ll only be working 25 to 30 hours per week. Now how long will it take you to complete the project?
Of course, the next thing to tackle is the complaints about interruptions, even after proper estimates…