I'm responding to a recent email chain where I made the statement "this will only take 8 hours of development time" and stopped. It occurred to me that we had already spent 20+ man hours of meetings to decide if we should do this particular thing, how we should do it, and who should do it. If we had simply said "do it" we would have saved 18 hours labor... or even better, could have developed 3 alternative solutions and spent a couple hours deciding which one was best.
It's interesting though because in the chain of meetings, emails, and other administrative things, when I sat down and looked, there where only two people who actually had "work" to do. I define "work" is defined as the act of transforming an idea into a useful piece of software. Everyone else was simply there to "help" get the work done.
When I start looking back at my problems estimating... it isn't really that developers and technical people are bad at estimating, it's that they're bad at anticipating the number of ancillary things that will crop up from a relatively simple solution. If I estimate 8 hours of effort (especially when I REALLY think it should only take 2, but I'm padding a little because I know the person who will make the change won't be quite as fast as me), I fully anticipate it to end up taking 20-30 hours of extra labor for various people who will never actually DO anything, but want to sit down and talk about it.
So now my question is: Is my true estimate 2 hours? 8 hours, 30hours, or something else?