So I’m currently reading Agile Estimating and Planning (Robert C. Martin Series), came across this topic and thought I’d get some feedback. We’re often asked to estimate work before we get started and I’ve been doing something I was unaware of. Before I delve in, let’s define these terms.
- Ideal Time – The time we estimate it will take to complete a story uninterrupted (consider this an estimate of size).
- Elapsed Time – The actual amount of time it will take to complete the story.
The fact is we never really have an ideal day, where we have a full 8 hours to contribute to development. Why? Well pretty much any or all of the following: meetings, emails, peer reviews, application support, phone calls, training, being pulled off to another project, task switching, extra long lunches, err, I mean lunch and learns, etc.
We estimate in Ideal Time because it’s easier (we can’t really guess what the interruptions will be from one day to another). But realistically, this isn’t correct. Given that we estimate in Ideal Time, how do you account for these typical external project demands? Do you add a percentage to your estimates? Do you adjust your estimates during the story? Or do you just try and finish as much as possible?
Personally, I’ve been adding a small percentage to my estimates and I’ve seen another developer do this as well. I’m curious what others are doing…