0% found this document useful (0 votes)
130 views

Software Project Estimation

The document discusses software project estimation. It describes that estimation determines the money, effort, resources and time needed to build a system. Estimation involves defining the project scope and feasibility. Scope describes the functions, data, content and performance constraints. Feasibility considers technical, financial, time and resource factors. Estimates rely on properly estimating size, translating size to effort/time/cost, reflecting team abilities, and stable requirements/environment. Techniques include decomposition and empirical models. Decomposition divides problems into estimable functions while empirical models use historical data formulas. Examples demonstrate LOC and FP based estimation calculations.

Uploaded by

Aditi Gadre
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
130 views

Software Project Estimation

The document discusses software project estimation. It describes that estimation determines the money, effort, resources and time needed to build a system. Estimation involves defining the project scope and feasibility. Scope describes the functions, data, content and performance constraints. Feasibility considers technical, financial, time and resource factors. Estimates rely on properly estimating size, translating size to effort/time/cost, reflecting team abilities, and stable requirements/environment. Techniques include decomposition and empirical models. Decomposition divides problems into estimable functions while empirical models use historical data formulas. Examples demonstrate LOC and FP based estimation calculations.

Uploaded by

Aditi Gadre
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

SOFTWARE PROJECT ESTIMATION

Software project planning encompasses five major activities

Estimation, scheduling, risk analysis, quality management planning, and change


management planning

Estimation determines how much money, effort, resources, and time it will take to build a
specific system or product. Define scope and feasibility

Software scope describes

The functions and features that are to be delivered to end users

The data that are input to and output from the system

The "content" that is presented to users as a consequence of using the software


The performance, constraints, interfaces, and reliability that bound the system

Software feasibility has four dimensions

Technology Is the project technically feasible? Is it within the state of the art?
Can defects be reduced to a level matching the application's needs?

Finance Is is financially feasible? Can development be completed at a cost that


the software organization, its client, or the market can afford?

Time Will the project's time-to-market beat the competition?

Resources Does the software organization have the resources needed to succeed
in doing the project?

The accuracy of a software project estimate is predicated on

The degree to which the planner has properly estimated the size (e.g., KLOC) of
the product to be built

The ability to translate the size estimate into human effort, calendar time, and
money

The degree to which the project plan reflects the abilities of the software team

The stability of both the product requirements and the environment that supports
the software engineering effort

Options for achieving reliable cost and effort estimates

Delay estimation until late in the project (we should be able to achieve 100%
accurate estimates after the project is complete)

Base estimates on similar projects that have already been completed

Use relatively simple decomposition techniques to generate project cost and effort
estimates

Use one or more empirical estimation models for software cost and effort
estimation

Decomposition techniques

These take a "divide and conquer" approach.

2 approaches are used

Problem-based estimation

Based on either source lines of code or function point estimates

Process-based estimation

Based on the effort required to accomplish each task

Empirical estimation models


Offer a potentially valuable estimation approach if the historical data used to seed
the estimate is good

PROBLEM BASED ESTIMATION TECHNIQUE


1) Start with a bounded statement of scope
2) Decompose the software into problem functions that can each be estimated individually
3) Compute an LOC or FP value for each function
4) Derive cost or effort estimates by applying the LOC or FP values to your baseline
productivity metrics (e.g., LOC/person-month or FP/person-month)

5) Combine function estimates to produce an overall estimate for the entire project

For both approaches, the planner uses lessons learned to estimate an optimistic, most
likely, and pessimistic size value for each function or count (for each information
domain value)
Then the expected size value S is computed as follows:

S = (Sopt + 4Sm + Spess)/6


EXAMPLE OF LOC BASED ESTIMATION FOR CAD SOFTWARE
Function

Estimated LOC

User interface and control facilities (UICF)

2,300

Two-dimensional geometric analysis (2DGA)

5,300

Three-dimensional geometric analysis (3DGA)

6,800

Database management (DBM)

3,350

Computer graphics display facilities (CGDF)

4,950

Peripheral control function (PCF)

2,100

Design analysis modules (DAM)

8,400

Estimated lines of code

33,200

Estimation table
 Estimated lines of code = W = 33,200
Let,Average productivity = 620 LOC/pm = X
Labor rate = $8,000 per month = Y
So,Cost per line of code = Z = Y/X = $13 (approx.)
Total estimated project cost = W*Z = $431,000 (approx.)

Estimated effort = W/X = 54 person-months (approx)

EXAMPLE OF FP BASED ESTIMATION FOR CAD SOFTWARE

value adjustment factors

Now, FPestimated = count-total [0.65 + 0.01 (Fi)]

Fi (i = 1 to 14 are value adjustment factors)

So, FPestimated = W = 320 [0.65 + 0.01 52] = 375 (approx.)

Let, Average Productivity = X = 6.5 FP/pm


Labor rate = Y = $8,000 per month
So, Cost per FP = Z = Y/X = $1,230 (approx.)
Total estimated project cost = W*Z = $461,000 (approx.)
-

Estimated effort = W/X = 58 person-months (approx)

EMPIRICAL ESTIMATION MODEL


-

Uses empirically derived formulas to predict effort as a function of LOC or


FP.
The empirical data are derived from a limited sample of projects
So, no estimation model is appropriate for all classes of s/w and in all
development environments.

STRUCTURE OF EMPIRICAL MODEL


E = A + B (ev)c
Here,
A, B, and C are empirically derived constants
E is effort in person-months
ev is the estimation variable (either LOC or FP)
 Example of a LOC-oriented estimation model (Bailey-Basili model)
 E = 5.5 + 0.73 (KLOC)1.16
 Example of a FP-oriented estimation model (Kemerer model)
E = -37 + 0.96 FP
The COCOMO II Model (by Barry Boehm)
Its a hierarchy of estimation models.
It uses object points.

 Object point is computed using counts of the number of


Screens (at the user interface)
Reports
Components likely to be required to build the application
Complexity weight
Object type
Simple

Medium

Difficult

Screen

Report

3GL component

10

once complexity is determined for each object, the object point count is determined by
multiplying the original number of object instances by weighting factor and
summing to obtain a total object point.
percentage of reuse is estimated and object point count is estimated by,
 NOP = (object points) [(100-%reuse)/100]
NOP = New Object Points
Object Points = Weighted Total
%reuse = Percent of reuse
productivity rate is calculated as,
PROD=NOP/Person-month
Estimated Effort is calculated by,
 Estimated effort = NOP/PROD
PROD = Productivity Rate, PROD = NOP/person-month
SOFTWARE EQUATION (multivariate model)BY PUTNAM

E = [LOC B0.333/P]3 (1/t4)


Here, E = effort in person-months or person-years
t = project duration in months or years
B = special skills factor
P = productivity parameter
For small programs (KLOC = 5 to 15), B = 0.16
For programs greater than 70 KLOC, B = 0.39
P = 2000 for development of real-time embedded s/w
P = 10,000 for telecommunication and systems s/w
P = 28,000 for business systems applications
Simplified formulas
tmin = 8.14 (LOC/P)0.43 in months for tmin > 6 months

tmin = minimum development time

E = 180 Bt3 in person-months for E 20 person-months


Here t is represented in years

You might also like