100% found this document useful (2 votes)
937 views33 pages

Software Management Rajib Mall

The document discusses software project planning and cost estimation. It covers topics like project planning activities, cost estimation techniques, size metrics, COCOMO model. The key aspects of project planning discussed are estimation of effort, cost, resources and duration. Estimation can be done through empirical, heuristic and analytical approaches. Function point and COCOMO models are described as methods to estimate project size and cost based on characteristics of the project.

Uploaded by

Ayush Yadav
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
100% found this document useful (2 votes)
937 views33 pages

Software Management Rajib Mall

The document discusses software project planning and cost estimation. It covers topics like project planning activities, cost estimation techniques, size metrics, COCOMO model. The key aspects of project planning discussed are estimation of effort, cost, resources and duration. Estimation can be done through empirical, heuristic and analytical approaches. Function point and COCOMO models are described as methods to estimate project size and cost based on characteristics of the project.

Uploaded by

Ayush Yadav
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 33

Software Project

Management (Lecture 9)

Dr. R. Mall

1
Organization of this
Lecture:
 Introduction to Project Planning
 Software Cost Estimation
Cost Estimation Models
Software Size Metrics
Empirical Estimation
Heuristic Estimation
COCOMO
 Staffing Level Estimation
 Effect of Schedule Compression on Cost
 Summary

2
Introduction
Many software projects fail:
due to faulty project
management practices:
It is important to learn
different aspects of software
project management.

3
Introduction
Goal of software project
management:
enable a group of engineers to
work efficiently towards successful
completion of a software project.

4
Responsibility of project
managers
Project proposal writing,
Project cost estimation,
Scheduling,
Project staffing,
Project monitoring and control,
Software configuration management,
Risk management,
Managerial report writing and presentations, etc.

5
Introduction
A project manager’s activities
are varied.
can be broadly classified into:
project planning,
project monitoring and control
activities.
6
Project Planning

Once a project is found to be


feasible,
project managers undertake
project planning.

7
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. 8
Project planning

Requires utmost care and attention ---


commitments to unrealistic time and
resource estimates result in:
irritating delays.
customer dissatisfaction
adverse affect on team morale
poor quality work
project failure.

9
Sliding Window Planning

Involves project planning over


several stages:
protects managers from making big
commitments too early.
More information becomes
available as project progresses.
Facilitates accurate planning
10
SPMP Document

After planning is complete:


 Document the plans:
in a Software Project
Management Plan(SPMP)
document.

11
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)

12
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.

13
Software Cost Estimation

Effort Cost
Estimation Estimation

Size Staffing
Estimation Estimation

Duration
Estimation Scheduling

14
Software Cost Estimation

Three main approaches to


estimation:
Empirical
Heuristic
Analytical

15
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.

16
Software Size Metrics

LOC (Lines of Code):


Simplest and most widely used
metric.
Comments and blank lines should
not be counted.

17
Disadvantages of Using LOC

Size can vary with coding style.


Focuses on coding activity alone.
Correlates poorly with quality and
efficiency of code.
Penalizes higher level
programming languages, code
reuse, etc.
18
Disadvantages of Using LOC
(cont...)

Measures lexical/textual
complexity only.
does not address the issues of
structural or logical complexity.
Difficult to estimate LOC from
problem description.
So not useful for project planning
19
Function Point Metric

Overcomes some of the shortcomings of


the LOC metric
Proposed by Albrecht in early 80's:
FP=4 #inputs + 5 #Outputs + 4
#inquiries + 10 #files + 10 #interfaces
Input:
A set of related inputs is counted as one input.

20
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.

21
Function Point Metric (CONT.)

Suffers from a major drawback:


the size of a function is considered to
be independent of its complexity.
Extend function point metric:
 Feature Point metric:
considers an extra parameter:
Algorithm Complexity.

22
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.
23
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.

24
Expert judgement

Experts divide a software product into


component units:
e.g. GUI, database module, data
communication module, billing module,
etc.
Add up the guesses for each of the
components.

25
Delphi Estimation:

Team of Experts and a coordinator.


Experts carry out estimation
independently:
mention the rationale behind their
estimation.
coordinator notes down any
extraordinary rationale:
circulates among experts.

26
Delphi Estimation:

Experts re-estimate.
Experts never meet each other
 to discuss their viewpoints.

27
Heuristic Estimation Techniques

Single Variable Model:


Parameter to be Estimated=C1(Estimated
Characteristic)d1
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. 28
COCOMO Model

COCOMO (COnstructive COst MOdel)


proposed by Boehm.
Divides software product
developments into 3 categories:
Organic
Semidetached
Embedded

29
COCOMO Product classes

Roughly correspond to:


application, utility and system programs
respectively.
Data processing and scientific programs
are considered to be application programs.
Compilers, linkers, editors, etc., are utility
programs.
Operating systems and real-time system
programs, etc. are system programs.
30
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.

31
COCOMO Model (CONT.)

For each of the three product categories:


From size estimation (in KLOC), Boehm provides
equations to predict:
project duration in months
effort in programmer-months
Boehm obtained these equations:
examined historical data collected from a
large number of actual projects.

32
COCOMO Model (CONT.)

Software cost estimation is done


through three stages:
Basic COCOMO,
Intermediate COCOMO,
Complete COCOMO.

33

You might also like