Sunteți pe pagina 1din 42

Prepared & Presented by:

Benn Brian Tabora

MIT 208 : Advanced Software Engineering

Cost and Schedule


Estimation Models
Project Cost & Schedule Estimation is Difficult

Software projects are notorious for going past


their deadline, going over budget, or both.
The problem lies in the estimation of the
amount of effort required for the
development of a project.
The cost estimation is usually dependent upon
the size estimate of the project, which may
use lines of code or function points
as metrics.

Prepared and Presented by: B.B.P.Tabora 2


Project Cost & Schedule Estimation is Difficult

You may have to make initial estimates on the


basis of a high-level user requirements
definition.
The software may have to run on unfamiliar
computers or use new development
technology.
The people involved in the project and their
skills will probably not be known.

Prepared and Presented by: B.B.P.Tabora 3


Project Cost & Schedule Estimation is Difficult

There is even a fundamental difficulty in


assessing the accuracy of the different
approaches to cost and effort estimation.
The estimate is used to define the project that
is within budget may have achieved this at the
expense of features in the software being
developed.

Prepared and Presented by: B.B.P.Tabora 4


Project Cost
(Effort and Size)

Project Schedule

Studies have shown that estimates may vary wildly from


actual values with the wildest variance occurring earliest
in the development process.

Prepared and Presented by: B.B.P.Tabora 5


We can infer that

A controlled experiment would not reveal the cost


estimate to the estimator (project manager). The
actual cost would then be compared with the
estimated project costs. Nonetheless, organizations
need to make software effort and cost estimates.

Prepared and Presented by: B.B.P.Tabora 6


The
Techniques:

Prepared and Presented by: B.B.P.Tabora 7


Expert Judgment
This technique captures the experience and the
knowledge of the estimator who provides the
estimate based on their experience from a similar
project to which they have participated.

Intrinsically, the estimator makes an informed guess


of what the effort requirements are likely to be.

*some authors use the term

Prepared and Presented by: B.B.P.Tabora 8


Expert Judgment

Useful in the absence of Estimate is only as good


quantified, empirical data. experts opinion
Can factor in differences
between past project Hard to document the factors
experiences and requirements used by the experts
of the proposed project
Can factor in impacts caused
by new technologies,
applications and languages

Prepared and Presented by: B.B.P.Tabora 9


Algorithmic Models
This approach uses mathematical equations to perform
the software estimation. The mathematical equations are
based on historical data or theory, (source line of
code), function points, and other cost drivers are the
inputs.

For most algorithmic model, calibration to the specific


software environment can be performed to improve the
estimation. Example of this are the
.

*some authors use the term

Prepared and Presented by: B.B.P.Tabora 10


Algorithmic Model Where:
Formula:
A is a constant factor which depends on local
organizational practices and the type of the
software that is developed.
Is used for estimating
effort in a software project Size may be either an assessment of the code size of
the software or functionality estimate expressed in
and are mostly based on function or application points.
this simple formula:
The value of exponent B usually lies between 1 and
= 1.5.

M is a multiplier made by combining process,


product, and development attributes, such as the
dependability of requirements for the software and
the experience of the development team.

Prepared and Presented by: B.B.P.Tabora 11


Algorithmic Models

Generate repeatable Unable to deal with


estimations exceptional conditions
Easy to modify input data Some experience and
Easy to refine and factors can not be
customize formulas quantified
Objectively calibrated to Sometimes algorithms
experience may be proprietary

Prepared and Presented by: B.B.P.Tabora 12


Constructive Cost Models

Basic Intermediate Detailed


Constructive Constructive Constructive
Cost Model Cost Model Cost Model

In this presentation Constructive Cost Model will be known as

Prepared and Presented by: B.B.P.Tabora 13


Constructive Cost Model

is a software cost estimation model that was first published in 1981 by


Barry Boehm (Boehm, 2001).

It is an algorithmic approach to estimating the cost of a software


project. By using COCOMO you can calculate the amount of effort and
the time schedule for projects.

From these calculations you can then find out how much staffing is
required to complete a project on time. COCOMO's main metric used
for calculating these values are lines of code (denoted or
and measured in thousands), function points or object points

Prepared and Presented by: B.B.P.Tabora 14


COCOMO 81 was the first version of COCOMO. It was modeled
around software practices of the 1980s.
It has been found that on average it is able to produce estimates that
are within 20% of the actual values 68% of the time.
Constructive Cost Model
COCOMO 81 has three different models that can be used throughout
a project life cycle (Boehm, 2001):

this model would be applied early in a project


development. It will provide a rough estimate early on, that
should be refined later with one of the other models.

this model would be used after you


have more detailed requirements for a project.

when your design for a project is


complete, you can apply this model to further refine your
estimate.

Prepared and Presented by: B.B.P.Tabora 15


- "small" teams with
"good" experience working with "less than
rigid" requirements.
COCOMO applies
- "medium" to three classes
teams with mixed experience working of software
with a mix of rigid and less than rigid
requirements. projects or
modes:
- developed
within a set of "tight" constraints. It is also
combination of organic and semi-
detached projects (i.e. hardware,
software, operational, ...)

Prepared and Presented by: B.B.P.Tabora 16


Basic Constructive Cost
Model

SOFTWARE DEVELOPMENT RESOURCE ESTIMATION

Prepared and Presented by: B.B.P.Tabora 17


Basic Constructive Cost Model

compute software development effort (and


cost) as a function of program size. Program
size is expressed in estimated thousands of
source lines of code (SLOC, KLOC).

Prepared and Presented by: B.B.P.Tabora 18


The Where:
equations take the form:
KLOC is the estimated number of delivered lines
(expressed in thousands ) of code for project.
()
= a() [ ]
The coefficients a, b, c and d are given in the
following table
(note: the values listed below are from the
() original analysis, with a modern reanalysis
= ( ) [] producing different values):

()
= Software
/ [] project a b c d

*man-month is similar concept to person-


month/man-hour; is the amount of work Organic 2.4 1.05 2.5 0.38
performed by the average worker in one
hour. It is used in the written "estimates"
for estimation of the total amount of Semi-
uninterrupted labour required to perform a 3.0 1.12 2.5 0.35
detached
task .

Embedded 3.6 1.20 2.5 0.32

Prepared and Presented by: B.B.P.Tabora 19


Sample Scenario: Basic COCOMO

Suppose company named, Newcorp creates a


new software and they are some what
experienced in it. The new project is said to have
about 32,000 delivered source instructions.

Estimate the total effort, development time and


people required.

Prepared and Presented by: B.B.P.Tabora 20


Sample Computation : Basic COCOMO

Things to know when using


Basic COCOMO for
1. some what experienced" =
estimation: Semi-detached.
1. Know the project 2. The example is in DSI, we need
characteristic or KDSI since it definition say it is
mode. expressed in thousands; so:
2. Get the KLOC or KDSI. 32,000/1,000 = 32 KDSI
3. Know the a, b, and c,
with respect to step 1.
3. Get the coefficients according
to the characteristic or mode
from the table;
() so: 3.0 (321.12 )
= a() [ ]
3.0 48.50
= 145.50
= 146

Prepared and Presented by: B.B.P.Tabora 21


Sample Computation : Basic COCOMO

() ()
= ( ) [] =
/ []

2.5 (1460.35 ) = 146 14


= 2.5 5.72 = 10.42
= .
=

Prepared and Presented by: B.B.P.Tabora 22


Sample Scenario - Answer: Basic COCOMO

Suppose company named, 'XYZ' creates a new


software and they are some what experienced
in it. The new project is said to have about
32,000 delivered source instructions.


()
=
= =

146 man-months 14 months 10

Prepared and Presented by: B.B.P.Tabora 23


Basic COCOMO

is good for quick estimate of software costs.


However it does not account for differences in
hardware constraints, personnel quality and
experience, use of modern tools and
techniques, and so on.

Prepared and Presented by: B.B.P.Tabora 24


Intermediate
Constructive Cost Model

SOFTWARE DEVELOPMENT RESOURCE ESTIMATION

Prepared and Presented by: B.B.P.Tabora 25


Intermediate
Constructive Cost Model
Computes software development effort as
function of program size and a set of "cost
drivers" that include subjective assessment of
product, hardware, personnel and project
attributes.
This extension considers a set of four cost
drivers, each with a number of subsidiary
attributes.

Prepared and Presented by: B.B.P.Tabora 26


Four Cost Drivers & Attributes

Required software Analyst capability


Product reliability Personnel Software engineering capability
cost Size of application
database
cost Applications experience
Virtual machine experience
driver Complexity of the product driver Programming language experience

Run-time performance Use of software tools


constraints
Hardware Project Application of software
Memory constraints
cost engineering methods
driver
Volatility of the virtual cost driver Required development
machine environment
schedule
Required turnabout time

Prepared and Presented by: B.B.P.Tabora 27


Intermediate COCOMO

Each of the 15 attributes receives a rating on a six-point


scale that ranges from "very low" to "extra high" (in
importance or value).

An effort multiplier from the next table applies to the


rating.

The product of all effort multipliers results in an effort


adjustment factor (EAF). Typical values for EAF range
from 0.9 to 1.4.

Prepared and Presented by: B.B.P.Tabora 28


Ratings
Cost Drivers Very Extra
Low Low Nominal High Very High High
Product attributes
Required software
0.75 0.88 1.00 1.15 1.40
reliability [RELY]
Size of application
0.94 1.00 1.08 1.16
database [Data]
Complexity of the
0.70 0.85 1.00 1.15 1.30 1.65
product [CPLX]
Hardware attributes
Run-time performance
1.00 1.11 1.30 1.66
constraints [TIME]
Memory constraints
1.00 1.06 1.21 1.56
[STOR]

Virtual machine
0.87 1.00 1.15 1.30
Volatility [VIRT]

Required turnabout
0.87 1.00 1.07 1.15
Time [TURN] Prepared and Presented by: B.B.P.Tabora 29
Ratings
Cost Drivers Very Extra
Low Low Nominal High Very High High
Personnel attributes
Analyst capability [ACAP] 1.46 1.19 1.00 0.86 0.71
Applications
1.29 1.13 1.00 0.91 0.82
Experience [AEXP]
Programmer
1.42 1.17 1.00 0.86 0.70
Capability [PCAP]
Virtual machine
1.21 1.10 1.00 0.90 1.21
Experience [VEXP]
Programming language
1.14 1.07 1.00 0.95 1.14
experience [LEXP]
Project attributes
Modern Programming
1.24 1.10 1.00 0.91 0.82
Practices [MODP]
Use of software tools
1.24 1.10 1.00 0.91 0.83
[TOOL]
Required development
1.23 1.08
Prepared 1.00
and Presented by: B.B.P.Tabora 1.04 1.10 30
schedule [SCED]
Where:
The
formula takes the form: E is the effort applied in
person-months
= () () Size is the estimated number of
thousands of delivered lines of
Software
project
a b code for the project
Organic 3.2 1.05 EAF is the factor calculated on
Semi-
3.0 1.12
the previous table.
detached
The coefficient a , exponent b
Embedded 2.8 1.20
and are given on the table.
*Note that values for a has
changed a bit. The Development time D calculation
uses E in the same way as in the Basic
COCOMO.
Prepared and Presented by: B.B.P.Tabora 31
Sample Scenario:

For the following project description generate estimates


for the total effort project duration, and number of
people needed using the Intermediate COCOMO.

Newcorp wants to produce a system that will


perform the computer-aided design for the home
construction industry. They are a new company and
though they want to be the best the in CAD
systems, they are still, overall, a bit inexperienced.
This project for Newcorp would then be considered
what type?

Prepared and Presented by: B.B.P.Tabora 32


Sample Scenario contd :

Initial analysis of the problem leads to the


requirements calling for 3 major modules, with
the following sizes:

Screen Drawing = 2.00 KDSI


Object-base Management = 3.50 KDSI
Algebraic/Numerical Methods = 1.75 KDSI

Prepared and Presented by: B.B.P.Tabora 33


Sample Scenario contd:

The programmers that Newcorp hired to start are among the best however,
most have no exposure to C++ before, which will be the language of
implementation. The system must run fairly fast, since users will be impatient
if drawing takes too long. Newcorp also would like to make their market as
large as possible, which means the package should run on slower PCs as well
as faster ones Many models will accumulate over time, the house simulation
routines and solid modeling routines will require a great deal of memory to
operate efficiently. For the project then, these effort adjustment factors are
estimated:

Data Base Size = high


Product Complexity = very high
Main Storage = very high
Programmer Capability = very high
Execution time Constraints = high
Programming Language Experience = very low

Prepared and Presented by: B.B.P.Tabora 34


Sample Scenario Solution:

What project type: Semi-detached

Screen Drawing = 2.00 KDSI


Object-Base Management = 3.50 KDSI
Algebraic/Numerical Methods = 1.75 KDSI
Total Size : 7.25 KDSI

Prepared and Presented by: B.B.P.Tabora 35


Sample Scenario Solution:
= () ()

= 1.05 1.30 1.21 1.11 0.70 1.14 3.0 7.25 1.12

= 1.46 3.0 9.19


E = 40.25 > 40
() = ( ) []

= 2.5 (40.25)0.35
= 2.5 3.64
D = 9.10 > 9
() = []

= 40.25 9.10
P = 4. 42 4 5

Prepared and Presented by: B.B.P.Tabora 36


Detailed
Constructive Cost Model

SOFTWARE DEVELOPMENT RESOURCE ESTIMATION

Prepared and Presented by: B.B.P.Tabora 37


Detailed COCOMO
Detailed COCOMO incorporates all characteristics of the version with
an assessment of the cost driver's impact on each step (analysis, design, etc.) of the
software engineering process.

The detailed model uses different effort multipliers for each cost driver attribute.
These Phase Sensitive effort multipliers are each to determine the amount of effort
required to complete each phase. In COCOMO, the whole software is
divided into different modules and then we apply COCOMO in different modules to
estimate effort and then sum the effort.

The effort is calculated as a function of program size and a set of cost drivers are
given according to each phase of the software life cycle.

A Detailed project schedule is never static.

Prepared and Presented by: B.B.P.Tabora 38


module code and test
integration and test
Cost Constructive model

Prepared and Presented by: B.B.P.Tabora 39


Summary
Software development is notorious for going over time and budget. This
problem is due to the fact that software development is a complex process
because of the number of factors involved, including human factor, and the
complexity of the product that is developed. Hence, software cost estimation
is an important part of the development process that requires improvement in
adoption and diligence. Data should be gathered throughout the entire life
cycle so that the accuracy of the estimates can be improved and the
development plan can then be calibrated if the need arises.

Expert-based estimation is easy, conversely, this method suffers from being


highly dependent upon competent estimators. In contrast, empirical
estimation methods is technical but can use large amount of data points.
COCOMO is a popular empirical estimation model that has been incorporated
into several tools and have been subsequently calibrated as any model should
be in the development environment because every development environment
is unique. Thus, using more than one method of estimation is recommended
for verification of an estimate.

Prepared and Presented by: B.B.P.Tabora 40


?
Questions?
Clarifications?

Software Engineering > Software Development Resource Estimation > Cost and Estimation Models

Prepared and Presented by: B.B.P.Tabora 41


Cost and Schedule
Thank you for listening!
Estimation Models
-The End.

Prepared and Presented by: B.B.P.Tabora 42

S-ar putea să vă placă și