One of the mistakes I see a lot is teams failing to identify risks early and failing to leave time to deal with the unexpected things that come up. Imagine a project that seems to have work something like this:
- Task A. Needs to be done 100 times
- Task B. Needs to be done 2 times
- Task C. Requires analysis, if work needed will be done 10 times
- Task D. Requires x hours per item, final count is unknown
Each of those four tasks has some unknowns. Some obvious, some yet to be discovered. Some may just require more time, some might need more than that – money to replace hardware, on site consultant, or a dramatically different approach. The trick is to try to identify those risks early.
Teams struggle with that. Let’s say they start with Task A to get work done, with the added bonus of wanting to confirm their time per task estimate – if that’s wrong, it’s a 100x error, so it’s important to figure that out early. That’s a good start, but as soon as the time estimate and work effort are solid, I want them to spend time on Tasks B,C,and D. I know that A can be done and I have a tested estimate, I don’t know if B, C, and D can be done, or done in the time estimate we have.
The team wants to get the work done on Task A. It feels productive to get work done, especially when it is perhaps 90% of the overall work. Interrupting that work to start on the other tasks is annoying, and it might even add a bit of time to the overall effort for them to change tasks and then change back later. It is worth the time and pain. Time and again I see teams push tasks to the of the schedule – often because they don’t know the answer – and when we get there we hit a real roadblock and it can’t be resolved in the time remaining.
Its not possible to identify all the risks, trying to do so can mire you in analysis. It is worth trying to identify the risks on a per task basis and resolving them early. Finding out early gives you time, finding out late means no time – and it’s hard to look competent when you discover on day 98 of 100 that Task D will require a visit from an external vendor that takes 3 weeks to schedule.
It’s not always easy to strike the right balance. Managers, especially project managers, should help teams look at the tasks and identify the risks and rewards. It’s not possible to drive all schedules based on risk, sometimes it will be based on available people, sometimes maybe just because the first task is the most profitable. What you can’t do is leave it to the team to decide. It’s not fair for them to have to figure out what execution order you want, you’ve got to tell them, after they have helped you understand the risks of each task.