Capability Maturity Levels and Implications to Software Estimating

Capability Maturity Levels and Implications to Software Estimating

An estimate is the most knowledgeable statement you can make at a particular point in time regarding cost/effort, schedule, staffing, risk, and the ...ilities of the product or service.[1]

No alt text provided for this image

Immature versus Mature Software Organizations [3]

Setting sensible goals for improving the software development processes requires understanding the difference between immature and mature organizations. In an immature organization, processes are generally improvised by practitioners and their management during the course of the project. Even if a process is specified, it must be rigorously followed and enforced.

Immature organizations are reactionary, with managers focused on solving immediate crises. Schedules and budgets are routinely exceeded because they are based on something other than realistic estimates. When hard deadlines are imposed, product functionality and quality are often compromised to meet the schedule.

Immature organizations have no objective basis for judging product quality or solving product or process problems. The result is that product quality is difficult to predict. Activities intended to enhance quality, such as reviews and testing, are often curtailed or eliminated when projects fall behind schedule.

Mature organizations possess guide the organization-wide ability to manage development and maintenance processes. The process is accurately communicated to existing staff and new employees, and work activities are carried out according to the planned process. The processes mandated are usable and consistent with how the work is done. These defined processes are updated when necessary, and improvements are developed through controlled pilot tests and/or cost-benefit analyses. Roles and responsibilities within the defined process are clear throughout the project and across the organization.

Let's look at the landscape of maturity in estimating the work for those providing the funding for the work.

1. Initial

Projects are small and short, and while important to the customer, they likely need to be more critical to the success of the business in terms of cost and schedule. 

  • Informal or no estimating
  • When there are estimates, they are manual, without any processes, and likely considered guesses.

The result of this level of maturity could be better forecasting of the cost and schedule of the planned work. And a surprise for those paying for the work.

2. Managed

Projects may be small, short, and important. Some form of estimating, either from experience or from the decomposition of the planned work, is used to make linear projects of future cost, schedule, and technical performance.

This past performance is usually not adjusted for past variances, just an average. The linear average usually doesn't consider changes in the demand for work, technical differences in the work, and other uncertainties in the future for that work.

This is the Flaw of Averages approach to estimating. The effort needed to decompose the work into the same-sized chunks is the basis of all good estimating processes. In the Space and Defense business, the 44-day rule is used to bound the duration of work. This answers how long you will wait before discovering you're late. For us, the answer is no more than one accounting period. In practice, project status - physical percent complete is done every Thursday afternoon.

3. Defined

There is an estimating process using recorded past performance and the statistical adjustments of that past performance. Reference Classes are used to model future performance from the past. Parametric estimates can be used with those reference classes or other estimating processes. Function Points are common in enterprise IT projects where interfaces to legacy systems, database topology, user interfaces, and transactions are the basis of the business processes. 

The notion that we've never done this before, so how can we estimate, begs the question do you have the right development team? This is a past performance issue. Why hire a team with no understanding of the problem and then ask them to estimate the cost of the solution? You would only hire a plumber to install a water system if she had done this before in some way.

4. Quantitatively Managed

We use measures, Metrics, and Architecture assessments - Design Structure Matrix is one we use - to construct a future model. External Databases are referenced to compare internal estimates with external experiences.

5. Optimized 

There is an estimating organization that supports development, starting with the proposal and continuing through project close out. Also, there is a risk management organization helping inform the estimates about possible undesirable outcomes in the future.

Resources

[1] Improving Estimate Maturity for More Successful Projects, SEER/Tracer Presentation, March 2010.

[2] Software Engineering Information Repository, Search Results on Estimates

[3] The Capability Maturity Model for Software

要查看或添加评论,请登录

Glen Alleman MSSM的更多文章

  • 2 - Fundamentals of Digital Engineering Systems

    2 - Fundamentals of Digital Engineering Systems

    This is the 2nd in a 3-part series on Digital Engineering. The 1st introduced the Capabilities of Digital Engineering.

  • Some GovLoop Publications

    Some GovLoop Publications

    GovLoop is The Knowledge Network for the Government of more than 300,000 federal, state, and local government peers in…

  • Five Immutable Principles of Project Success No Matter the Domain, Context, Management Tools, or Processes

    Five Immutable Principles of Project Success No Matter the Domain, Context, Management Tools, or Processes

    Here is a collection of materials I use to guide project success when we are not immune to common reasons for project…

    6 条评论
  • Planning is Everything

    Planning is Everything

    Plans are nothing; Planning is Everything. The notion that plans are nothing but planning is everything is a standard…

    3 条评论
  • Learning from Mistakes is Overrated

    Learning from Mistakes is Overrated

    We've all heard this before: hire good people and let them learn from their mistakes. The first question is, who pays…

    2 条评论
  • Quote of the Day

    Quote of the Day

    “The first rule of any technology used in a business is that automation applied to an efficient operation will magnify…

    3 条评论
  • Quote of the Day

    Quote of the Day

    For the sake of persons of different types, scientific truth should be presented in different forms and should be…

    1 条评论
  • The Fallacy of the Iron Tiangle

    The Fallacy of the Iron Tiangle

    The classic Iron Triangle of lore - Cost, Schedule, and Quality- has to go. The House Armed Services Committee (HASC)…

    9 条评论
  • Why Projects Fail - The Real Reason

    Why Projects Fail - The Real Reason

    At the Earned Value Analysis 2 Conference in November of 2010, many good presentations were given on applying Earned…

    2 条评论
  • Quote of the Day - Risk

    Quote of the Day - Risk

    The real trouble with this world of ours is not that it is an unreasonable world, nor even that it is a reasonable one.…

    6 条评论

社区洞察

其他会员也浏览了