what are software project estimation techniques

software project estimation techniques


Software Project Estimation Techniques

Many software project estimation techniques exists to assist the software manager in making project estimates. Important of these software project estimation techniques.

  • Model-Based Techniques
  • Expertise-Based Techniques
  • Learning-oriented Techniques
  • Dynamics-based Techniques
  • Regression Based Techniques
  • Composite Techniques

Model-Based Techniques

Some of the software estimation models have been developed in the last couple of decades. Many of them are proprietary models and hence can't be compared and contrasted in terms of model structure. Theory determines the functional form of these models. 

Models are techniques are good for budgeting, tradeoff analysis, planing and control, and investment analysis.
  • Putnam's Software Life cycle Model(SLIM)
  • Checkpoint
  • PRICE-S
  • ESTIMAC
  • SEER-SEM
  • SELECT Estimator
  • COCOMO

 Putnam's Software Life Cycle Model(SLIM)

Larry Putnam of Quantitative Software Measurement (QSM) developed the software life cycle model in the 1970s. SLIM is based on Putnam's analysis of the life cycle in terms of a so-called Rayleigh distribution of Project Personnel Level versus Time (Putnam 1992: Putnam 1978).

It supports most of  the popular size estimating methods including source instructions, function points, etc. It makes use of a so-called Rayleigh curve to calculate project efforts, schedule & defect rates.
example of Rayleigh Model


A Manpower Buildup Index (MBI) and a technology constant or productivity factors[PF] are used to influence the shape of the curve. SLIM can't record and analyze data from previously completed projects which are then used to calibrate the model; if data are not available then a set of questions can be answered to get values of MBI and PF(Productivity Factors) from the existing database.

In this, Productivity is used to link the basic RMDM model to the development characteristics of size and technology factors, Productivity, P, is the ratio of the software product size S, and development effort E, which is,
                                                                   P=S/E
It is used to define the dividing of effort is modeled by using an mathematical differential equation.
This is an example in which K = 1.0, a = 0.02, td = 0.18 where Putnam assumes that the peak staffing level in the Rayleigh curve corresponds to development time(td).

different values of inputs will give different sizes and shapes of the Rayleigh curve. Some of the Rayleigh curve assumptions don't allows to hold in practice . To reduce this problem, Putnam has developed several model adjustments for these situations.

Quantitative Software Measurement (QSM) has developed a set of three tools based on Putnam's SLIM.

  • SLIM-Estimate
  • SLIM-Control and
  • SLIM-Metrics
SLIM-Estimates is a project planning tool, SLIM control is a project tracking oversight tool  and SLIM-Metrics is a software metrics repository and bench-marking tool.

CheckPoint

Checkpoint is a knowledge-based software project management tool from the Software Productivity Research(SPR) developed from Capers Jones' studies. It has database of about 8000 software projects and it monitors on four areas that need to be managed to improve software quality and productivity. It uses Function Point  as its primary input of size.

It focuses on three capabilities for supporting the entire software development life-cycle outlined below.

Estimation

  • Checkpoint predicts effort at four level of granularity: Project, Phase, Activity and Task.
  • Estimates also include resources, deliverables, defects, costs and schedules.

Measurements

  • Checkpoints allows users to catch project metrics to do benchmark analysis, identify best practice and develop deeply estimation knowledge bases(Called Templates).

Assessments

  • It facilitates the comparison of actual and estimated performance to various industry standards included in the knowledge base.
  • It also evaluates strength and weaknesses of the software environment.
  • Process improvement recommendations can be modeled to assess the cost and benefits of implementations.
Some other applicable tools that SPR has been marketing for a few years include knowledge plan and FP workbench.
  • Knowledge plan is a tool that allows an initial software project estimate with limited efforts and guides the user through the refinement of 'What if?' processes.
  • Function point workbench is a tool that expedites function point analysis by providing facilities to store, updates, and analyze individual counts.

PRICE-S


The Price-s model was originally developed at RCA for use internally on software projects such as some that were part of the Apollo program. It was then released in 1997 as a proprietary model and used for estimating several US DOD,  NASA and other government software projects. The model equation were not released in the public domain, although a few of model's central algorithms were published. The tool continued to become popular and now marketed by the PRICE systems, which is an privately held company formerly affiliated with Lockheed Martin.

The PRICE-S model consist of three sub-models that enable estimating costs and schedules for the development and support of the computer systems. Their functionalities are:

Acquisition Sub-model

  • This sub-model forecasts the costs and schedules.
  • It covers all type of software development, including business systems, communications, command and control, avionics, and space systems.
  • It also addresses the some of the software issues:
  • Re-Engineering
  • Code Generation
  • Spiral Development
  • Rapid Development'
  • Rapid Prototyping
  • Object-Oriented Development
  • Software Productivity Management

Sizing Sub-Model

  • This sub-model monitors estimating the size of  software to be developed.
  • Sizing can be in SLOC, function point and/or Predictive Object Points.
  • Predictive Object Points is a new way of sizing the object-oriented development projects and was introduced by Minikiewcz in 1998 based on previous work one in Object Oriented(OO) metrics done by Chidamber and others.

Life-Cycle Cost Sub-Model

  • This sub-model is used for rapid and early costing of the maintenance and support phase of the software.
  • It is used in conjunction with the Acquisition sub-model, which provides the development costs and design parameters.

Post a comment

0 Comments