The worst thing about catastrophes is that they hit hard, and seemingly at the most inconvenient times.
At least, to listen to some managers, it certainly sounds that way. Somehow, every little thing, every small problem, was magnified until it had the aura of impending doom. At one company, the conversation went something like this:
“We’ve found a major bug in the software.”
“We can’t delay the ship.”
“We can’t ship with this bug.”
At that point, the manager started screaming that the product would go out on schedule, or else. When he finally calmed down and I was able to talk with him privately, he told me that he knew that if the company didn’t ship on time, the customers would abandon them and they would go out of business. He was happy to ship non-functional software to avoid that fate.
When he calmed down still further, he agreed to delay the ship.
I am sure that most readers are chuckling to themselves right now. After all, delays in software are legendary. Obviously, this manager was overreacting. True enough; the question is, why? Why would a perfectly sensible, intelligent man react so negatively to something which is, frankly, a common event in the software business?
It turns out that this particular company prided itself on holding to very aggressive schedules. The schedule was so aggressive that they were virtually always running behind. Therein lay the problem.
Time is a funny thing. We react very differently depending on how we perceive it. Being behind schedule all the time had the effect of generating a certain sense of urgency, which was the stated intent of the aggressive schedule. Unfortunately, the urgency generated in this situation was of the slightly breathless, heart-pounding sort similar to what one might experience in a fight of flight scenario.
The problem with aggressive schedules is that, in fact, being behind schedule can generate the same panicked response in people that they would feel in a situation which actually was dangerous. While in those situations, we’re very good at running away or fighting desperately, but we’re not good at making cool, rational decisions or developing innovative solutions to problems. Each pebble encountered along the road becomes a giant boulder. When we do finally get to the end of the project, rather than feeling a sense of accomplishment and success, there’s more of a sense of relief that at last it’s over. What’s missing is the thrill of victory that energizes people for the next project. That feeling of success is the key to getting, and keeping, people excited and motivated.
In short, instead of the team beating the schedule, the schedule was beating them.
Conversely, when a team is running slightly ahead of schedule, something very different happens. Running ahead of the game means that the team is feeling a constant sense of success. When people feel successful, they work harder, they are more creative, and they look forward to coming into work each day. Teams that are running ahead of schedule are more likely to develop innovative new solutions to problems rather than just slap on band-aids. Feeling that you have the time to stop and think is critical: just think about how easy it is to miss the obvious when you are feeling rushed.
The trick is to view your schedule as a living document.
It’s something that you will constantly adjust according to the situation, especially at the beginning of a project. The less you know about potential difficulties down the road, the harder it is to plan: so don’t. Instead, plan to plan. As you move forward, you can revise and project the schedule further and further into the future.
If you find yourself running behind, that’s feedback.
Pay attention to what it’s telling you. Is something more complicated than expected? Is someone overwhelmed with a task that turned out to be significantly more time-consuming than you thought? Did something go wrong? Is a vendor habitually late with parts? Is your schedule just plain too aggressive?
If you’re running ahead, that’s also feedback.
It might mean that the schedule is too easy and your team isn’t being challenged. Be willing to become more aggressive. It could mean that you need to slow down: are people rushing and cutting corners? At one company, pressure on QA engineers to rush product inspections led to some very expensive and embarrassing recalls and some very irate customers. Moving way ahead of schedule could also mean that your team is working too hard too soon: success is a marathon, not a sprint. Burn out early and you won’t reach the finish line.