Posted on October - 30 - 2011

Applying Earned Value Management to Software Intensive Programs

By Robert P Hunt (Galorath Incorporated), Paul J. Solomon (Performance-Based Earned Value), and Dan Galorath (Galorath Incorporated)

Often, traditional earned value approaches do not deal sufficiently with the idiosyncrasies of software intensive programs.  However, successful management of software intensive programs can be achieved by focusing on establishing the requirements, developing a reliable baseline estimate for cost and schedule, selecting effective software metrics, applying Performance-Based Earned Value® (PBEV), and using analytic processes to project cost and schedule based on actual performance.

Introduction

The Department of Defense estimates that software now accounts for 40% of all research, development, test and evaluation (RDT&E) spending[i].  Software intensive projects that achieve their original cost and schedule projections are rare.  Many information technology projects have been declared a disaster area by commercial and government managers.  These projects have been too costly, too late, and often don’t work right.  Applying appropriate technical and management techniques can significantly improve the current situation.

Inaccurate estimates can threaten project success causing poor project implementations, shortcutting critical processes, and emergency staffing to recover schedule.   The lack of well defined project requirements and specifications may result in significant growth in cost and schedule.   Symptoms of this growth may include constantly changing project goals, frustration, customer dissatisfaction, cost overruns, missed schedules, and the failure of a project to meet its objectives.

PMI published an analysis of several government defense and intelligence agency large-scale acquisition programs that experienced significant cost and schedule growth.  This analysis shows that several critical factors need to be addressed in the pre-acquisition phase of the acquisition cycle.  The principal causes of growth on these large-scale programs can be traced to several causes related to overzealous advocacy, immature technology, lack of corporate technology roadmaps, requirements instability, ineffective acquisition strategy, unrealistic program baselines, inadequate systems engineering, and work-force issues.[ii] This paper will discuss some key elements associated with:

  • Establishing a process for requirements definition and developing the cost and schedule baseline
  • Developing a reliable cost and schedule baseline,
  • Identifying critical software management metrics,
  • Applying Performance-Based Earned Value (PBEV), and
  • Using an analytic process (such as SEER Control;) to project cost and schedule based on actual performance.

Read the rest of this entry »

Posted on September - 08 - 2011

Welcome to the Baseline

baselineSo, you’ve checked over all of your initial data, and nothing seemed out of the ordinary. You’ve double checked with the client and you know exactly what they think that they want. And you’ve plugged all of that carefully measured data into your software estimation program of choice and hit the enter key.

Congratulations and welcome to the baseline!

You’re now at the moment where if nothing changes (they will) and everything goes according to plan (they won’t), this is exact estimate of cost, team-size, and time relating to your project.

It’s a sound idea to take a good look at the baseline estimate before releasing it either internally or to the client on the offhand chance that there was an actual mistake on the initial data collection. If you’ve worked on similar projects before, and you have previous baseline estimates, these can be helpful for a quick comparison.

If everything appears to be in order, then the fun begins – the collection of “What if”s that can skillfully whittle down a baseline estimate into a lean, productive, completed project that lands under-budget and ahead of time.

Enhanced by Zemanta

Posted on April - 16 - 2011

Misunderstanding Risk in Cost Estimates in Software Development

Total Cost of Ownership (TCO) has been popularized by Gartner for estimating all of the costs, both direct and indirect, which go into a project. Managing a software development and implementation project is exceptionally difficult: estimating initial costs is hard enough, but how do you accurately estimate the cost of software maintenance or the burden placed upon IT infrastructure and support? 

Many software projects result in total or partial project failure, indeed it can be said that many projects are planned to fail. Inaccurate initial cost assessments are compounded by increased uncertainty and misunderstanding over software maintenance and the true costs associated with support and operation. There is a serious risk of failing to understand the true project requirements combined with failing to adequately plan the project, which contributes to a loss of control once work commences.

In particular, there is a failure to appreciate the impact of two key variables – time for development and the true effort required. Frequently, estimates are produced using judgment and prior experience; however there is inherent failure built into a project at the planning stage when these two factors are not reassessed as the project takes shape. Project scope and size will change over time in the initial design and development phases; however, project size plays a key role in determining the amount of time and effort required. What is needed is a structured ability bound the uncertainty in early estimates then to make reiterations of the project parameters, especially project size, so that the key estimates of time and effort required are revised in line with project needs and deliverables.

The last twenty years have seen significant developments addressing the issue of estimation viability. To an extent, this has contributed to a false sense of security in initial estimates without understanding the underlying constraints on using them. It is fallacious to believe that uncertainty with estimation has been removed from the project management equation and in some instances, estimation tools are used in a subjective fashion to justify a course of action which is simply not warranted by the facts. A fundamental mistake which becomes all too apparent as a software project goes off track, over budget or fails to deliver the promised benefits.

It is imperative that managers understand that estimates add risk and uncertainty are part of the estimates themselves. In addition, there is a need for reiteration of estimates when the project changes or when more is known regarding the underlying assumptions. There is for manual estimation methods to underestimate software projects due to the misunderstanding of critical project inputs and functionality of the finished project, but even where these are well-understood, there is and will always be a fundamental attachment of some degree of uncertainty, i.e. risk.