Effort Estimation Model for each Phase of Software Development Life Cycle

Effort Estimation Model for each Phase of Software Development Life Cycle

Sarah Afzal Safavi, Maqbool Uddin Shaikh
DOI: 10.4018/978-1-61350-456-7.ch204
OnDemand:
(Individual Chapters)
Available
$37.50
No Current Special Offers
TOTAL SAVINGS: $37.50

Abstract

The assessment of main risks in software development discloses that a major threat of delays are caused by poor effort / cost estimation of the project. Low / poor cost estimation is the second highest priority risk [Basit Shahzad]. This risk can affect four out of a total five phases of the software development life cycle i.e. Analysis, Design, Coding and Testing. Hence targeting this risk alone may reduce the overall risk impact of the project by fifty percent. Architectural designing of the system is a great activity which consumes most of the time in SDLC. Obviously, effort is put forth to produce the design of the system. It is evident that none of the existing estimation models try to calculate the effort put on designing of the system. Although use case estimation model uses the use case points to estimate the cost. But what is the cost of creating use cases? One reason of poor estimates produced by existing models can be negligence of design effort/cost. Therefore it shall be well estimated to prevent any cost overrun of the project. We propose a model to estimate the effort in each of these phases rather than just relying upon the cost estimation of the coding phase only. It will also ease the monitoring of project status and comparison against planned cost and actual cost incurred so far at any point of time.
Chapter Preview
Top

Background And Motivation

Existing estimation techniques such as Functions point estimation and use case estimation rely upon the artifacts generated in earlier phase. These artifacts (i.e. Use case diagrams, class diagrams, sequence diagrams, activity diagrams, state chart diagrams etc) depict the architectural design of the entire system. These diagrams are not generated out of a blue or are not instantly available without putting any effort.

Standard task set and the percentage of work duration associated with it decomposes the ratio of effort put in each phase.

It is evident in Table 1 that although major ratio (i.e. 40%) of work effort is put in code and unit test phase. The rest 60 percent effort is put in different areas of the project development life cycle. Hence this signifies the importance of estimating cost for these phases of software development life cycle.

Table 1.
Standard task set & work duration %age [4]
ActivityStandard Work Effort%
Definition Phase
Business Requirements6%
Functional Specifications10%
Delivery Phase
Detailed Design14%
Code and Unit Test40%
System Testing20%
User Acceptance Testing10%
Total Effort100%

Usually the effort estimation is done after the analyses phase when the project reaches into coding stage. The cost / effort is measured in terms of line of codes for each functionality to be incorporated into the software. Therefore it is very clear to understand that only 40% (i.e. as shown in Table 1) of the total software development effort is estimated. Whereas this estimation is delayed until all the analyses and design has completed. We have adapted a different approach and suggest that effort estimation shall be carried out for each phase of the development process.

We propose this model to avoid the risk of low cost estimation as earliest as possible in the development process.

Current software cost estimation methods first try to know the size of the software to be built. Based upon this size the expected effort to be put is measured. Estimated effort further is utilized to calculate the duration (i.e. Time required) and cost (monetary/human resources) of the project.

Complete Chapter List

Search this Book:
Reset