Software Estimation Best Practices

There's No Risk in Software Project Planning

I like listening to audiobooks when I go for a morning run. This month it is a David Baldacci thriller about two CIA professional killers pitted against each other who end up working together to save us all from global catastrophe.  Apparently, there is a ton of planning involved in stealthily hunting a target, making the kill, and then getting away unseen.  That’s because there is a lot of risk.  Timing is critical, down to the split second, and the slightest mistake can end your life.  Discussing the highly complex plan to foil an assassination attempt with his partner, one agent says to the other, “There’s no risk in planning. The risk is in the execution.”

That got me thinking about software development and QSM’s SLIM-Suite estimating, tracking, and forecasting tools.  Do I agree with that statement?  Yes and no.  Let’s look at it both activities – project planning and execution.  

Planning

The activity of planning is not risky as far as your personal safety is concerned. You probably aren’t in danger of getting attacked or making a mistake that will cause bodily injury (you may experience emotional trauma or at least endure a minor headache).  It is most definitely risky for software development programs and initiatives, however, because aggressive plans based on poor estimates handicap the delivery team.  Without understanding the dynamics of software development projects or the ability to rapidly compute a range of potential outcomes to identify risky scenarios, planners may inadvertently commit to unrealistic schedule, budget, and staffing goals.  In fact, most plans are “goal based” ― task lists and staffing plans derived to give management or the customer what they want, because there is no solid framework or supporting data to defend against it. 

Yes, there is risk in planning.  I do not want to be responsible for executing a plan that is likely to fail.  It won’t turn out well for me, the team, or the business!

Planning risk can be drastically reduced with the proper information, tools, and strategy.  The CIA agents possess intelligence on the location, people, and situation and they look at all of these “inputs” from multiple vantage points.  Explicitly accounting for unexpected pitfalls produces plans that balance risk and reward.  SLIM-Estimate, SLIM-MasterPlan, and SLIM-Collaborate estimating tools promote the  same balanced planning approach. Multiple metric views allow estimators to recognize and visualize tradeoffs (pitfalls) and maximize natural advantages. This is the kind of solid intelligence that leads to defensible plans and successful projects.

Software Project Risk Planning

Our software production equation, coupled with a robust industry database, models the nonlinear relationship between core metrics – system size, productivity, effort, and duration – so you can calculate and anticipate the impact of underestimating and/or failing to control scope, assuming high productivity, thinking that adding more people will make the deadline attainable.  You can quickly and easily run several “what if” scenarios (varying scope and other assumptions) to flush out unrealistic goals and produce achievable plans based on known capabilities.  Task and project dependency risk can be assessed at the program and portfolio level, and the right amount of risk contingency calculated to produce plans you can commit to with confidence.

I cannot definitively say, “There’s no risk in planning,” because that is just the nature of software projects.  I do know that SLIM’s estimation process and supporting tools enable you to quantify risk and decide what to do about it.

Execution

Let’s assume you have the data and processes to produce the best possible estimate and associated plan. We all know that once the project begins, forces known and unknown can derail and often sabotage it, despite the heroic efforts of the team.  The risk of project execution is similar to planning – having reliable and timely intelligence – but now what is needed is data that provides a clear picture of the current situation, warnings of impending danger, and trustworthy alternative plans based on the new reality.  It turns out the heroes in my CIA story were double-crossed by higher-ups.  But the agents accounted for that scenario and created a secret alternative plan to complete their assignment, expose the traitors, and live to show up in a sequel (I’m guessing).

No one is out to intentionally kill your project. Missing targets is usually due to several factors playing out over time.  Maybe it is increased scope that can result from unexpected product and project complexity or simply agreeing to take on more work.  Productivity can degrade due to staffing shortages and/or learning curves that come with new technologies.  And quality issues alone can delay deployment and put the project in jeopardy. 

Yes, there is risk in execution.  Real deadlines, budgets, business strategies, and personal reputations are at stake!

To understand the true project landscape, anticipate challenges, and adjust the plan for the unexpected situations, you need more than effort/cost and schedule tracking. These metrics tell you how much time and resources have been expended, but say nothing about work completed.  For a balanced picture, you need a project GPS (Global Positioning System).  SLIM-Control is an extremely powerful and flexible tool to track planned versus actual performance and outcomes so you can see exactly what’s going on.  Collecting and charting actual completed product size (features, stories, conversions, etc.), staffing levels, milestones completed, and defects found against plan provides the early warning system you need to identify bottlenecks and take corrective measures.  The ability to compute multiple forecasts to completion, based on actual performance and alternative strategies, equips you to make intelligent decisions and increase project success.

Software Project Planning Risk

Again, I cannot say “There’s no risk in execution.”  Starting out with plans based on reliable estimates is the first big step towards success.  Closely monitoring actual performance and updating plans based on sound data and analysis is also key to minimizing project risk.