Most of the surveys with software projects have identified missed budget and missed deadlines as the major criteria for failure of the project and meeting milestones as the major success criteria. 39% of the projects attribute lack of planning of resources, schedule and cost as the cause for project failure (Bull Survey-1998). While 24% of the projects surveyed in CHAOS report (2004) have been identified as failed, 44% of projects were categorized as challenged. Major causes for failed projects were identified as insufficient or over optimistic planning, poor estimating, long or unrealistic time scales, ineffective time and cost management. Many of these causes are interrelated and directly or indirectly related to other causes identified for project failure. Sound estimation model tuned to organization’s experience is the key to effective project planning, execution, monitoring and control. However, every estimation has some degree of inaccuracy and use of data available in the organization’s measurement repository, developed through various projects executed by the organization, in estimating the project’s planning parameters is the key to achieving relatively accurate cost and schedule estimates and achieve higher maturity. Organization’s measurement data repertory must be organized based on various attributes that help choose right historical data. As CMMI model explains, examples of data attributes contained in the organization’s measurement repository include the following:
- Size of work products or other work product attributes
- Response time
- Service capacity
- Supplier performance
During estimation process, these attributes help you
- Identify appropriate historical data from the project being estimated or similar projects
- Accounting for and recording similarities and differences between the current project and those projects whose historical data is used
- Independently validating the historical data
- Recording the reasoning, assumptions and rationale used to select the historical data
- Review and identify risks for the project from historical data of similar projects.
Statistical process control which is very dependent on size, cost and schedule estimates for various projects undertaken by organizations is an important ingredient to achieve higher maturity as defined in CMMI. More accurate and consistent estimations will help plan, measure and plan improvements to various processes involved in development of software products and execution of projects. However, the essential element of quantitative management is having confidence in estimates. Software project personnel have no firm basis for telling a manager, customer, or sales person that their proposed budget and schedule are unrealistic. On the other hand, project managers have no firm basis for determining how much time and effort each software phase and activity should take.
Estimates done at the proposal stage has high degree of inaccuracy where requirements for the scope are not defined to the lowest details, but as the project progresses and requirements are elaborated, accuracy and confidence on estimate increases. It is important to choose right estimation technique to suite requirement and professions trained in these techniques.