SlideShare a Scribd company logo
1 of 86
Software Project Management
Software Project Management
UNIT 2
PROJECT EVALUATION
Size and Cost Estimation
Software Project Management 2
Overview
 Different level of estimation
 Project Evaluation
 Introduction to Estimation
 Size Estimation
 Cost Estimation
Software Project Management 3
Different level of estimation
 Before decision to do a project
 The estimation is coarse
 The estimation is in high level terms

Profit? Good to the organization? etc.
 After decision to go ahead
 More detailed size and cost estimations
are required
Software Project Management 4
Project Evaluation
 A high level assessment of the project
 to see whether it is worthwhile to proceed
with the project
 to see whether the project will fit in the
strategic planning of the whole
organization
Software Project Management 5
Project Evaluation - Why
 Want to decide whether a project can
proceed before it is too late
 Want to decide which of the several
alternative projects has a better
success rate, a higher turnover, a
higher ...
 Is it desirable to carry out the
development and operation of the
software system?
Software Project Management 6
Project Evaluation - Who
 Senior management
 Project manager/coordinator
 Team leader
Software Project Management 7
Project Evaluation - When
 Usually at the beginning of the project
 e.g. Step 0 of Step Wise Framework
Software Project Management 8
Project Evaluation - What
 Strategic assessment
 Technical assessment
 Economic assessment
Software Project Management 9
Project Evaluation - How
 Cost-benefit analysis
 Cash flow forecasting
 Cost-benefit evaluation techniques
 Risk analysis
Software Project Management 10
Strategic planning
  is an organization's process of defining its 
strategy, or direction, and making decisions on
allocating its resources to pursue this strategy.
 to control mechanisms for guiding the
implementation of the strategy.
 It is executed by strategic planners or 
strategists, who involve many parties and
research sources in their analysis of the
organization and its relationship to the
environment in which it competes.
Software Project Management 12
Strategic Assessment
 Used to assess whether a project fits in the
long-term goal of the organization
 Usually carried out by senior management
 Needs a strategic plan that clearly defines the
objectives of the organization
 Evaluates individual projects against the
strategic plan or the overall business
objectives
Software Project Management 13
Strategic Assessment (cont’d)
 Programme management
 suitable for projects developed for use in
the organization
 Portfolio management
 suitable for project developed for other
companies by software houses
Software Project Management 14
SA – Programme
Management
 Individual projects as components of a
programme within the organization
Programme as “a group of projects that areProgramme as “a group of projects that are
managed in a coordinated way to gainmanaged in a coordinated way to gain
benefits that would not be possible were thebenefits that would not be possible were the
projects to be managed independently”projects to be managed independently”
by D.C. Fernsby D.C. Ferns
Journal of Project ManagementJournal of Project Management
Aug. 1991Aug. 1991
Software Project Management 15
SA – Programme
Management Issues
 Objectives
 How does the project contribute to the
long-term goal of the organization?
 Will the product increase the market
share? By how much?
Software Project Management 16
SA – Programme
Management Issues (cont’d)
 Personnel
 What are the staff implications?
 What are the impacts on the overall policy
on staff development?
 Image
 How does the product affect the image of
the organization?
Project Portfolio Management
  (PPM) is the centralized management of processes, 
methods, and technologies used by project managers
 and project management offices (PMOs)  to  analyze 
and  collectively  manage  current  or  proposed 
projects based on numerous key characteristics. 
 The objectives of PPM are to determine the optimal 
resource mix for delivery and to schedule activities 
to  best  achieve  an  organization’s  operational  and 
financial  goals  ―  while  honoring  constraints 
imposed  by  customers,  strategic  objectives,  or 
external real-world factors.
Software Project Management 18
SA – Portfolio Management
 suitable for product developed by a
software company for an organization
 may need to assess the product for the
client organization
 Programme management issues apply
 need to carry out strategic assessment
for the providing software company
Software Project Management 19
SA – Portfolio Management
Issues
 Long-term goal of the software
company
 The effects of the project on the
portfolio of the company (synergies and
conflicts)
 Any added-value to the overall portfolio
of the company
Software Project Management 20
Technical Assessment
 Functionality against hardware and
software
 The strategic IS plan of the organization
any constraints imposed by the IS plan
Software Project Management 21
Economic Assessment
Why?
 Consider whether the project is the best
among other options
 Prioritise the projects so that the
resources can be allocated effectively if
several projects are underway
Software Project Management 22
Economic Assessment
(cont’d)
How?
 Cost-benefit analysis
 Cash flow forecasting
 Various cost-benefit evaluation
techniques
 NPV and IRR
Software Project Management 23
EA – Cost-benefit Analysis
 A standard way to assess the economic
benefits
 Two steps
 Identify and estimate all the costs and
benefits of carrying out the project
 Express the costs and benefits in a
common unit for easy comparison (e.g. $)
Software Project Management 24
EA – Cost-benefit Analysis
(cont’d)
 Costs
 Development costs
 Setup costs
 Operational costs
Software Project Management 25
EA – Cost-benefit Analysis
(cont’d)
 Benefits
 Direct benefits
 Assessable indirect benefits
 Intangible benefits
Software Project Management 26
EA – Cash Flow Forecasting
 What?
 Estimation of the cash flow over time
 Why?
 An excess of estimated benefits over the
estimated costs is not sufficient
 Need detailed estimation of benefits and
costs versus time
Software Project Management 27
EA – Cash Flow Forecasting
(Cont’d)
ExpenIncome
Software Project Management 28
EA – Cash Flow Forecasting
(Cont’d)
 Need to forecast the expenditure
and the income
 Accurate forecast is not easy
 Need to revise the forecast from
time to time
Software Project Management 29
Cost-benefit Evaluation
Techniques Example
Year Project 1 Project 2 Project 3 Project 4
0 -100,000 -1,000,000 -100,000 -120,000
1 10,000 200,000 30,000 30,000
2 10,000 200,000 30,000 30,000
3 20,000 200,000 30,000 30,000
4 20,000 200,000 20,000 25,000
5 100,000 350,000 20,000 50,000
Net Profit 60,000 150,000 30,000 45,000
Payback 5 5 4 4
ROI 12% 4% 10% 11%
Software Project Management 30
Cost-benefit Evaluation
Techniques
 Net profit
= Total income – Total costs
 Payback period
= Time taken to break even
 Return on Investment (ROI)
%100
investmenttotal
profitannualaverage
×=
Software Project Management 31
Cost-benefit Evaluation
Techniques – NPV
Net present value (NPV)
 It is the sum of the present values of all
future amounts.
 Present value is the value which a
future amount is worth at present
 It takes into account the profitability of a
project and the timing of the cash flows
Software Project Management 32
Cost-benefit Evaluation
Techniques – NPV (cont’d)
 Discount rate is the annual rate by
which we discount future earning
 e.g. If discount rate is 10% and the return
of an investment in a year is $110, the
present value of the investment is $100.
Software Project Management 33
Cost-benefit Evaluation
Techniques – NPV (cont’d)
 Let n be the number of year and r be
the discount rate, the present value
(PV) is given by
n
r
n
)(1
yearinvalue
PV
+
=
Software Project Management 34
Cost-benefit Evaluation
Techniques – NPV (cont’d)
 Issues in NPV
 Choosing an appropriate discount rate is
difficult
 Ensuring that the rankings of projects are
not sensitive to small changes in discount
rate
Software Project Management 35
Cost-benefit Evaluation
Techniques – NPV (cont’d)
 Guidelines:
 Use the standard rate prescribed by the
organization
 Use interest rate + premium rate
 Use a target rate of return
 Rank the projects using various discount
rates
Software Project Management 36
Cost-benefit Evaluation
Techniques – NPV (cont’d)
 Disadvantage
 May not be directly comparable with
earnings from other investments or the
costs of borrowing capital
Software Project Management 37
Cost-benefit Evaluation
Techniques – IRR
 Internal Rate of Return (IRR)
 The percentage discount rate that would
produce a NPV of zero
 A relative measure
Software Project Management 38
Cost-benefit Evaluation
Techniques – IRR (cont’d)
1198
-3000
3000
6000
9000
1210
Discount rate
(%)
Net Present Value($)
0
Software Project Management 39
Cost-benefit Evaluation
Techniques – IRR (cont’d)
 Advantages
 Convenient

Directly comparable with rate of return on other
projects and with interest rates
 Useful

Dismiss a project due to its small IRR value

Indicate further precise evaluation of a project
 Supported by MS Excel and Lotus 1-2-3
Software Project Management 40
Estimation
 Why? – to define the project budget and
to ‘refine’ the product to realize the
budget
 Who? – the manager
 What? – size and cost
 When? – always
 How? – techniques and models
Software Project Management 41
Issues related to Estimation
 Difficult to make accurate estimation
 Better to have previous data and analyze the
actual values against their estimates so that
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, used
within the organization is
Software Project Management 42
Positive Attitude Towards
Estimation
 Use your estimation as a guide to
manage your project
 From time to time, you need to revise
your estimation based on the current
status of the project
Software Project Management 43
Estimation Approaches
 Expert judgement
 Ask the knowledgeable experts
 Estimation by analogy
 Use the data of a similar and completed
project
 Pricing to win
 Use the price that is low enough to win the
contract
Software Project Management 44
Estimation Approaches
(cont’d)
 Top-down
 An overall estimate is determined and then broken
down into each component task
 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.
Software Project Management 45
Size Estimation
 Problems related to size estimation
 Size Estimation Model
 Function Point Analysis (FPA)
Software Project Management 46
Problems related to size
estimation
 Nature of software
 Novel application of software
 Fast changing technology
 Lack of homogeneity of project
experience
 Subjective nature of estimation
 Political implications within the
organization
Software Project Management 47
Function Point Analysis (FPA)
 Developed by A. Albrecht in IBM
 Aim: To estimate the LOC of a system
LOC of system
= FP of system × LOC-per-FP of the
language
Software Project Management 48
Function Point Analysis
(cont’d)
 Idea: Software system consists of five
major components (or, external user
types)
 External input types
 External output types
 Logical internal file types
 External interface file types
 External inquiry types
Software Project Management 49
Function Point Analysis -
Steps
 Identify each instance of each external
user type in the proposed system
 Classify each instance as having high,
medium or low complexity
 Assign the FP of each instance
 FP of the system = sum of FP of
individual components
Software Project Management 50
Function Point Analysis
Number of FPs Complexity
External user type Low Average High
External input type 3 4 6
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
Software Project Management 51
Function Point Analysis -
Example
 A component of an inventory system
consisting of ‘Add a record’, ‘Delete a record’,
‘Display a record’, ‘Edit a record’, and ‘Print a
record’ will have
 3 external input types
 1 external output type
 1 external inquiry type
Then, assign FPs based on the complexity of
each type
Software Project Management 52
Function Point Analysis
(cont’d)
 Other issues
 The assignment of level of complexity is
rather subjective
 International FP User Group (IFPUG)
imposes rules on assigning the level of
complexity to individual external user types
Software Project Management 53
Object Point Analysis
 Similar to function point analysis
 Used on 4GL development projects
 Takes account of features that may be
more readily identifiable if the system is
built on high-level application building
tools
Software Project Management 54
Object Point Analysis – Steps
 Identify the number of screens, reports
and 3GL components
 Classify each object as Simple, Medium
and Difficult
 Assign the weight accordingly
 Calculate the total object points
Total OP = sum of individual OP × weighting
Software Project Management 55
Object Point Analysis – Steps
(cont’d)
 Deduct the reused objects (r% reused)
NOP = OP × (1 – r%)
 Identify the productivity rate of both
developer and CASE
 Productivity rate = average of the two
PRs
 Calculate the effort
Effort = NOP / Productivity Rate
Software Project Management 56
Object Point Analysis –
Screens
Number and source of data tables
Number of
views
contained
Total < 4
(<2 server,
<2 client)
Total < 8
(2-3 server,
3-5 client)
Total 8+
(>3 server,
>5 client)
< 3 Simple Simple Medium
3 – 7 Simple Medium Difficult
8+ Medium Difficult Difficult
Software Project Management 57
Object Point Analysis –
Reports
Number and source of data tables
Number of
sections
contained
Total < 4
(<2 server,
<2 client)
Total < 8
(2-3 server,
3-5 client)
Total 8+
(>3 server,
>5 client)
< 2 Simple Simple Medium
2 or 3 Simple Medium Difficult
> 3 Medium Difficult Difficult
Software Project Management 58
Object Point Analysis –
Complexity Weightings
Complexity
Type of object Simple Medium Difficult
Screen 1 2 3
Report 2 5 8
3GL
component
N/A N/A 10
Software Project Management 59
Object Point Analysis –
Productivity Rate
Very
low
Low
Nomina
l
High
Very
High
Developer’s
experience
and capability
4 7 13 25 50
CASE
maturity and
capability
4 7 13 25 50
Software Project Management 60
Object Point Analysis – Issues
 Adopted in Boehm’s COCOMO II in the
application composition stage
Software Project Management 61
Object Point Analysis –
Example
 See separate handout
Software Project Management 62
Cost Estimation
 Cost Estimation Model
 COCOMO II
Software Project Management 63
Constructive Cost Model II
(COCOMO II)
 A parametric cost model
 Important aspects of software projects are
characterized by variables (or parameters)
 Once the value of the parameters are
determined, the cost can be computed
from an equation
Software Project Management 64
COCOMO II (cont’d)
 Recognizes different approaches to
software development
 Prototyping, Incremental development etc.
Software Project Management 65
A history of COCOMOs
 COCOMO originally proposed by
Boehm in 1981, now called COCOMO
81
 Later evolved to Ada COCOMO in 1989
 In 1995, Boehm proposed COCOMO II
Software Project Management 66
COCOMO II
 A family of models
 Uses different models in 3 different stages
of the project
 3 stages: application composition, early
design and post architecture
 Supports estimation early in the process
 Allows further detailed estimation after the
system architecture has been defined
Software Project Management 67
COCOMO II (cont’d)
 The basic model equation
Effort = Constant × (Size)scale factor
× Effort Multiplier
 Effort in terms of person-months
 Constant: 2.45 in 1998
 Size: Estimated Size in KSLOC
 Scale Factor: combined process factors
 Effort Multiplier (EM): combined effort factors
Software Project Management 68
The Application Composition
Stage
 Estimation at the early stage
 Corresponding to exploratory work such
as prototyping
 Uses object points to estimate the size
of the product
Software Project Management 69
The Early Design Stage
 Estimate after the requirements
specification is completed and possibly
with some design
 Use the basic model equation
 Estimate the size by FPs (preferred) or
KSLOC
 Estimate scale factor and effort
multiplier
Software Project Management 70
The Early Design Stage –
Scale Factor
 Estimation of the scale factor
 A combined effect of 5 parameters
 Application precedentedness
 Process flexibility
 Architecture risk resolution
 Team cohesion
 Process maturity
Software Project Management 71
The Early Design Stage –
Scale Factor (cont’d)
Parameter
Very Low
(0.05)
Low
(0.04)
Nominal
(0.03)
High
(0.02)
Very High
(0.01)
Extra High
(0.00)
Precedentedness
Thoroughly
unprecedented
Largely
unprecedented
Somewhat
unprecedented
Generally
familiar
Largely
familiar
Thoroughly
familiar
Development
flexibility
Rigorous
Occasional
relaxation
Some
relaxation
General
conformity
Some
conformity
General
goals
Architecture risk
resolution
Little
20%
Some
40%
Often
60%
Generally
75%
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
Software Project Management 72
The Early Design Stage –
Scale Factor (Cont’d)
 Calculate the scale factor based on the
equation
Scale factor = 1.01 + sum of the values
Software Project Management 73
The Early Design Stage –
Effort Multiplier
 7 factors in Effort Multiplier
 product Reliability and ComPleXity (RCPX)
 required reusability (RUSE)
 Platform DIFficulty (PDIF)
 PERSonnel capability (PERS)
 PeRsonnel EXperience (PREX)
 FaCILities available (FCIL)
 SChEDule pressure (SCED)
Software Project Management 74
The Early Design Stage –
Effort Multiplier (cont’d)
 Assess each factor by
 Very low, low, nominal, high, very high,
and extra high
 Assign each factor using a value
between 0.5 and 1.5 (inclusive)
 EM is the product of all these values
Software Project Management 75
The Early Design Stage –
Effort Multiplier (cont’d)
Early Design Very Low – Extra High
RCPX 0.5 – 1.5
RUSE 0.5 – 1.5
PDIF 0.5 – 1.5
PERS 1.5 – 0.5
PREX 1.5 – 0.5
FCIL 1.5 – 0.5
SCED 1.5 – 0.5
Software Project Management 76
The Early Design Stage –
Example
 See separate handout
Software Project Management 77
The Post-architecture Stage
 Estimation after the software
architecture has been defined
 The same basic model equation
 Size estimation by KSLOC (preferred)
or FPs
 Same scale factor estimation
 17 factors in EM (7 in early design
stage)
Software Project Management 78
The Post-architecture Stage –
Effort Multiplier
 17 factors in 4 different categories
 Product attributes
 Platform attributes
 Personnel attributes
 Project attributes
Software Project Management 79
The Post-architecture Stage –
Effort Multiplier
 Product attributes
 Required reliability (RELY)*
 Database size (DATA)
 Product complexity (CPLX)*
 Required reuse (RUSE)**
 Documentation (DOCU)
*Relate to RCPX in early design stage
Software Project Management 80
The Post-architecture Stage –
EAF (Cont’d)
 Platform attributes
 execution TIME constraint (TIME)*
 main STORage constraint (STOR)*
 Platform VOLatility (PVOL)*
*Related to Platform DIFficulty (PDIF) in
early design stage
Software Project Management 81
The Post-architecture Stage –
EAF (Cont’d)
 Personnel attributes
 Analyst CAPabilities (ACAP)^
 Application EXPerience (AEXP)*
 Programmer CAPabilities (PCAP)^
 Personnel EXPerience (PEXP)*
 programming Language/Tool EXperience
(LTEX)*
 Personnel CONtinuity (PCON)^
Software Project Management 82
The Post-architecture Stage –
EAF (Cont’d)
 Project attributes
 use of software TOOLs (TOOL)*
 multiSITE development team
communications (SITE)*
*Relate to FCIL in early design model
Software Project Management 83
EAF Relations
Early
Design
Post-Architecture
RCPX RELY, DATA, CPLX, DOCU
RUSE RUSE
PDIF TIME, STOR, PVOL
PERS ACAP, PCAP, PCON
PREX AEXP, PEXP, LTEX
FCIL TOOL, SITE
SCED SCED
Software Project Management 84
The Post-architecture Stage –
Example
 See separate handout
Software Project Management 85
COCOMO II (cont’d)
 Advantages
 Good improvement
over COCOMO
 Good match for
iterative
development,
modern technology,
and management
process
 Disadvantages
 Still immature,
diverse projects in
database
 Hard to believe that it
will be any more
reliable than the
original COCOMO
model
Software Project Management 86
References
 Hughes, B., and Cotterell, M. (1999) Software
project management, 2nd
ed., McGraw Hill
 Pfleeger, S.L. (1998) Software Engineering:
Theory and Practice, Prentice Hall
 Royce, W. (1998) Software Project
Management: A Unified Framework, Addison
Wesley
 Center for Software Engineering, USC (1999)
COCOMO II Model Definition Manual.

More Related Content

What's hot

Spm ksp
Spm kspSpm ksp
Spm ksp
ktosri
 
Software Project Management - NESDEV
Software Project Management - NESDEVSoftware Project Management - NESDEV
Software Project Management - NESDEV
Krit Kamtuo
 

What's hot (20)

Cost estimation
Cost estimationCost estimation
Cost estimation
 
Other software processes (Software project Management)
Other software processes (Software project Management)Other software processes (Software project Management)
Other software processes (Software project Management)
 
Software Project Management (SPM)
Software Project Management (SPM)Software Project Management (SPM)
Software Project Management (SPM)
 
It2403 spm
It2403 spmIt2403 spm
It2403 spm
 
Pragmatic Approaches to Project Costs Estimation
Pragmatic Approaches to Project Costs EstimationPragmatic Approaches to Project Costs Estimation
Pragmatic Approaches to Project Costs Estimation
 
Software Project Management
Software Project ManagementSoftware Project Management
Software Project Management
 
Lecture6
Lecture6Lecture6
Lecture6
 
Spm unit 1
Spm unit 1Spm unit 1
Spm unit 1
 
MG6088 SOFTWARE PROJECT MANAGEMENT
MG6088 SOFTWARE PROJECT MANAGEMENTMG6088 SOFTWARE PROJECT MANAGEMENT
MG6088 SOFTWARE PROJECT MANAGEMENT
 
Improving software economics
Improving software economicsImproving software economics
Improving software economics
 
Agile Business Rhythm
Agile Business RhythmAgile Business Rhythm
Agile Business Rhythm
 
software project management Artifact set(spm)
software project management Artifact set(spm)software project management Artifact set(spm)
software project management Artifact set(spm)
 
Afrekenen met functiepunten
Afrekenen met functiepuntenAfrekenen met functiepunten
Afrekenen met functiepunten
 
Spm ksp
Spm kspSpm ksp
Spm ksp
 
Spm unit 4
Spm unit 4Spm unit 4
Spm unit 4
 
Activites and Time Planning
 Activites and Time Planning Activites and Time Planning
Activites and Time Planning
 
Software project management- Software Engineering
Software project management- Software EngineeringSoftware project management- Software Engineering
Software project management- Software Engineering
 
Software Project Planning II
Software Project Planning IISoftware Project Planning II
Software Project Planning II
 
4 Scheduling Monitoring
4 Scheduling Monitoring4 Scheduling Monitoring
4 Scheduling Monitoring
 
Software Project Management - NESDEV
Software Project Management - NESDEVSoftware Project Management - NESDEV
Software Project Management - NESDEV
 

Viewers also liked

Project Management in Agile Organizations - Agila kontrakt
Project Management in Agile Organizations - Agila kontraktProject Management in Agile Organizations - Agila kontrakt
Project Management in Agile Organizations - Agila kontrakt
Knowit_TM
 
IT Project Management and Scrum, part I
IT Project Management and Scrum, part IIT Project Management and Scrum, part I
IT Project Management and Scrum, part I
Visma Lietuva
 
Software Estimation Part I
Software Estimation Part ISoftware Estimation Part I
Software Estimation Part I
sslovepk
 
Project Management in Agile Organizations - What is agile?
Project Management in Agile Organizations - What is agile?Project Management in Agile Organizations - What is agile?
Project Management in Agile Organizations - What is agile?
Knowit_TM
 
IT Project Management and Scrum, part II
IT Project Management and Scrum, part IIIT Project Management and Scrum, part II
IT Project Management and Scrum, part II
Visma Lietuva
 
Agile project management day 2
Agile project management day 2Agile project management day 2
Agile project management day 2
Knowit_TM
 

Viewers also liked (20)

Software cost estimation project
Software  cost estimation projectSoftware  cost estimation project
Software cost estimation project
 
Software Project Cost Estimation
Software Project Cost EstimationSoftware Project Cost Estimation
Software Project Cost Estimation
 
Software Estimation Technique
Software Estimation TechniqueSoftware Estimation Technique
Software Estimation Technique
 
Software Project Management
Software Project ManagementSoftware Project Management
Software Project Management
 
Software cost estimation
Software cost estimationSoftware cost estimation
Software cost estimation
 
Introduction of software project management
Introduction of software project managementIntroduction of software project management
Introduction of software project management
 
Estimation techniques1.0
Estimation techniques1.0Estimation techniques1.0
Estimation techniques1.0
 
Zeeshan Estimation
Zeeshan EstimationZeeshan Estimation
Zeeshan Estimation
 
Project Management in Agile Organizations - Agila kontrakt
Project Management in Agile Organizations - Agila kontraktProject Management in Agile Organizations - Agila kontrakt
Project Management in Agile Organizations - Agila kontrakt
 
Software Estimation
Software EstimationSoftware Estimation
Software Estimation
 
IT Project Management and Scrum, part I
IT Project Management and Scrum, part IIT Project Management and Scrum, part I
IT Project Management and Scrum, part I
 
Software Estimation Part I
Software Estimation Part ISoftware Estimation Part I
Software Estimation Part I
 
Project Management in Agile Organizations - What is agile?
Project Management in Agile Organizations - What is agile?Project Management in Agile Organizations - What is agile?
Project Management in Agile Organizations - What is agile?
 
Calendario manteniiento de la rampa de aeronaves y departamento de linea
Calendario manteniiento de la rampa de aeronaves y departamento de lineaCalendario manteniiento de la rampa de aeronaves y departamento de linea
Calendario manteniiento de la rampa de aeronaves y departamento de linea
 
Project Estimation:Survival Guide
Project Estimation:Survival GuideProject Estimation:Survival Guide
Project Estimation:Survival Guide
 
IT Project Management and Scrum, part II
IT Project Management and Scrum, part IIIT Project Management and Scrum, part II
IT Project Management and Scrum, part II
 
Taking the Mystery out of Project Evaluation
Taking the Mystery out of Project EvaluationTaking the Mystery out of Project Evaluation
Taking the Mystery out of Project Evaluation
 
Software Estimation
Software EstimationSoftware Estimation
Software Estimation
 
Agile project management day 2
Agile project management day 2Agile project management day 2
Agile project management day 2
 
How EU Funding Works
How EU Funding WorksHow EU Funding Works
How EU Funding Works
 

Similar to Unit2 140919045718-phpapp01

Project management
Project managementProject management
Project management
Ahmed Said
 
Jurnal an example of using key performance indicators for software development
Jurnal   an example of using key performance indicators for software developmentJurnal   an example of using key performance indicators for software development
Jurnal an example of using key performance indicators for software development
Ratzman III
 
Unit2 Chapter 2 Programme Management and Project Evaluation.pdf
Unit2 Chapter  2 Programme Management and Project Evaluation.pdfUnit2 Chapter  2 Programme Management and Project Evaluation.pdf
Unit2 Chapter 2 Programme Management and Project Evaluation.pdf
Deepak Kumar
 
Microsoft Project in Manufacturing and Resources - Presented by Atidan
Microsoft Project in Manufacturing and Resources - Presented by AtidanMicrosoft Project in Manufacturing and Resources - Presented by Atidan
Microsoft Project in Manufacturing and Resources - Presented by Atidan
David J Rosenthal
 
Project Management And The Major Areas Of Projects Management
Project Management And The Major Areas Of Projects ManagementProject Management And The Major Areas Of Projects Management
Project Management And The Major Areas Of Projects Management
Miles Priar
 
Stefanini.trinh
Stefanini.trinhStefanini.trinh
Stefanini.trinh
NASAPMC
 
L03 integration management
L03 integration managementL03 integration management
L03 integration management
Asa Chan
 
PPT_Management of Large and Complex Software Projects
PPT_Management of Large and Complex Software ProjectsPPT_Management of Large and Complex Software Projects
PPT_Management of Large and Complex Software Projects
Sudipta Das
 

Similar to Unit2 140919045718-phpapp01 (20)

Computing Project
Computing Project Computing Project
Computing Project
 
Project management
Project managementProject management
Project management
 
Software project management introduction
Software project management introductionSoftware project management introduction
Software project management introduction
 
SWE-401 - 3. Software Project Management
SWE-401 - 3. Software Project ManagementSWE-401 - 3. Software Project Management
SWE-401 - 3. Software Project Management
 
SE-Lecture-5.pptx
SE-Lecture-5.pptxSE-Lecture-5.pptx
SE-Lecture-5.pptx
 
SPM-Lecture -3.ppt
SPM-Lecture -3.pptSPM-Lecture -3.ppt
SPM-Lecture -3.ppt
 
Guide to Software Estimation
Guide to Software EstimationGuide to Software Estimation
Guide to Software Estimation
 
Cmm Level2
Cmm Level2Cmm Level2
Cmm Level2
 
Jurnal an example of using key performance indicators for software development
Jurnal   an example of using key performance indicators for software developmentJurnal   an example of using key performance indicators for software development
Jurnal an example of using key performance indicators for software development
 
Bca 5th sem seminar(software measurements)
Bca 5th sem seminar(software measurements)Bca 5th sem seminar(software measurements)
Bca 5th sem seminar(software measurements)
 
Chapter 14 slides w animation
Chapter 14 slides w animationChapter 14 slides w animation
Chapter 14 slides w animation
 
Unit2 Chapter 2 Programme Management and Project Evaluation.pdf
Unit2 Chapter  2 Programme Management and Project Evaluation.pdfUnit2 Chapter  2 Programme Management and Project Evaluation.pdf
Unit2 Chapter 2 Programme Management and Project Evaluation.pdf
 
Microsoft Project in Manufacturing and Resources - Presented by Atidan
Microsoft Project in Manufacturing and Resources - Presented by AtidanMicrosoft Project in Manufacturing and Resources - Presented by Atidan
Microsoft Project in Manufacturing and Resources - Presented by Atidan
 
Project Management And The Major Areas Of Projects Management
Project Management And The Major Areas Of Projects ManagementProject Management And The Major Areas Of Projects Management
Project Management And The Major Areas Of Projects Management
 
Stefanini.trinh
Stefanini.trinhStefanini.trinh
Stefanini.trinh
 
L03 integration management
L03 integration managementL03 integration management
L03 integration management
 
software project management.lpu.slide.ansh.gupta
software project management.lpu.slide.ansh.guptasoftware project management.lpu.slide.ansh.gupta
software project management.lpu.slide.ansh.gupta
 
PPT_Management of Large and Complex Software Projects
PPT_Management of Large and Complex Software ProjectsPPT_Management of Large and Complex Software Projects
PPT_Management of Large and Complex Software Projects
 
Software project management
Software project managementSoftware project management
Software project management
 
Software project management 3
Software project management 3Software project management 3
Software project management 3
 

Recently uploaded

The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
heathfieldcps1
 

Recently uploaded (20)

Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
Basic Intentional Injuries Health Education
Basic Intentional Injuries Health EducationBasic Intentional Injuries Health Education
Basic Intentional Injuries Health Education
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
How to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxHow to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptx
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptx
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024
 
Plant propagation: Sexual and Asexual propapagation.pptx
Plant propagation: Sexual and Asexual propapagation.pptxPlant propagation: Sexual and Asexual propapagation.pptx
Plant propagation: Sexual and Asexual propapagation.pptx
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 

Unit2 140919045718-phpapp01

  • 1. Software Project Management Software Project Management UNIT 2 PROJECT EVALUATION Size and Cost Estimation
  • 2. Software Project Management 2 Overview  Different level of estimation  Project Evaluation  Introduction to Estimation  Size Estimation  Cost Estimation
  • 3. Software Project Management 3 Different level of estimation  Before decision to do a project  The estimation is coarse  The estimation is in high level terms  Profit? Good to the organization? etc.  After decision to go ahead  More detailed size and cost estimations are required
  • 4. Software Project Management 4 Project Evaluation  A high level assessment of the project  to see whether it is worthwhile to proceed with the project  to see whether the project will fit in the strategic planning of the whole organization
  • 5. Software Project Management 5 Project Evaluation - Why  Want to decide whether a project can proceed before it is too late  Want to decide which of the several alternative projects has a better success rate, a higher turnover, a higher ...  Is it desirable to carry out the development and operation of the software system?
  • 6. Software Project Management 6 Project Evaluation - Who  Senior management  Project manager/coordinator  Team leader
  • 7. Software Project Management 7 Project Evaluation - When  Usually at the beginning of the project  e.g. Step 0 of Step Wise Framework
  • 8. Software Project Management 8 Project Evaluation - What  Strategic assessment  Technical assessment  Economic assessment
  • 9. Software Project Management 9 Project Evaluation - How  Cost-benefit analysis  Cash flow forecasting  Cost-benefit evaluation techniques  Risk analysis
  • 11. Strategic planning   is an organization's process of defining its  strategy, or direction, and making decisions on allocating its resources to pursue this strategy.  to control mechanisms for guiding the implementation of the strategy.  It is executed by strategic planners or  strategists, who involve many parties and research sources in their analysis of the organization and its relationship to the environment in which it competes.
  • 12. Software Project Management 12 Strategic Assessment  Used to assess whether a project fits in the long-term goal of the organization  Usually carried out by senior management  Needs a strategic plan that clearly defines the objectives of the organization  Evaluates individual projects against the strategic plan or the overall business objectives
  • 13. Software Project Management 13 Strategic Assessment (cont’d)  Programme management  suitable for projects developed for use in the organization  Portfolio management  suitable for project developed for other companies by software houses
  • 14. Software Project Management 14 SA – Programme Management  Individual projects as components of a programme within the organization Programme as “a group of projects that areProgramme as “a group of projects that are managed in a coordinated way to gainmanaged in a coordinated way to gain benefits that would not be possible were thebenefits that would not be possible were the projects to be managed independently”projects to be managed independently” by D.C. Fernsby D.C. Ferns Journal of Project ManagementJournal of Project Management Aug. 1991Aug. 1991
  • 15. Software Project Management 15 SA – Programme Management Issues  Objectives  How does the project contribute to the long-term goal of the organization?  Will the product increase the market share? By how much?
  • 16. Software Project Management 16 SA – Programme Management Issues (cont’d)  Personnel  What are the staff implications?  What are the impacts on the overall policy on staff development?  Image  How does the product affect the image of the organization?
  • 17. Project Portfolio Management   (PPM) is the centralized management of processes,  methods, and technologies used by project managers  and project management offices (PMOs)  to  analyze  and  collectively  manage  current  or  proposed  projects based on numerous key characteristics.   The objectives of PPM are to determine the optimal  resource mix for delivery and to schedule activities  to  best  achieve  an  organization’s  operational  and  financial  goals  ―  while  honoring  constraints  imposed  by  customers,  strategic  objectives,  or  external real-world factors.
  • 18. Software Project Management 18 SA – Portfolio Management  suitable for product developed by a software company for an organization  may need to assess the product for the client organization  Programme management issues apply  need to carry out strategic assessment for the providing software company
  • 19. Software Project Management 19 SA – Portfolio Management Issues  Long-term goal of the software company  The effects of the project on the portfolio of the company (synergies and conflicts)  Any added-value to the overall portfolio of the company
  • 20. Software Project Management 20 Technical Assessment  Functionality against hardware and software  The strategic IS plan of the organization any constraints imposed by the IS plan
  • 21. Software Project Management 21 Economic Assessment Why?  Consider whether the project is the best among other options  Prioritise the projects so that the resources can be allocated effectively if several projects are underway
  • 22. Software Project Management 22 Economic Assessment (cont’d) How?  Cost-benefit analysis  Cash flow forecasting  Various cost-benefit evaluation techniques  NPV and IRR
  • 23. Software Project Management 23 EA – Cost-benefit Analysis  A standard way to assess the economic benefits  Two steps  Identify and estimate all the costs and benefits of carrying out the project  Express the costs and benefits in a common unit for easy comparison (e.g. $)
  • 24. Software Project Management 24 EA – Cost-benefit Analysis (cont’d)  Costs  Development costs  Setup costs  Operational costs
  • 25. Software Project Management 25 EA – Cost-benefit Analysis (cont’d)  Benefits  Direct benefits  Assessable indirect benefits  Intangible benefits
  • 26. Software Project Management 26 EA – Cash Flow Forecasting  What?  Estimation of the cash flow over time  Why?  An excess of estimated benefits over the estimated costs is not sufficient  Need detailed estimation of benefits and costs versus time
  • 27. Software Project Management 27 EA – Cash Flow Forecasting (Cont’d) ExpenIncome
  • 28. Software Project Management 28 EA – Cash Flow Forecasting (Cont’d)  Need to forecast the expenditure and the income  Accurate forecast is not easy  Need to revise the forecast from time to time
  • 29. Software Project Management 29 Cost-benefit Evaluation Techniques Example Year Project 1 Project 2 Project 3 Project 4 0 -100,000 -1,000,000 -100,000 -120,000 1 10,000 200,000 30,000 30,000 2 10,000 200,000 30,000 30,000 3 20,000 200,000 30,000 30,000 4 20,000 200,000 20,000 25,000 5 100,000 350,000 20,000 50,000 Net Profit 60,000 150,000 30,000 45,000 Payback 5 5 4 4 ROI 12% 4% 10% 11%
  • 30. Software Project Management 30 Cost-benefit Evaluation Techniques  Net profit = Total income – Total costs  Payback period = Time taken to break even  Return on Investment (ROI) %100 investmenttotal profitannualaverage ×=
  • 31. Software Project Management 31 Cost-benefit Evaluation Techniques – NPV Net present value (NPV)  It is the sum of the present values of all future amounts.  Present value is the value which a future amount is worth at present  It takes into account the profitability of a project and the timing of the cash flows
  • 32. Software Project Management 32 Cost-benefit Evaluation Techniques – NPV (cont’d)  Discount rate is the annual rate by which we discount future earning  e.g. If discount rate is 10% and the return of an investment in a year is $110, the present value of the investment is $100.
  • 33. Software Project Management 33 Cost-benefit Evaluation Techniques – NPV (cont’d)  Let n be the number of year and r be the discount rate, the present value (PV) is given by n r n )(1 yearinvalue PV + =
  • 34. Software Project Management 34 Cost-benefit Evaluation Techniques – NPV (cont’d)  Issues in NPV  Choosing an appropriate discount rate is difficult  Ensuring that the rankings of projects are not sensitive to small changes in discount rate
  • 35. Software Project Management 35 Cost-benefit Evaluation Techniques – NPV (cont’d)  Guidelines:  Use the standard rate prescribed by the organization  Use interest rate + premium rate  Use a target rate of return  Rank the projects using various discount rates
  • 36. Software Project Management 36 Cost-benefit Evaluation Techniques – NPV (cont’d)  Disadvantage  May not be directly comparable with earnings from other investments or the costs of borrowing capital
  • 37. Software Project Management 37 Cost-benefit Evaluation Techniques – IRR  Internal Rate of Return (IRR)  The percentage discount rate that would produce a NPV of zero  A relative measure
  • 38. Software Project Management 38 Cost-benefit Evaluation Techniques – IRR (cont’d) 1198 -3000 3000 6000 9000 1210 Discount rate (%) Net Present Value($) 0
  • 39. Software Project Management 39 Cost-benefit Evaluation Techniques – IRR (cont’d)  Advantages  Convenient  Directly comparable with rate of return on other projects and with interest rates  Useful  Dismiss a project due to its small IRR value  Indicate further precise evaluation of a project  Supported by MS Excel and Lotus 1-2-3
  • 40. Software Project Management 40 Estimation  Why? – to define the project budget and to ‘refine’ the product to realize the budget  Who? – the manager  What? – size and cost  When? – always  How? – techniques and models
  • 41. Software Project Management 41 Issues related to Estimation  Difficult to make accurate estimation  Better to have previous data and analyze the actual values against their estimates so that 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, used within the organization is
  • 42. Software Project Management 42 Positive Attitude Towards Estimation  Use your estimation as a guide to manage your project  From time to time, you need to revise your estimation based on the current status of the project
  • 43. Software Project Management 43 Estimation Approaches  Expert judgement  Ask the knowledgeable experts  Estimation by analogy  Use the data of a similar and completed project  Pricing to win  Use the price that is low enough to win the contract
  • 44. Software Project Management 44 Estimation Approaches (cont’d)  Top-down  An overall estimate is determined and then broken down into each component task  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.
  • 45. Software Project Management 45 Size Estimation  Problems related to size estimation  Size Estimation Model  Function Point Analysis (FPA)
  • 46. Software Project Management 46 Problems related to size estimation  Nature of software  Novel application of software  Fast changing technology  Lack of homogeneity of project experience  Subjective nature of estimation  Political implications within the organization
  • 47. Software Project Management 47 Function Point Analysis (FPA)  Developed by A. Albrecht in IBM  Aim: To estimate the LOC of a system LOC of system = FP of system × LOC-per-FP of the language
  • 48. Software Project Management 48 Function Point Analysis (cont’d)  Idea: Software system consists of five major components (or, external user types)  External input types  External output types  Logical internal file types  External interface file types  External inquiry types
  • 49. Software Project Management 49 Function Point Analysis - Steps  Identify each instance of each external user type in the proposed system  Classify each instance as having high, medium or low complexity  Assign the FP of each instance  FP of the system = sum of FP of individual components
  • 50. Software Project Management 50 Function Point Analysis Number of FPs Complexity External user type Low Average High External input type 3 4 6 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
  • 51. Software Project Management 51 Function Point Analysis - Example  A component of an inventory system consisting of ‘Add a record’, ‘Delete a record’, ‘Display a record’, ‘Edit a record’, and ‘Print a record’ will have  3 external input types  1 external output type  1 external inquiry type Then, assign FPs based on the complexity of each type
  • 52. Software Project Management 52 Function Point Analysis (cont’d)  Other issues  The assignment of level of complexity is rather subjective  International FP User Group (IFPUG) imposes rules on assigning the level of complexity to individual external user types
  • 53. Software Project Management 53 Object Point Analysis  Similar to function point analysis  Used on 4GL development projects  Takes account of features that may be more readily identifiable if the system is built on high-level application building tools
  • 54. Software Project Management 54 Object Point Analysis – Steps  Identify the number of screens, reports and 3GL components  Classify each object as Simple, Medium and Difficult  Assign the weight accordingly  Calculate the total object points Total OP = sum of individual OP × weighting
  • 55. Software Project Management 55 Object Point Analysis – Steps (cont’d)  Deduct the reused objects (r% reused) NOP = OP × (1 – r%)  Identify the productivity rate of both developer and CASE  Productivity rate = average of the two PRs  Calculate the effort Effort = NOP / Productivity Rate
  • 56. Software Project Management 56 Object Point Analysis – Screens Number and source of data tables Number of views contained Total < 4 (<2 server, <2 client) Total < 8 (2-3 server, 3-5 client) Total 8+ (>3 server, >5 client) < 3 Simple Simple Medium 3 – 7 Simple Medium Difficult 8+ Medium Difficult Difficult
  • 57. Software Project Management 57 Object Point Analysis – Reports Number and source of data tables Number of sections contained Total < 4 (<2 server, <2 client) Total < 8 (2-3 server, 3-5 client) Total 8+ (>3 server, >5 client) < 2 Simple Simple Medium 2 or 3 Simple Medium Difficult > 3 Medium Difficult Difficult
  • 58. Software Project Management 58 Object Point Analysis – Complexity Weightings Complexity Type of object Simple Medium Difficult Screen 1 2 3 Report 2 5 8 3GL component N/A N/A 10
  • 59. Software Project Management 59 Object Point Analysis – Productivity Rate Very low Low Nomina l High Very High Developer’s experience and capability 4 7 13 25 50 CASE maturity and capability 4 7 13 25 50
  • 60. Software Project Management 60 Object Point Analysis – Issues  Adopted in Boehm’s COCOMO II in the application composition stage
  • 61. Software Project Management 61 Object Point Analysis – Example  See separate handout
  • 62. Software Project Management 62 Cost Estimation  Cost Estimation Model  COCOMO II
  • 63. Software Project Management 63 Constructive Cost Model II (COCOMO II)  A parametric cost model  Important aspects of software projects are characterized by variables (or parameters)  Once the value of the parameters are determined, the cost can be computed from an equation
  • 64. Software Project Management 64 COCOMO II (cont’d)  Recognizes different approaches to software development  Prototyping, Incremental development etc.
  • 65. Software Project Management 65 A history of COCOMOs  COCOMO originally proposed by Boehm in 1981, now called COCOMO 81  Later evolved to Ada COCOMO in 1989  In 1995, Boehm proposed COCOMO II
  • 66. Software Project Management 66 COCOMO II  A family of models  Uses different models in 3 different stages of the project  3 stages: application composition, early design and post architecture  Supports estimation early in the process  Allows further detailed estimation after the system architecture has been defined
  • 67. Software Project Management 67 COCOMO II (cont’d)  The basic model equation Effort = Constant × (Size)scale factor × Effort Multiplier  Effort in terms of person-months  Constant: 2.45 in 1998  Size: Estimated Size in KSLOC  Scale Factor: combined process factors  Effort Multiplier (EM): combined effort factors
  • 68. Software Project Management 68 The Application Composition Stage  Estimation at the early stage  Corresponding to exploratory work such as prototyping  Uses object points to estimate the size of the product
  • 69. Software Project Management 69 The Early Design Stage  Estimate after the requirements specification is completed and possibly with some design  Use the basic model equation  Estimate the size by FPs (preferred) or KSLOC  Estimate scale factor and effort multiplier
  • 70. Software Project Management 70 The Early Design Stage – Scale Factor  Estimation of the scale factor  A combined effect of 5 parameters  Application precedentedness  Process flexibility  Architecture risk resolution  Team cohesion  Process maturity
  • 71. Software Project Management 71 The Early Design Stage – Scale Factor (cont’d) Parameter Very Low (0.05) Low (0.04) Nominal (0.03) High (0.02) Very High (0.01) Extra High (0.00) Precedentedness Thoroughly unprecedented Largely unprecedented Somewhat unprecedented Generally familiar Largely familiar Thoroughly familiar Development flexibility Rigorous Occasional relaxation Some relaxation General conformity Some conformity General goals Architecture risk resolution Little 20% Some 40% Often 60% Generally 75% 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
  • 72. Software Project Management 72 The Early Design Stage – Scale Factor (Cont’d)  Calculate the scale factor based on the equation Scale factor = 1.01 + sum of the values
  • 73. Software Project Management 73 The Early Design Stage – Effort Multiplier  7 factors in Effort Multiplier  product Reliability and ComPleXity (RCPX)  required reusability (RUSE)  Platform DIFficulty (PDIF)  PERSonnel capability (PERS)  PeRsonnel EXperience (PREX)  FaCILities available (FCIL)  SChEDule pressure (SCED)
  • 74. Software Project Management 74 The Early Design Stage – Effort Multiplier (cont’d)  Assess each factor by  Very low, low, nominal, high, very high, and extra high  Assign each factor using a value between 0.5 and 1.5 (inclusive)  EM is the product of all these values
  • 75. Software Project Management 75 The Early Design Stage – Effort Multiplier (cont’d) Early Design Very Low – Extra High RCPX 0.5 – 1.5 RUSE 0.5 – 1.5 PDIF 0.5 – 1.5 PERS 1.5 – 0.5 PREX 1.5 – 0.5 FCIL 1.5 – 0.5 SCED 1.5 – 0.5
  • 76. Software Project Management 76 The Early Design Stage – Example  See separate handout
  • 77. Software Project Management 77 The Post-architecture Stage  Estimation after the software architecture has been defined  The same basic model equation  Size estimation by KSLOC (preferred) or FPs  Same scale factor estimation  17 factors in EM (7 in early design stage)
  • 78. Software Project Management 78 The Post-architecture Stage – Effort Multiplier  17 factors in 4 different categories  Product attributes  Platform attributes  Personnel attributes  Project attributes
  • 79. Software Project Management 79 The Post-architecture Stage – Effort Multiplier  Product attributes  Required reliability (RELY)*  Database size (DATA)  Product complexity (CPLX)*  Required reuse (RUSE)**  Documentation (DOCU) *Relate to RCPX in early design stage
  • 80. Software Project Management 80 The Post-architecture Stage – EAF (Cont’d)  Platform attributes  execution TIME constraint (TIME)*  main STORage constraint (STOR)*  Platform VOLatility (PVOL)* *Related to Platform DIFficulty (PDIF) in early design stage
  • 81. Software Project Management 81 The Post-architecture Stage – EAF (Cont’d)  Personnel attributes  Analyst CAPabilities (ACAP)^  Application EXPerience (AEXP)*  Programmer CAPabilities (PCAP)^  Personnel EXPerience (PEXP)*  programming Language/Tool EXperience (LTEX)*  Personnel CONtinuity (PCON)^
  • 82. Software Project Management 82 The Post-architecture Stage – EAF (Cont’d)  Project attributes  use of software TOOLs (TOOL)*  multiSITE development team communications (SITE)* *Relate to FCIL in early design model
  • 83. Software Project Management 83 EAF Relations Early Design Post-Architecture RCPX RELY, DATA, CPLX, DOCU RUSE RUSE PDIF TIME, STOR, PVOL PERS ACAP, PCAP, PCON PREX AEXP, PEXP, LTEX FCIL TOOL, SITE SCED SCED
  • 84. Software Project Management 84 The Post-architecture Stage – Example  See separate handout
  • 85. Software Project Management 85 COCOMO II (cont’d)  Advantages  Good improvement over COCOMO  Good match for iterative development, modern technology, and management process  Disadvantages  Still immature, diverse projects in database  Hard to believe that it will be any more reliable than the original COCOMO model
  • 86. Software Project Management 86 References  Hughes, B., and Cotterell, M. (1999) Software project management, 2nd ed., McGraw Hill  Pfleeger, S.L. (1998) Software Engineering: Theory and Practice, Prentice Hall  Royce, W. (1998) Software Project Management: A Unified Framework, Addison Wesley  Center for Software Engineering, USC (1999) COCOMO II Model Definition Manual.

Editor's Notes

  1. The emphasis is on the last two items. However, project managers need to understand there are various level of estimation based on the purposes. Spend 30-40 minutes on first 34 slides. Can skip some because they are rather obvious.
  2. Staff implications includes skills and numbers Staff development includes trainings, workshops, seminars, conferences, and magazine subscriptions etc.
  3. Long-term goal: need to ensure that the project fits into the long-term goal of the software company Portfolio: Specialization versus Diversification Added-value: consider whether the project will have an added-value to the overall portfolio of the company
  4. Functionality: evaluate the functionality of the product against available hardware and software Constraints: constraints imposed by the company’s IS plan will affect the development cost
  5. A common way is to compare the expected costs of development and operation of the system with the benefits of having it in production
  6. Cost-benefit analysis is to compare the estimated costs of development and operation of a system with the estimated benefits of putting the system in place. Cash flow forecasting is … Why need Cash flow forecasting? It is because the excess of benefits over costs is not sufficient to justify the implementation of a proposed project.
  7. Development costs: Salaries and employment costs of staff Hardware and software for development platform Setup cost: cost for putting system in place New hardware and ancillary equipments Database conversion Recruitment of staff Staff training
  8. Benefits are quite difficult to quantify in monetary terms even if they are identified. Direct benefits are those accrue directly from the operation of the system. Examples: Reduction of staff employment Re-organization of staff Assessable indirect benefits are the secondary benefits. Example: Increase of accuracy through a more user-friendly screen Intangible benefits relate to those benefits that are longer term in nature or those benefits that are considered very difficult to quantify. Example: Enhanced job interest  lower recruitment costs
  9. Cash flow: income and expenditure
  10. Need to spend money at first (e.g. staff salary, employment cost, hardware and software costs) no matter where the money comes from e.g. resources from company, or money from the bank If the money is from bank, you need to calculate the interest as well.
  11. Expenditure: Staff salary, recrutment costs, bank interest We only calculate the bank interest, if any. Alternatively, we can calculate the bank repayment as one of the expense and the bank loan (principle) as one of the incomes. Income: Payment on completion and Payment by phases Payment by phases is more likely to occur in outsourcing projects. Forecast is not easy: Not much information at the early phases of the project The project may span several years Revise the cash flow forecast quarterly, or even monthly.
  12. Simple example: (where negative values represent net expenses, positive values represent net incomes) Assumptions: 1. Cash flow take place at the end of each year. 2. The year 0 figure represents the initial investment made at the start of the project. Let the student to do the calculation themselves during the lecture.
  13. Net profit Advantage: simple to use Disadvantage: ignores the timing of the cash flow Payback period Advantage: simple to calculate, not particular sensitive to small forecasting errors Disadvantage: ignores any income (or expenditure) after the payback period Return on Investment (ROI) Advantage: simple and easy to calculate, quite popular Disadvantage: 1. ignores the timing of the cash flow 2. Potentially very misleading because it is very tempting to compare the rate of return with the current interest rates
  14. NPV Advantage: takes into account the profitability of a project and the timing of the cash flows that are produced. Disadvantage: 1. hard to select an appropriate discount rate 2. NPV might not be directly comparable with earnings from other investments or the costs of borrowing capital.
  15. Use Excel to demonstrate the calculation of NPV and IRR. See file ‘lect03-npv.xls’. The IRR being a relative measure does not indicate the absolute size of the return.
  16. It is convenient in the sense that further calculation are not required. It is useful in the sense that, in many cases, it is sufficient to dismiss a project or indicate further investigation of a project even though it is an approximation.
  17. Even you have your own personal historic data and those of the organization, there is still no guarantee that your next estimation is an accurate one. 
  18. Top-down: An 14-month project would have broken down into 4 months on plans and requirements specification; 4 months on months on product design; 2 months on detailed design; 2 months on coding and unit testing; 3 months on integration testing and user-acceptance testing; and 1 month on training. Bottom-up: The reverse of top-down. Most models in estimation are algorithmic models.
  19. Nature of software is about its complexity and invisibility Novel application of software: each time the software to be developed has some unique features. Fast changing technology: technology changes very fast, how well the personnel can manage the new technology is still not known yet. Lack of homogeneity of project experience: past data is not available for present estimation Political implications: The marking director tends to push the product to be on the market at an early stage. Project manager may then have a tighter schedule as planned.
  20. FPA is a top-down approach. Developed by Albrecht (1979) and later refined by Albrecht and Gaffney (1983) Used in development with 3GL (3rd Generation Language) LOC means Line of Code (programming statement) For COBOL, the LOC per FP is 91. For C, the LOC per FP is 128.
  21. External input types Input transactions that update internal computer files External output types Transactions that output data to user such as report printing. Logical internal file types The standing file used by the system. File: a group of data that is usually accessed together. It may have one or more record types. Example: A PurchaseOrder may contain one or more PurchaseItems. External interface file types Input and output that may pass from and to other computer applications. Files shared among applications would also be counted. Example: the transmission of accounting data from an order processing system to the main ledger system. External inquiry types Transactions initiated by the user that provide information but do not update the internal files.
  22. To obtain the LOC, multiply FP of the system by the LOC per FP value for the programming language used. For COBOL, the LOC per FP is 91. For C, the LOC per FP is 128.
  23. 3 external input types: add, delete, and edit (all of low complexity) 1 external output type: print (average complexity) 1 external inquiry type: display (high complexity) Result: 3*3 + 1*5 + 1*6 = 20.
  24. For further rules imposed by IFPUG, see Tables 5.3 to 5.5, Hughes book.
  25. The word ‘object’ in object points has nothing to do with object oriented techniques. Procedure suggested by Kauffman and Kumar (1993) Productivity data reported by Banker, Kauffman and Kumar (1994)
  26. 3GL: 3rd Generation Language Objects:- screens, reports and 3GL components It is assumed that these objects are defined in a standard way as part of an integrated CASE environment. The 3GL components are used to supplement the 4GL code. Classifying the level of objects and assigning the complexity weightings is done according to some guidelines (see tables below)
  27. NOP: New Object Point The productivity rate of developer’s experience and capability and CASE maturity and capability is the average of the two values from the table.
  28. Note that: All 3GL components may be of different size. But, according to OBA, they are the same.
  29. Description is too complicated to contain in any slides. See Word document “lect03-COCOMOII.doc”.
  30. COCOMO is a parametric model
  31. KSLOC is Kilo Source Line of Code Scale Factor is also called Process Exponent in Royce (1998). Effort Multiplier is also called Effort Adjustment Factor in Royce (1998).
  32. The value of the Constant is 2.45 in 1998 (also suggested by Royce). Although size estimation is done in FP, the value has to be converted to KSLOC for the calculation.
  33. Application precedentedness: the degree of domain experience of the development organization Process flexibility: the degree of contractual rigor, ceremony, and change freedom inherent in the project contract, life-cycle activities, and stake-holder communications Architecture risk resolution: the degree of technical feasibility demonstrated before commitment to full-scale production Team cohesion: the degree of cooperation and shared vision among stake-holders (buyers, developers, users, and maintainers, among others) Process maturity: the maturity level of the development organization, as defined by SEI’s CMM
  34. Beware that Table B-7 of Royce (1998) gives 0.00 to Very Low, 0.01 to Low, etc which is a bit confusing. There might be some printing errors. This is confirmed in COCOMO II Model Definition Manual (Very Low 0.05 – Very High 0.01). The manual is download from USC’s COCOMO site (http://sunset.usc.edu)
  35. The range of process exponent is from 1.01 to 1.26. The smaller is the number, the less extra effort is needed. Thus, an ideal team will have the ideal process exponent value (1.01).
  36. The typical range of each factor is from 0.5 to 1.5. Beware that For some factors such as PDIF: 0.5 (very low) – 1.5 (extra high) For other factors such as PREX: 0.5 (extra high) – 1.5 (very low) Sometimes, the value may exceed 1.5. However, if the difference is too much, the validity of the model is rendered. Your organization can have your own values. For example, CPLX may have 0.70 – 1.65 (from very low to extra high); PERS may have 1.42 – 0.70 (from very low to extra high). If no idea, start with nominal value (for example 1.0). However, there are situations that the nominal value may not be 1.0. It is up to you and your organization.
  37. Description is too complicated to contain in any slides. See Word document “lect03-COCOMOII.doc”.
  38. Factors with ** is the same as that in early design stage. Factors with * or ^ is a part of some factor in the early design stage. Other factors are new to the post-architecture stage.
  39. *Relate to personnel experience (PEXP) ^Related to personnel capability (PCAP)
  40. Description is too complicated to contain in any slides. See Word document “lect03-COCOMOII.doc”.
  41. There are 83 projects in the project database according to Royce (1998).