I’m teaching my older daughter how to drive, and I now realize why inexperienced drivers are so dangerous. They are inconsistent and unpredictable, because they are inexperienced. I can’t help her gain experience by making a list of all possible situations and explaining what she has to do. I have to generalize. Right now, we’re working on making good turns, which includes staying in her lane, adjusting the speed of the car throughout the turn, and accelerating at an appropriate time to come out of the turn. My goal is to have her look predictable to other drivers (so she doesn’t surprise the other drivers), and to consistently make good turns (so she doesn’t have an accident).
Managers need to be consistent and predictable too. Here’s a problematic example of predictability I encountered last week while I was teaching at the Better Software conference. A test manager wanted help. “My company always allows the developers to slip their schedules, but we have to make it up in test.” That’s an all-too common scenario. The manager said it happend on many projects. I asked when the manager could have predicted it. “Oh, at the beginning of the project,” the manager joked.
If you can consistently predict a difficult outcome for your projects, it’s time to make a change. As early as you can see trouble, you can at least change how you will react to the problems. For a test manager, that means you might have to replan the testing, both the types of testing and who performs it. For a development manager, if you’re subject to a long drawn-out requirements process, consider asking the project manager to timebox requirements, or to use a different lifecycle for the development part of the project.
Just as with driving, your goal for project work should be to not surprise anyone else. Even if that’s your goal, surprises sometimes do happen. But if you can see a problem arising, your predictable behavior could be to proactively change what you do, instead of reacting. If you consistently look for alternative ways to accomplish the work and still protect the people and project (avoiding project accidents), you’ll be more successful. None of this is easy. But, just as with driving, it’s necessary. We all have to learn enough skills, whether in driving cars or projects, to know how to adapt to the inevitable surprises, to contain them and continue.