Wednesday, March 26, 2008

Managing risk for better estimates

Everyone who has given an estimate for a task knows that they are giving the estimate based on everything happening "normally". Normal means that there are no unplanned or unknown difficulties that arise. If one expects to be able to make a plan that takes into account all of these unplanned or unknown difficulties then it is impossible at the beginning or during the project to make an estimate that is accurate. This is possible only after the project is over and that is too late. So what does one do when faced with a situation such as this and needs to give an estimate with a reasonable level of accuracy.

The most important thing is to make a plan. Any plan. So when you start off the project you make the best possible plan that you can at that point of time. Once you make that plan ask yourself - "What are the items in this plan that can cause my estimate to go wrong?" Once you ask yourself this question you will be given some answers such as
  • We are doing this design for the first time we are not sure what difficulties there might be.
  • We do not know enough about this task to realistically give an estimate or to break it up into smaller tasks so that we can estimate it accurately.
  • We do not know how to do this task.
  • We do not have trained people to do this work.
  • People may quit the project and we won't have the right people or enough people to complete the project.

These are nothing but the risks to your project. So what you need to do is put a mitigation plan for each of these risks. The mitigation plans may go like this

  • For the design that is new lets build a Proof Of Concept that will make things clearer.
  • Talk to the client about the task that does not have clarity so that we can get a better understanding and give a better estimate.
  • For untrained resources or not knowing how to do something conduct a training program or employ someone who can help in showing how the task can be done.
  • For people that may move out of the project spend time in talking to them and motivating them.
As you can see each of the items in the mitigation plan are tasks by themselves that need to be given time estimates. So add all of these as tasks to your plan.

This plan now needs to be looked at on a periodic basis (usually I look at the plan on a weekly basis) and I check if I have more information to update the estimate or to elaborate the tasks some more and lets say I do have more information then I update the plan and ask myself the question again and update the plan based on the answers I get to my question. Thus I have a new plan.

This is a process that never ends until the project is closed. Hence managing risk is an integral part of ensuring that you meet your estimates.

No comments: