Friday, July 22, 2005

Project estimation

A good estimate is the essence of a good project plan. Any manager worth the alphabets in his title will be familiar with the plan, do check and act cycle. This cycle is a distillation of a core principle of management that values measurement, visibility and continuous improvement.

Estimating project timelines can be a tough task. Indeed estimation is more an art than a science. The absence of clarity of project scope, resource availability, task interdependencies makes the decomposition of a project into its component tasks a challenging problem. Yet planning is an essential factor in determining the success of a project. A project manager tasked with estimating a project that is very similar to one that has been executed before is fortunate. However, this is rarely the case in the rapidly evolving world of information technology. Software, methodologies and even personnel are in a constant state of flux. Some of this risk is controllable but most of it is not. Just ask a project manager who has lost his star technologist to a competitor just when the critical path of the project had commenced. However, the presence of all this ambiguity should not dissuade a manager from coming up with a good estimate.

Break down a more difficult problem into smaller easier parts.
While it is difficult to intuitively determine a sequence of tasks that should occur for every project, it is possible to apply principles to most situations. Consider for example the case where one needs to develop a new system. No matter how unique the system one seeks to build, there must be a phase in which one determines, to a greater level of detail, what one is trying to build; how it is going to be built; then building it and finally making sure the system actually works. This is the first level of decomposition. This principle can be applied repetitively to further decompose each of the phases until one can no longer proceed any further. For example, during the plan phase, one must assess what features the system must have, what legal/market driven/strategic constraints must be conformed to; what business process will be impacted and what currently exists that could be re-used.

Develop, archive and use metrics to provide an initial rough number.
Having broken down the complex task into sub-tasks makes the process of quantifying the amount of effort needed easier. A top-notch manager must use a set of metrics to provide a ball park estimate of this number. These metrics evolve over a period of time and are primarily driven by past experiences. While history is not a determinant of a future outcome, it can act as a powerful predictor of outcomes. At worst, it provides a logical rational for picking an estimate. These metrics in association with the tasks will give you an initial estimate of how long the project will take.

Develop a qualitative sense for the complexity of common technology tasks.
As with any art, project estimation involves a large dose of heuristics. A project manager over time develops an intuitive sense for which tasks are more complex than others. A qualitative ranking of tasks into high, medium and low complexity categories helps fine tune the results obtained by the use of metrics. For example, the level of effort associated with a module which has a level of effort of six person days (based on metrics) can be increased by a factor of two for a complex task and decreased by twenty percent when the complexity is low.

Use both a bottom up and a top down approach repetitively
The top down approach involves the break-down of a project into a number of sub tasks. This step is followed recursively until no further decomposition can take place. A bottom up approach involves constructing the whole project from its constituent tasks. Each of these approaches has advantages. A deconstructionist approach allows for the discovery of the interdependencies and relationships between sub-phases and tasks. However, a top down approach can go only so far in its decomposition. The complexity of the problem at hand can quickly entangle a practitioner and lead to analysis paralsis with nothing to show for it. A bottom up approach, on the other hand, puts together smaller tasks together to build complex units. It thus gives a detailed view of the complexities involved in the system and supports a evolutionary approach.

Use a range of numbers, instead of just one.
It is often tempting to answer questions precisely. However, in the world of estimation a precise answer is almost always wrong. It is therefore more prudent to come up witha range of values that would potentially be true and proffer an opinion of the number most likely to be true. This approach helps the manager build uncertainty into her estimate.

These simple steps when followed diligently can significantly improve estimates.

(c) 2005 Vivek Pinto For more details please visit us at Wonomi Technologies

1 Comments:

At 6:17 AM, Anonymous Anonymous said...

Reading your blog and I figured you'd be interested in advancing your life a bit, call us at 1-206-339-5106. No tests, books or exams, easiest way to get a Bachelors, Masters, MBA, Doctorate or Ph.D in almost any field.

Totally confidential, open 24 hours a day.

Hope to hear from you soon!

 

Post a Comment

<< Home