Software Cost Estimation and Risk

Document Sample
Software Cost Estimation and Risk Powered By Docstoc
					Software Cost Estimation and Risk

Software cost estimations are important for budgeting, risk analysis, project planning and
control and for software improvement analysis. There are numerous estimation
techniques and [4] classifies them as:

   1. Model-based – These are based on theory and experimentation and there are many
      models, some even proprietary. Examples: Putnam’s Software Life-cycle Model,
      Checkpoint, PRICE-S, ESTIMACS, SEER-SEM, SELECT Estimator, and
      COCOMO II
   2. Expertise-based – These are good when there is absence of quantified empirical
      data and are based on the subjective knowledge of a domain expert. Examples:
      Delphi Technique and Work Breakdown Structure.
   3. Learning-Oriented-Neural case based – These are based on knowledge gained
      from previous experience. Examples: Case-studies and Neural Networks
   4. Dynamics based – These are dynamic rather than static over time and adapt
      continuously to change. They originated in modeling approach of Jay Forrester in
      1961. They acknowledge the ongoing change of project status, deadlines,
      personnel and taking this into account a dynamic cost estimate is presented.
   5. Regression based – These are popular and used in conjunction with model-based
      techniques. There are broadly two types – Standard and Robust regression.
   6. Composite-Bayesian - As the name suggests these techniques combine one or
      more models to formulate the most appropriate technique. Example: Bayesian
      approach of COCOMO II.

In [1] RiskMethod is developed for quantitative risk assessment and to integrate it with
software cost model (Mark2, the Mermaid tool; Original COCOMO; and Laturi, a
Finnish function point analysis tool) to enable risk to be incorporated into the cost
estimate. The RiskMethod process covers only the risk assessment (identification,
analysis and prioritization) and does not involve risk control. A series of questionnaires
were used by the authors and information collected from major companies about risk
items. This is important as the process emphasizes on company specific risk checklists. A
accompanying RiskTool was also implemented and integrated with the above mentioned
three cost models. Following this, these were tested and used by companies in the
SCERA experiment. In my opinion this paper is vague as no evidence is shown for the
effectiveness of this process and no companies or their CMMI level or other credible
information has been cited.

Boehm [2] shows that COCOMO II be used to identify the critical cost driver factor and
estimate the cost difference that would result due to change in the critical driver factor.
COCOMO has cost driver factors and an associated productivity range. For simple
history-based cost analysis methods it is suggested that the new project’s productivity and
effort be based on past experience. The cost driver factors that change should be
determined and appropriate effort multipliers should be applied to them. It is also
suggested that analysis results should be compared for two or model software cost
models as each has a difference experience base.



                                                                                         1
For estimating costs for quick-to-market software (web development projects) [3]
proposes a new size metric called Web Objects and uses a COCOMO II adaptation called
WebMo. Web development projects are different from traditional software development.
Compared based on primary objective, traditional objective is minimum cost while web
projects want to be in the market as quickly as possible. Other characteristics of web
projects include smaller team size, shorter timeline for completion, rapid development
with multiple releases, large use of components, use of visual languages, object-based
with many reusable components, and use of ad hoc processes as compared to heavy
processes such as CMMI. Development teams employed on web projects are generally
recent hires with little experience as opposed to professional software engineers on
traditional projects. The estimations required for a web project also differ from traditional
projects. The estimating process, size estimations, effort estimation, schedule estimation,
quality estimation, model calibration and in my opinion the risk assessment all need to
adapted for the web project. There are no standards agreed upon for web projects and [3]
proposes a size metric called Web Objects. It is based on Halstead’s equation and
measures size based on operands and operators. Using predictors such as number of
building blocks, number of COTS components, number of multimedia files, number of
application points, number of language query lines, number of web components, number
of graphic files, number of scripts, and other factors operators and operands are
determined for each and a size estimate calculated. The author concedes that it may be a
subjective measure and guidelines for counting conventions still need to be determined.
Using this size metric WebMo is used to estimate the total effort and parameters such as
product reliability, platform difficulty, personnel capability, personnel experience,
facilities, schedule, reuse, teamwork ability and process efficiency are used. These cost
drivers together with the size metric give a fairly accurate estimate and this has been used
in over 40 projects.

References

[1] Kansala, K., Integrating Risk Assessment with Cost Estimation, IEEE Software
May/June 1997
[2] Boehm, B., Safe and Simple software cost analysis, IEEE Software
September/October 2000
[3] Reifer, D., Web Development: Estimating quick to market software, IEEE Software
November/December 2000
[4] Boehm, B., et al, Software Development Cost estimation approaches – a survey, USC,
IBM




                                                                                           2