A couple of weeks ago we were putting together a schedule for a mobile app we're working on. We prefer having our developers come up with their own schedules (so they really believe in the schedule) and using short milestones to avoid surprises.
At some point, one of our developers mentioned they were adding some extra time to each step of their schedule to account for various unknowns. I'm a big believer in getting an accurate schedule by trying to build in some padding for unknowns. However, I like adding all of the padding as an explicit piece at the end of the schedule instead of sprinkling it throughout the plan.
The best example I heard for why you do it this way was an example from the military. A general asks how long it will take to get his jeep ready for a trip. His request goes down the chain of command until it reaches the private who will actually be pulling the general's jeep out of the motor pool, checking it out and driving over to the general.
The private figures it'll take about a day, but to be safe, he doubles it to two days. He tells his boss, a lieutenant that it'll take two days. The lieutenant, to be safe, doubles this and tells his boss the captain that it'll take four days. By the time the general hears back, the estimate is that it will take a year or two to have his jeep ready.
At every step of the process the people weren't aware of padding already built into the schedule and so to be safe they added more of their own padding. No one was being particularly unreasonable, it was just a lack of awareness.
Instead, the private could have told his boss that it'll take about a day to get the jeep ready and plus a second day of extra time just in case the jeep turns out to have some sort of serious mechanical problem that wasn't anticipated. Then everyone would know how much explicit padding was built in, could judge that it was reasonable, and not feel the need to add more.
This problem of excessive padding isn't just a problem in "vertical" stacks like chains of command. It also happens in "linear" stacks when there are many steps in a schedule and each one is padded. In all likelihood, every single step of the schedule isn't going to go over time and so you will have way over padded the schedule. And if every step IS going over schedule, you've got a more fundamental problem to solve first in learning how to come up with decent baseline time estimates for tasks.
Sunday, February 27, 2011
blog comments powered by Disqus
Subscribe to:
Post Comments (Atom)