Estimates are an approximation of effort, duration and cost of a project based on number of factors.

Estimates are an approximation of effort, duration and cost of a project based on number of factors.

Estimates are an approximation of effort, duration and cost of a project based on number of factors.  Factors include project size, nature, methods, techniques, life cycles, forecast team capabilities and perceived risks.  All estimates seek to account for these factors more or less explicitly. The number of factors accounted for explicitly is generally a measure of estimation process maturity. Factoring project risks into the estimate is an important step for improving the maturity of all estimation processes and an important step in developing solid estimates.  Project risks are important to understand because they foreshadow variability in a team’s level of performance.  Risks that become issues can impact productivity, time-to-market and cost.

In A Framework for Evaluating Agile Risk Management, I leveraged the macro-framework described by Tom DeMarco and Tim Lister in their book, Waltzing with Bears DeMarco and Lister identified five risk categories:

  • Intrinsic Schedule Flaws – A schedule flaw of any type will require additional planning, reporting and could potentially increase the effort and cost of the project.
  • Specification Breakdowns – A problem in the requirements can cause a myriad of problems ranging from rework to project failures.
  • Scope Creep – Scope creep represents a project adding scope with approval (such as backlog grooming in Agile or change control boards in waterfall projects).
  • Personnel Loss – Losing key personnel will impact the capability of the team(s) which could impact the cost, duration and schedule.
  • Productivity Variance – Productivity varies based on factors that include complexity and technology, estimates are generally created before all of the factors impacting productivity are known.

Risks that evolve and become issues (remember risks represent a possibility that something will happen) will affect the effort, cost and/or duration need to deliver a specific project. During the estimation process whoever is doing the estimate needs to account for the potential impact of risks on the project estimates.  

Risks can be expressed in terms of probability and impact. In Agile and Risk Management, Part 2 we defined impact as the effort that would be required to fix the issue and the probability of occurrence.  Using this framework to qualify risk, it is very apparent that risks represent a potential impact.  A heavy-handed approach to account for the impact of risk would be sum the potential impacts and add the result to the effort estimate.  The effort estimate could then be converted into duration (staffing models and release plans) and into cost.  

A more nuanced approach would leverage that same data to establish a range of productivity rates (output per unit of effort – function points per person month).  Productivity rates are a reflection of historical performance within an organization which reflect how change or project shocks affect performance. The range could then be weighted by probability to establish the estimate.  Monte Carlo analysis is a more advanced approach to incorporating the variability generated by risk into the estimate.  

Project risks don’t impact estimates, however the anticipation of the potential of a risk actually occurring should impact estimates.  The degree of effect is a matter of probability and potential bottom-line impact.