Lecture03-spm
-
Upload
nivi-senthil -
Category
Documents
-
view
213 -
download
0
Transcript of Lecture03-spm
-
7/27/2019 Lecture03-spm
1/86
Software Project Management
Software Project Management
Lecture 3
Size and Cost Estimation
-
7/27/2019 Lecture03-spm
2/86
Overview
Different level of estimation Project Evaluation
Software Project Management 2
Size Estimation
Cost Estimation
-
7/27/2019 Lecture03-spm
3/86
Different level of estimation
Before decision to do a project The estimation is coarse
Software Project Management 3
Profit? Good to the organization? etc.
After decision to go ahead
More detailed size and cost estimations arerequired
-
7/27/2019 Lecture03-spm
4/86
Project Evaluation
A high level assessment of the project to see whether it is worthwhile to proceed
with the ro ect
Software Project Management 4
to see whether the project will fit in thestrategic planning of the wholeorganization
-
7/27/2019 Lecture03-spm
5/86
-
7/27/2019 Lecture03-spm
6/86
Project Evaluation - Who
Senior management Project manager/coordinator
Software Project Management 6
-
7/27/2019 Lecture03-spm
7/86
Project Evaluation - When
Usually at the beginning of the project e.g. Step 0 of Step Wise Framework
Software Project Management 7
-
7/27/2019 Lecture03-spm
8/86
Project Evaluation - What
Strategic assessment Technical assessment
Software Project Management 8
-
7/27/2019 Lecture03-spm
9/86
Project Evaluation - How
Cost-benefit analysis Cash flow forecasting
Software Project Management 9
- Risk analysis
-
7/27/2019 Lecture03-spm
10/86
Strategic Assessment
Used to assess whether a project fits in thelong-term goalof the organization
Usually carried out by senior management
Software Project Management 10
Needs a strategic plan that clearly defines theobjectives of the organization
Evaluates individual projects against the
strategic plan or the overall businessobjectives
-
7/27/2019 Lecture03-spm
11/86
Strategic Assessment (contd)
Programme management suitable for projects developed for use in
the or anization
Software Project Management 11
Portfolio management
suitable for project developed for other
companies by software houses
-
7/27/2019 Lecture03-spm
12/86
SA Programme Management
Individual projects as components of aprogramme within the organization
Programme as a group of projects that are
Software Project Management 12
managed in a coordinated way to gainbenefits that would not be possible werethe projects to be managed independently
by D.C. FernsJournal of Project Management
Aug. 1991
-
7/27/2019 Lecture03-spm
13/86
SA Programme ManagementIssues
Objectives How does the project contribute to the
lon -term oalof the or anization?
Software Project Management 13
Will the product increase the marketshare? By how much?
-
7/27/2019 Lecture03-spm
14/86
-
7/27/2019 Lecture03-spm
15/86
SA Programme ManagementIssues (contd)
Organization structure How does the product affect the existing
or anizational structure? the existin
Software Project Management 15
workflow? the overall business model?
-
7/27/2019 Lecture03-spm
16/86
-
7/27/2019 Lecture03-spm
17/86
-
7/27/2019 Lecture03-spm
18/86
SA Portfolio Management
suitable for product developed by asoftware company for an organization
ma need to assess the roduct for the
Software Project Management 18
client organization Programme management issues apply
need to carry out strategic assessmentfor the providing software company
-
7/27/2019 Lecture03-spm
19/86
-
7/27/2019 Lecture03-spm
20/86
-
7/27/2019 Lecture03-spm
21/86
Economic Assessment
Why? Consider whether the project is the best
Software Project Management 21
Prioritise the projects so that theresources can be allocated effectively if
several projects are underway
-
7/27/2019 Lecture03-spm
22/86
-
7/27/2019 Lecture03-spm
23/86
-
7/27/2019 Lecture03-spm
24/86
EA Cost-benefit Analysis(contd)
Costs Development costs
Software Project Management 24
Operational costs
-
7/27/2019 Lecture03-spm
25/86
EA Cost-benefit Analysis(contd)
Benefits Direct benefits
Software Project Management 25
Intangible benefits
-
7/27/2019 Lecture03-spm
26/86
-
7/27/2019 Lecture03-spm
27/86
-
7/27/2019 Lecture03-spm
28/86
-
7/27/2019 Lecture03-spm
29/86
-
7/27/2019 Lecture03-spm
30/86
Cost-benefit EvaluationTechniques
Net profit= Total income Total costs
Software Project Management 30
= Time taken to break even
Return on Investment (ROI)
%100investmenttotal
profitannualaverage=
-
7/27/2019 Lecture03-spm
31/86
Cost-benefit EvaluationTechniques NPV
Net present value (NPV) It is the sum of the present values of all
future amounts.
Software Project Management 31
Present valueis the value which afuture amount is worth at present
It takes into account the profitability ofa project and the timing of the cashflows
-
7/27/2019 Lecture03-spm
32/86
-
7/27/2019 Lecture03-spm
33/86
-
7/27/2019 Lecture03-spm
34/86
Cost-benefit EvaluationTechniques NPV (contd)
Issues in NPV Choosing an appropriate discount rate is
difficult
Software Project Management 34
Ensuring that the rankings of projects arenot sensitive to small changes in discountrate
-
7/27/2019 Lecture03-spm
35/86
Cost-benefit EvaluationTechniques NPV (contd)
Guidelines: Use the standard rate prescribed by the
or anization
Software Project Management 35
Use interest rate + premium rate Use a target rate of return
Rank the projects using various discountrates
-
7/27/2019 Lecture03-spm
36/86
Cost-benefit EvaluationTechniques NPV (contd)
Disadvantage May not be directly comparable with
earnin s from other investments or the
Software Project Management 36
costs of borrowing capital
-
7/27/2019 Lecture03-spm
37/86
-
7/27/2019 Lecture03-spm
38/86
-
7/27/2019 Lecture03-spm
39/86
-
7/27/2019 Lecture03-spm
40/86
Estimation
Why? to define the project budgetand to refine the product to realize the
Software Project Management 40
Who? the manager
What? size and cost
When? always How? techniques and models
-
7/27/2019 Lecture03-spm
41/86
Issues related to Estimation
Difficult to make accurate estimation Better to have previous data and analyze the
actual values against their estimates so that
Software Project Management 41
you know how accurate you are Even better to have previous data of the
whole organization so that you know how
accurate the estimation method, if any, usedwithin the organization is
-
7/27/2019 Lecture03-spm
42/86
Positive Attitude TowardsEstimation
Use your estimation as a guide tomanage your project
Software Project Management 42
,
your estimation based on the currentstatus of the project
-
7/27/2019 Lecture03-spm
43/86
Estimation Approaches
Expert judgementAsk the knowledgeable experts
Estimation b analo
Software Project Management 43
Use the data of a similar and completed
project
Pricing to win Use the price that is low enough to win the
contract
-
7/27/2019 Lecture03-spm
44/86
Estimation Approaches(contd)
Top-down An overall estimate is determined and then broken
down into each component task
Software Project Management 44
Bottom-up The estimates of each component task are
aggregated to form the overall estimate
Algorithmic model Estimation is based on the characteristics of the
product and the development environment.
-
7/27/2019 Lecture03-spm
45/86
Size Estimation
Problems related to size estimation Size Estimation Model
Software Project Management 45
-
7/27/2019 Lecture03-spm
46/86
Problems related to sizeestimation
Nature of software Novel application of software
Software Project Management 46
Lack of homogeneity of projectexperience
Subjective nature of estimation
Political implications within theorganization
-
7/27/2019 Lecture03-spm
47/86
Function Point Analysis (FPA)
Developed by A. Albrecht in IBMAim: To estimate the LOC of a system
Software Project Management 47
LOC of system
= FP of system LOC-per-FP of the
language
F i P i A l i
-
7/27/2019 Lecture03-spm
48/86
Function Point Analysis(contd)
Idea: Software system consists of fivemajor components (or, external usertypes)
Software Project Management 48
External input types External output types
Logical internal file types
External interface file types External inquiry types
-
7/27/2019 Lecture03-spm
49/86
Function Point Analysis - Steps
Identify each instance of each externaluser type in the proposed system
Software Project Management 49
,
medium or low complexity
Assign the FP of each instance
FP of the system = sum of FP ofindividual components
-
7/27/2019 Lecture03-spm
50/86
Function Point Analysis
Number of FPs ComplexityExternal user type Low Average High
Software Project Management 50
x erna npu ype
External output type 4 5 7
Logical internal file type 7 10 15
External interface file type 5 7 10
External inquiry type 3 4 6
-
7/27/2019 Lecture03-spm
51/86
F ti P i t A l i
-
7/27/2019 Lecture03-spm
52/86
Function Point Analysis(contd)
Other issues The assignment of level of complexity is
rather sub ective
Software Project Management 52
International FP User Group (IFPUG)imposes rules on assigning the level ofcomplexity to individual external user types
-
7/27/2019 Lecture03-spm
53/86
Object Point Analysis
Similar to function point analysis Used on 4GL development projects
Software Project Management 53
more readily identifiable if the system isbuilt on high-level application building
tools
-
7/27/2019 Lecture03-spm
54/86
Object Point Analysis Steps
Identify the number of screens, reportsand 3GL components
Software Project Management 54
,
and DifficultAssign the weight accordingly
Calculate the total object pointsTotal OP = sum of individual OP weighting
Object Point Analysis Steps
-
7/27/2019 Lecture03-spm
55/86
Object Point Analysis Steps(contd)
Deduct the reused objects (r% reused)NOP = OP (1 r%)
Identif the roductivit rate of both
Software Project Management 55
developer and CASE Productivity rate = average of the two
PRs
Calculate the effortEffort = NOP / Productivity Rate
Object Point Analysis
-
7/27/2019 Lecture03-spm
56/86
Object Point Analysis Screens
Number and source of data tables
Number of Total < 4
Total < 8
-
Total 8+
Software Project Management 56
contained
,
5 client)
< 3 Simple Simple Medium
3 7 Simple Medium Difficult
8+ Medium Difficult Difficult
Object Point Analysis
-
7/27/2019 Lecture03-spm
57/86
Object Point Analysis Reports
Number and source of data tables
Number of Total < 4
Total < 8
-
Total 8+
Software Project Management 57
contained
,
5 client)
< 2 Simple Simple Medium
2 or 3 Simple Medium Difficult
> 3 Medium Difficult Difficult
Object Point Analysis
-
7/27/2019 Lecture03-spm
58/86
Object Point Analysis Complexity Weightings
Complexity
Type of object Simple Medium Difficult
Software Project Management 58
Screen 1 2 3
Report 2 5 8
3GL component N/A N/A 10
Object Point Analysis
-
7/27/2019 Lecture03-spm
59/86
Object Point Analysis Productivity Rate
Verylow Low Nominal High VeryHigh
Software Project Management 59
v r
experienceand capability
4 7 13 25 50
CASEmaturity andcapability
4 7 13 25 50
-
7/27/2019 Lecture03-spm
60/86
Object Point Analysis Issues
Adopted in Boehms COCOMO II in theapplication composition stage
Software Project Management 60
Object Point Analysis
-
7/27/2019 Lecture03-spm
61/86
Object Point Analysis Example
See separate handout
Software Project Management 61
-
7/27/2019 Lecture03-spm
62/86
Cost Estimation
Cost Estimation Model COCOMO II
Software Project Management 62
Constructive Cost Model II
-
7/27/2019 Lecture03-spm
63/86
Constructive Cost Model II
(COCOMO II)
A parametric cost model Important aspects of software projects are
characterized b variables or arameters
Software Project Management 63
Once the value of the parameters aredetermined, the cost can be computedfrom an equation
-
7/27/2019 Lecture03-spm
64/86
COCOMO II (contd)
Recognizes different approaches tosoftware development
Software Project Management 64
, .
-
7/27/2019 Lecture03-spm
65/86
A history of COCOMOs
COCOMOoriginally proposed by Boehmin 1981, now called COCOMO 81
Software Project Management 65
In 1995, Boehm proposed COCOMO II
-
7/27/2019 Lecture03-spm
66/86
COCOMO II
A family of models Uses different models in 3 different stages
of the ro ect
Software Project Management 66
3 stages: application composition, earlydesign and post architecture
Supports estimation early in the process
Allows further detailed estimation after thesystem architecture has been defined
-
7/27/2019 Lecture03-spm
67/86
The Application Composition
-
7/27/2019 Lecture03-spm
68/86
The Application Composition
Stage
Estimation at the early stage Corresponding to exploratory work such
Software Project Management 68
Uses object points to estimate the sizeof the product
-
7/27/2019 Lecture03-spm
69/86
The Early Design Stage
Estimate after the requirementsspecification is completed and possiblywith some design
Software Project Management 69
Use the basic model equation Estimate the size by FPs (preferred) or
KSLOC
Estimate scale factor and effortmultiplier
The Early Design Stage
-
7/27/2019 Lecture03-spm
70/86
y g g
Scale Factor
Estimation of the scale factorA combined effect of 5 parameters
Software Project Management 70
Process flexibility
Architecture risk resolution
Team cohesion Process maturity
The Early Design Stage
-
7/27/2019 Lecture03-spm
71/86
y g g
Scale Factor (contd)
ParameterVery Low
(0.05)
Low
(0.04)
Nominal
(0.03)
High
(0.02)
Very High
(0.01)
Extra High
(0.00)
PrecedentednessThoroughly
unprecedentedLargely
unprecedentedSomewhat
unprecedentedGenerallyfamiliar
Largelyfamiliar
Thoroughlyfamiliar
Software Project Management 71
Development
flexibilityRigorous
Occasional
relaxation
Some
relaxation
General
conformity
Some
conformity
General
goals
Architecture riskresolution
Little
20%
Some
40%
Often
60%
Generally75%
Mostly
90%
Full
100%
Team cohesion
Very difficult
interactions
Some difficult
interactions
Basically
cooperative
Largely
cooperative
Highly
Cooperative
Seamless
interactions
Process maturity Level 1 Level 2 Level 2+ Level 3 Level 4 Level 5
The Early Design Stage
-
7/27/2019 Lecture03-spm
72/86
y g g
Scale Factor (Contd)
Calculate the scale factor based on theequation
=
Software Project Management 72
.
The Early Design Stage
-
7/27/2019 Lecture03-spm
73/86
y g g
Effort Multiplier
7 factors in Effort Multiplier product Reliability and ComPleXity (RCPX)
required reusability (RUSE)
Software Project Management 73
Platform DIFficulty (PDIF) PERSonnel capability (PERS)
PeRsonnel EXperience (PREX)
FaCILities available (FCIL) SChEDule pressure (SCED)
The Early Design Stage
-
7/27/2019 Lecture03-spm
74/86
y g g
Effort Multiplier (contd)
Assess each factor byVery low, low, nominal, high, very high,
and extra hi h
Software Project Management 74
Assign each factor using a valuebetween 0.5 and 1.5 (inclusive)
EM is the product of all these values
The Early Design Stage
-
7/27/2019 Lecture03-spm
75/86
Effort Multiplier (contd)
Early Design Very Low Extra High
RCPX 0.5 1.5
Software Project Management 75
PDIF 0.5 1.5PERS 1.5 0.5
PREX 1.5 0.5
FCIL 1.5 0.5
SCED 1.5 0.5
The Early Design Stage
-
7/27/2019 Lecture03-spm
76/86
Example
See separate handout
Software Project Management 76
-
7/27/2019 Lecture03-spm
77/86
The Post-architecture Stage
Estimation after the softwarearchitecture has been defined
he same basic model e uation
Software Project Management 77
Size estimation by KSLOC (preferred) orFPs
Same scale factor estimation
17 factors in EM (7 in early designstage)
The Post-architecture Stage
-
7/27/2019 Lecture03-spm
78/86
Effort Multiplier
17 factors in 4 different categories
Product attributes
Software Project Management 78
Personnel attributes Project attributes
The Post-architecture Stage
-
7/27/2019 Lecture03-spm
79/86
Effort Multiplier
Product attributes
Required reliability (RELY)*
Software Project Management 79
Product complexity (CPLX)* Required reuse (RUSE)**
Documentation (DOCU)
*Relate to RCPX in early design stage
The Post-architecture Stage
-
7/27/2019 Lecture03-spm
80/86
EAF (Contd)
Platform attributes
execution TIME constraint (TIME)*
*
Software Project Management 80
Platform VOLatility (PVOL)**Related to Platform DIFficulty (PDIF) in
early design stage
The Post-architecture Stage
-
7/27/2019 Lecture03-spm
81/86
EAF (Contd)
Personnel attributes
Analyst CAPabilities (ACAP)^
*
Software Project Management 81
Programmer CAPabilities (PCAP)^ Personnel EXPerience (PEXP)*
programming Language/Tool EXperience
(LTEX)*
Personnel CONtinuity (PCON)^
The Post-architecture Stage
-
7/27/2019 Lecture03-spm
82/86
EAF (Contd)
Project attributes
use of software TOOLs (TOOL)*
Software Project Management 82
communications (SITE)**Relate to FCIL in early design model
-
7/27/2019 Lecture03-spm
83/86
EAF Relations
Early Design Post-Architecture
RCPX RELY, DATA, CPLX, DOCU
Software Project Management 83
PDIF TIME, STOR, PVOLPERS ACAP, PCAP, PCON
PREX AEXP, PEXP, LTEX
FCIL TOOL, SITE
SCED SCED
The Post-architecture Stage
-
7/27/2019 Lecture03-spm
84/86
Example
See separate handout
Software Project Management 84
-
7/27/2019 Lecture03-spm
85/86
COCOMO II (contd)
Advantages
Good improvementover COCOMO
Disadvantages
Still immature,diverse projects in
Software Project Management 85
Good match for
iterativedevelopment,modern technology,and managementprocess
a a ase
Hard to believe thatit will be any morereliable than theoriginal COCOMOmodel
-
7/27/2019 Lecture03-spm
86/86
References
Hughes, B., and Cotterell, M. (1999) Software
project management, 2nd ed., McGraw Hill Pfleeger, S.L. (1998) Software Engineering:
Software Project Management 86
,
Royce, W. (1998) Software ProjectManagement: A Unified Framework, AddisonWesley
Center for Software Engineering, USC (1999)COCOMO II Model Definition Manual.