While I was finishing up, I realized what had happened. When my wife asked me if I could accomplish the painting in a certain amount of time, my thought process was...
- If I do it now, it will make her happy.
- If it takes a little too long, the worst that will happen is that she'll be a little grumpy until I finish, but once I'm done she'll be happy.
- Once I start, no one is actually going to make me stop before I'm finished... I mean, who wants a mostly painted room?!?
- I completely overlooked the fact that delaying the phone call could be problematic.
- If we say we can do it by the deadline the boss is asking for, the boss will be happy.
- If we don't get done in time, that's ok, because we'll never ship on time anyway, so the boss won't mind.
- Once we start, we can always get an extension... I mean, who wants a mostly tested/developed application anyway?!?
- We completely overlook that missing those deadlines sometimes have severe consequences.
Experience says this simply isn't true. Projects get canceled for running over time. Companies lose money. The market window is missed. People get laid off. Missing these deadlines is a big deal! We know that! But if we know that, why do we estimate our time the same way we estimate painting a room? I don't know the answer, but I certainly think it's an interesting question.
President & Chief Technologist, PerfTestPlus, Inc.
Co-Author, Performance Testing Guidance for Web Applications
Author, Web Load Testing for Dummies
Contributing Author, Beautiful Testing, & How To Reduce the Cost of Testing
"If you can see it in your mind...
you will find it in your life."