At Boston SPIN last night, Tim Lister of “Waltzing with Bears” fame gave a talk about recognizing and managing risk. It was great. If you ever have a chance to see Tim speak in person, do so (Yes, Tom DeMarco is also an excellent speaker, but he wasn’t there last night :-).
When I manage risk in a project, I ask myself “What’s the worst thing that could happen?” For the schedule, it’s the choice of lifecycle and practices that could help or hurt the schedule. For the planning it’s not knowing enough and building a bad plan. For the people, it’s hiring or assigning people who can’t start on time, or don’t know how to work on the product.
What I see most often when I perform assessments is that the people don’t know how to develop or test the product. There is so much learning the project staff requires that the time estimate is off — sometimes by orders of magnitude. So when I manage a project, I think about all the other risks, but the one that usually hits the top of my list is: “How can I manage the risk that the project staff will be unable to develop the product?”
Here are some ways I’ve managed that risk in the past:
- Ask the project staff what they can show the entire project team early: designs, models, simulations, early runs of just the algorithms, early plans, etc. Once they show something at one stage, I ask the question about the next stage. (First I might see a high level design. Then I could see an algorithm. Then a prototype of just the algorithm. That’s what I mean about the stages.)
- Ask people to show me visible progress. Telling me they’ve completed something is not the same as showing me output or someone else’s review of a work product or performance measurements. Visible progress is necessary.
- Ask the project team to view the work as a problem solving exercise. What three alternatives (minimum) have they considered? What three things can go wrong with each alternative? If they can accomplish the design, is there some other problem I don’t know about — so we can go about solving those problems?
If you’re working on a risky project — probably the only projects worth doing — then a huge risk is not knowing whether you can accomplish the work. Apply the ideas of small deliverables, visible progress, and problem-solving, and you’ll manage the risk. You may not eliminate the risk, but you’ll manage it. As Tim said last night, “Bad things might still happen. But disasters won’t happen.”