Unit-3 Software Effort Estimation
Unit-3 Software Effort Estimation
1
Introduction
•Many software projects fail:
•due to faulty project management
practices:
•It is important to learn different aspects
of software project management.
2
Introduction
•Goal of software project
management:
•enable a group of engineers to work
efficiently towards successful
completion of a software project.
3
Responsibility of project managers
4
Introduction
•A project manager’s activities are
varied.
•can be broadly classified into:
•project planning,
•project monitoring and control
activities.
5
Project Planning
6
Project Planning Activities
• Estimation:
• Effort, cost, resource, and project duration
• Project scheduling:
• Staff organization:
• staffing plans
• Risk handling:
• identification, analysis, and abatement procedures
• Miscellaneous plans:
• quality assurance plan, configuration management plan, etc.
7
Project planning
8
Sliding Window Planning
9
SPMP Document
10
Organization of SPMP Document
• Introduction (Objectives,Major Functions,Performance
Issues,Management and Technical Constraints)
• Project Estimates (Historical Data,Estimation
Techniques,Effort, Cost, and Project Duration Estimates)
• Project Resources Plan (People,Hardware and
Software,Special Resources)
• Schedules (Work Breakdown Structure,Task Network, Gantt
Chart Representation,PERT Chart Representation)
• Risk Management Plan (Risk Analysis,Risk Identification,Risk
Estimation, Abatement Procedures)
• Project Tracking and Control Plan
• Miscellaneous Plans(Process Tailoring,Quality Assurance)
11
Software Cost Estimation
•Determine size of the product.
•From the size estimate,
•determine the effort needed.
•From the effort estimate,
•determine project duration, and cost.
12
Software Cost Estimation
Effort Cost
Estimation Estimation
Size Staffing
Estimation Estimation
Duration
Estimation Scheduling
13
Software Cost Estimation
14
Software Cost Estimation Techniques
• Empirical techniques:
• an educated guess based on past experience.
• Heuristic techniques:
• assume that the characteristics to be estimated
can be expressed in terms of
some mathematical expression.
• Analytical techniques:
• derive the required results starting from certain
simple assumptions.
15
Software Size Metrics
16
Disadvantages of Using LOC
17
Disadvantages of Using LOC (cont...)
18
Function Point Metric
19
Function Point Metric
• Output:
• A set of related outputs is counted as one output.
• Inquiries:
• Each user query type is counted.
• Files:
• Files are logically related data and thus can be data structures
or physical files.
• Interface:
• Data transfer to other systems.
20
Function Point Metric (CONT.)
21
Function Point Metric (CONT.)
•Proponents claim:
•FP is language independent.
•Size can be easily derived from problem
description
•Opponents claim:
•it is subjective --- Different people can come
up with different estimates for the same
problem.
22
Empirical Size Estimation Techniques
•Expert Judgement:
•An euphemism for guess made by an
expert.
•Suffers from individual bias.
•Delphi Estimation:
•overcomes some of the problems of
expert judgement.
23
Expert judgement
24
Delphi Estimation:
25
Delphi Estimation:
•Experts re-estimate.
•Experts never meet each other
• to discuss their viewpoints.
26
Heuristic Estimation Techniques
•Multivariable Model:
• Assumes that the parameter to be estimated
depends on more than one characteristic.
• Parameter to be Estimated=C1(Estimated Characteristic)d1+
C2(Estimated Characteristic)d2+…
• Usually more accurate than single variable
models.
27
COCOMO Model
28
COCOMO Product classes
29
Elaboration of Product classes
• Organic:
• Relatively small groups
• working to develop well-understood applications.
• Semidetached:
• Project team consists of a mixture of experienced
and inexperienced staff.
• Embedded:
• The software is strongly coupled to complex
hardware, or real-time systems.
30
COCOMO Model (CONT.)
31
COCOMO Model (CONT.)
32
Basic COCOMO Model (CONT.)
•Organic :
• Effort = 2.4 (KLOC)1.05 PM
• Semi-detached:
•Effort = 3.0(KLOC)1.12 PM
• Embedded:
•Effort = 3.6 (KLOC)1.20PM
34
Development Time Estimation
•Organic:
•Tdev = 2.5 (Effort)0.38 Months
•Semi-detached:
•Tdev = 2.5 (Effort)0.35 Months
•Embedded:
•Tdev = 2.5 (Effort)0.32 Months
35
Basic COCOMO Model (CONT.)
Size
36
Basic COCOMO Model (CONT.)
• Development time
• sublinear function of
product size. Dev. Time
37
Basic COCOMO Model (CONT.)
38
Basic COCOMO Model (CONT.)
39
Example
• The size of an organic software product has been
estimated to be 32,000 lines of source code.
• Effort = 2.4*(32)1.05 = 91 PM
• Nominal development time = 2.5*(91)0.38 = 14
months
40
Intermediate COCOMO
• Basic COCOMO model assumes
• effort and development time depend on product
size alone.
• However, several parameters affect effort and
development time:
• Reliability requirements
• Availability of CASE tools and modern facilities
to the developers
• Size of data to be handled
41
Intermediate COCOMO
42
Intermediate COCOMO (CONT.)
43
Intermediate COCOMO (CONT.)
44
Intermediate COCOMO (CONT.)
45
Shortcoming of basic and intermediate
COCOMO models
• Both models:
• consider a software product as a single
homogeneous entity:
• However, most large systems are made up of
several smaller sub-systems.
• Some sub-systems may be considered as organic
type, some may be considered embedded, etc.
• for some the reliability requirements may be
high, and so on.
46
Complete COCOMO
47
Complete COCOMO Example
48
Halstead's Software Science
49
Halstead's Software Science
• Halstead used a few primitive program parameters
• number of operators and operands
• Derived expressions for:
• over all program length,
• potential minimum volume
• actual volume,
• language level,
• effort, and
• development time.
50
Staffing Level Estimation
51
Rayleigh Curve
52
Putnam’s Work:
• In 1976, Putnam studied the problem of staffing of
software projects:
• observed that the level of effort required in
software development efforts has a similar
envelope.
• found that the Rayleigh-Norden curve
• relates the number of delivered lines of code to
effort and development time.
53
Putnam’s Work (CONT.):
55
Rayleigh Curve
56
Rayleigh Curve
57
Rayleigh Curve
58
Effect of Schedule Change on Cost
59
Effect of Schedule Change on Cost (CONT.)
•Observe:
•a relatively small compression in delivery
schedule
• can result in substantial penalty on human effort.
•Also, observe:
•benefits can be gained by using fewer people
over a somewhat longer time span.
60
Example
61
Effect of Schedule Change on Cost (CONT.)
62
Effect of Schedule Change on Cost (CONT.)
•Boehm observed:
•“There is a limit beyond which the schedule
of a software project cannot be reduced by
buying any more personnel or equipment.”
•This limit occurs roughly at 75% of the
nominal time estimate.
63
Effect of Schedule Change on Cost (CONT.)
64
Jensen Model
•Jensen model is very similar to
Putnam model.
•attempts to soften the effect of
schedule compression on effort
•makes it applicable to smaller and
medium sized projects.
65
Jensen Model
•Jensen proposed the equation:
•L=CtetdK1/2
•Where,
• Cte is the effective technology constant,
• td is the time to develop the software, and
• K is the effort needed to develop the software.
66
Organization Structure
•Functional Organization:
•Engineers are organized into functional
groups, e.g.
• specification, design, coding, testing,
maintenance, etc.
•Engineers from functional groups get
assigned to different projects
67
Advantages of Functional Organization
•Specialization
•Ease of staffing
•Good documentation is produced
•different phases are carried out by different
teams of engineers.
•Helps identify errors earlier.
68
Project Organization
69
Team Structure
70
Democratic Teams
•Suitable for:
•small projects requiring less than five or six
engineers
• research-oriented projects
•A manager provides administrative
leadership:
• at different times different members of the
group provide technical leadership.
71
Democratic Teams
• Democratic organization provides
• higher morale and job satisfaction to the
engineers
• therefore leads to less employee turnover.
• Suitable for less understood problems,
• a group of engineers can invent better solutions
than a single individual.
72
Democratic Teams
•Disadvantage:
•team members may waste a lot
time arguing about trivial points:
•absence of any authority in the
team.
73
Chief Programmer Team
74
Chief Programmer Team
75
Chief Programmer Team
76
Mixed Control Team Organization
77
Team Organization
Democratic Team
Chief Programmer team
78
Mixed team organization
79
Summary
• We discussed the broad responsibilities of the project
manager:
• Project planning
• Project Monitoring and Control
• To estimate software cost:
• Determine size of the product.
• Using size estimate,
• determine effort needed.
• From the effort estimate,
• determine project duration, and cost.
80
Summary (CONT.)
• Cost estimation techniques:
• Empirical Techniques
• Heuristic Techniques
• Analytical Techniques
• Empirical techniques:
• based on systematic guesses by experts.
• Expert Judgement
• Delphi Estimation
81
Summary (CONT.)
• Heuristic techniques:
• assume that characteristics of a software product can be
modeled by a mathematical expression.
• COCOMO
• Analytical techniques:
• derive the estimates starting with some basic
assumptions:
• Halstead's Software Science
• The staffing level during the life cycle of a software product
development:
• follows Rayleigh curve
• maximum number of engineers required during testing.
82
Summary (CONT.)
83