Software
Estimation is often considered as a black art which is mostly neglected during
the inception of an Information Technology Project, nonetheless almost always
is used to formulate two most important attributes of a project i.e. the
cost and the deadline, and often with a rigid expectation of high level of
accuracy to hit the targeted project deadline.
There is a viscous cycle in the whole estimation thing: when executives ask the Project Manager for estimation, it is often portrayed as, which should always be the true purpose of estimation, which is, to get a "ball park" figure to gauge the depth of the water or to be exact, should the executive be bother about the project and invest her time to materialize the project from its conceptual level. But, as soon as the estimation is handed over for that project, that number is considered as a
commitment from the project manager. Later on, if that project deviates from that
supposedly “ball park figure” estimation, the project manager is personally held
liable for that deviation.
So the project managers are either unwilling to
provide an estimation at all or pad the estimation to cover themselves from the
uncertainties and unknowns of projects. This is a classic “catch 22” situation
for most of the project managers who are managing software development projects
or planning to start a career as Project Manager of Information Technology. Now, the million dollar question would be: how
an IT PM should walk on that double edge sword, if you will, to provide true
estimation of software project without falling into that “commitment” trap.
I am working on a series of blog posts where I would try to answer that question including overview of
some of the well-known, in terms of market share and most commonly used, software
cost estimation models such as Function Point Analysis, Use Case Point, and Heuristic
method. I would create a framework and guideline to help the IT Project Managers to choose the right estimation model for their
software projects. The posts would also have a list of best practices that would
help to fight “estimation fatigue” and prepare Project Managers to
duck the most common pitfalls where they’re forced to respond with a “ball park
figure”, sometime at a water-cooler conversation, at a very early stage of projects.
There is an important, but often ignored, characteristic of software estimation
which is called “the cone of uncertainty”. I would also touch upon that characteristic in brief by showing how to effectively use that phenomenon to build confidence and earn the trust of the executive sponsors and senior management of your organization.