SlideShare une entreprise Scribd logo
1  sur  86
Software Project Management 
Software Project Management 
UNIT 2 
PROJECT EVALUATION 
Size and Cost Estimation
Overview 
 Different level of estimation 
 Project Evaluation 
 Introduction to Estimation 
 Size Estimation 
 Cost Estimation 
Software Project Management 2
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 3
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 4
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 5
Project Evaluation - Who 
 Senior management 
 Project manager/coordinator 
 Team leader 
Software Project Management 6
Project Evaluation - When 
 Usually at the beginning of the project 
 e.g. Step 0 of Step Wise Framework 
Software Project Management 7
Project Evaluation - What 
 Strategic assessment 
 Technical assessment 
 Economic assessment 
Software Project Management 8
Project Evaluation - How 
 Cost-benefit analysis 
 Cash flow forecasting 
 Cost-benefit evaluation techniques 
 Risk analysis 
Software Project Management 9
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.
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 12
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 13
SA – Programme 
Management 
 Individual projects as components of a 
programme within the organization 
Programme aass ““aa ggrroouupp ooff pprroojjeeccttss tthhaatt aarree 
mmaannaaggeedd iinn aa ccoooorrddiinnaatteedd wwaayy ttoo ggaaiinn 
bbeenneeffiittss tthhaatt wwoouulldd nnoott bbee ppoossssiibbllee wweerree tthhee 
pprroojjeeccttss ttoo bbee mmaannaaggeedd iinnddeeppeennddeennttllyy”” 
bbyy DD..CC.. FFeerrnnss 
JJoouurrnnaall ooff PPrroojjeecctt MMaannaaggeemmeenntt 
AAuugg.. 11999911 
Software Project Management 14
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 15
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? 
Software Project Management 16
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.
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 18
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 19
Technical Assessment 
 Functionality against hardware and 
software 
 The strategic IS plan of the organization 
any constraints imposed by the IS plan 
Software Project Management 20
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 21
Economic Assessment 
(cont’d) 
How? 
 Cost-benefit analysis 
 Cash flow forecasting 
 Various cost-benefit evaluation 
techniques 
 NPV and IRR 
Software Project Management 22
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 23
EA – Cost-benefit Analysis 
(cont’d) 
 Costs 
 Development costs 
 Setup costs 
 Operational costs 
Software Project Management 24
EA – Cost-benefit Analysis 
(cont’d) 
 Benefits 
 Direct benefits 
 Assessable indirect benefits 
 Intangible benefits 
Software Project Management 25
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 26
EA – Cash Flow Forecasting 
(Cont’d) 
dnepx E e mocnI 
Software Project Management 27
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 28
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 29
Cost-benefit Evaluation 
Techniques 
 Net profit 
= Total income – Total costs 
 Payback period 
= Time taken to break even 
 Return on Investment (ROI) 
100% 
= average annual profit ´ 
total investment 
Software Project Management 30
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 31
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 32
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 
PV value in year 
r n 
n 
+ 
(1 ) 
= 
Software Project Management 33
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 34
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 35
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 36
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 37
Cost-benefit Evaluation 
Techniques – IRR (cont’d) 
Net Present Value($) 
8 9 11 
9000 
6000 
3000 
0 
-3000 
Discount rate 
(%) 
10 12 
Software Project Management 38
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 39
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 40
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 41
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 42
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 43
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 44
Size Estimation 
 Problems related to size estimation 
 Size Estimation Model 
 Function Point Analysis (FPA) 
Software Project Management 45
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 46
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 47
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 48
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 49
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 50
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 51
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 52
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 53
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 54
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 55
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 56
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 57
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 58
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 59
Object Point Analysis – Issues 
 Adopted in Boehm’s COCOMO II in the 
application composition stage 
Software Project Management 60
Object Point Analysis – 
Example 
 See separate handout 
Software Project Management 61
Cost Estimation 
 Cost Estimation Model 
 COCOMO II 
Software Project Management 62
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 63
COCOMO II (cont’d) 
 Recognizes different approaches to 
software development 
 Prototyping, Incremental development etc. 
Software Project Management 64
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 65
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 66
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 67
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 68
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 69
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 70
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 71
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 72
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 73
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 74
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 75
The Early Design Stage – 
Example 
 See separate handout 
Software Project Management 76
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 77
The Post-architecture Stage – 
Effort Multiplier 
 17 factors in 4 different categories 
 Product attributes 
 Platform attributes 
 Personnel attributes 
 Project attributes 
Software Project Management 78
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 79
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 80
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 81
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 82
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 83
The Post-architecture Stage – 
Example 
 See separate handout 
Software Project Management 84
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 85
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. 
Software Project Management 86

Contenu connexe

Tendances

Software project management
Software project managementSoftware project management
Software project management
R A Akerkar
 
Software project-scheduling
Software project-schedulingSoftware project-scheduling
Software project-scheduling
saurabhshertukde
 
Software Project Management( lecture 1)
Software Project Management( lecture 1)Software Project Management( lecture 1)
Software Project Management( lecture 1)
Syed Muhammad Hammad
 

Tendances (20)

Managing people and organizing teams
Managing people and organizing teamsManaging people and organizing teams
Managing people and organizing teams
 
Software Engineering (Project Scheduling)
Software Engineering (Project Scheduling)Software Engineering (Project Scheduling)
Software Engineering (Project Scheduling)
 
SPM PPT
SPM PPTSPM PPT
SPM PPT
 
Introduction to Software Project Management
Introduction to Software Project ManagementIntroduction to Software Project Management
Introduction to Software Project Management
 
Software project management
Software project managementSoftware project management
Software project management
 
SPM Evaluation
SPM EvaluationSPM Evaluation
SPM Evaluation
 
Software Project Management (monitoring and control)
Software Project Management (monitoring and control)Software Project Management (monitoring and control)
Software Project Management (monitoring and control)
 
MG6088 SOFTWARE PROJECT MANAGEMENT
MG6088 SOFTWARE PROJECT MANAGEMENTMG6088 SOFTWARE PROJECT MANAGEMENT
MG6088 SOFTWARE PROJECT MANAGEMENT
 
Resource Allocation In Software Project Management
Resource Allocation In Software Project ManagementResource Allocation In Software Project Management
Resource Allocation In Software Project Management
 
Software effort estimation
Software effort estimationSoftware effort estimation
Software effort estimation
 
Spm unit2
Spm unit2Spm unit2
Spm unit2
 
Software Project Management (SPM)
Software Project Management (SPM)Software Project Management (SPM)
Software Project Management (SPM)
 
Risk management(software engineering)
Risk management(software engineering)Risk management(software engineering)
Risk management(software engineering)
 
Software project-scheduling
Software project-schedulingSoftware project-scheduling
Software project-scheduling
 
Software project management introduction
Software project management introductionSoftware project management introduction
Software project management introduction
 
Selection of an appropriate project approach
Selection of an appropriate project approachSelection of an appropriate project approach
Selection of an appropriate project approach
 
Software quality
Software qualitySoftware quality
Software quality
 
Software Project Management( lecture 1)
Software Project Management( lecture 1)Software Project Management( lecture 1)
Software Project Management( lecture 1)
 
Stepwise planning
Stepwise planningStepwise planning
Stepwise planning
 
Software Project Management chapter-1
Software Project Management chapter-1Software Project Management chapter-1
Software Project Management chapter-1
 

En vedette

Chapter 4 software project planning
Chapter 4 software project planningChapter 4 software project planning
Chapter 4 software project planning
Piyush Gogia
 
software effort estimation
 software effort estimation software effort estimation
software effort estimation
Besharam Dil
 
SDPM - Lecture 5 - Software effort estimation
SDPM - Lecture 5 - Software effort estimationSDPM - Lecture 5 - Software effort estimation
SDPM - Lecture 5 - Software effort estimation
OpenLearningLab
 
Software test management
Software test managementSoftware test management
Software test management
Vishad Garg
 
Ch23-Software Engineering 9
Ch23-Software Engineering 9Ch23-Software Engineering 9
Ch23-Software Engineering 9
Ian Sommerville
 
SDPM - Lecture 3 - Selecting an appropriate software development approach.pdf
SDPM - Lecture 3 - Selecting an appropriate software development approach.pdfSDPM - Lecture 3 - Selecting an appropriate software development approach.pdf
SDPM - Lecture 3 - Selecting an appropriate software development approach.pdf
OpenLearningLab
 
Pio 123 slide_psikologi_industri_dan_organisasi
Pio 123 slide_psikologi_industri_dan_organisasiPio 123 slide_psikologi_industri_dan_organisasi
Pio 123 slide_psikologi_industri_dan_organisasi
Riska Theodora Sipayung
 
Software estimation
Software estimationSoftware estimation
Software estimation
Md Shakir
 

En vedette (20)

Spm unit 5
Spm unit 5Spm unit 5
Spm unit 5
 
Chapter 4 software project planning
Chapter 4 software project planningChapter 4 software project planning
Chapter 4 software project planning
 
Ch26
Ch26Ch26
Ch26
 
software effort estimation
 software effort estimation software effort estimation
software effort estimation
 
Estimation and measuring of software size within the atos gobal delivery plat...
Estimation and measuring of software size within the atos gobal delivery plat...Estimation and measuring of software size within the atos gobal delivery plat...
Estimation and measuring of software size within the atos gobal delivery plat...
 
SDPM - Lecture 5 - Software effort estimation
SDPM - Lecture 5 - Software effort estimationSDPM - Lecture 5 - Software effort estimation
SDPM - Lecture 5 - Software effort estimation
 
Software test management
Software test managementSoftware test management
Software test management
 
5. cost estimation
5. cost estimation5. cost estimation
5. cost estimation
 
Project Estimation Presentation - Donte's 8th level of estimating level of ef...
Project Estimation Presentation - Donte's 8th level of estimating level of ef...Project Estimation Presentation - Donte's 8th level of estimating level of ef...
Project Estimation Presentation - Donte's 8th level of estimating level of ef...
 
Project Cost Management
Project Cost ManagementProject Cost Management
Project Cost Management
 
Cocomo II
Cocomo IICocomo II
Cocomo II
 
Ch23-Software Engineering 9
Ch23-Software Engineering 9Ch23-Software Engineering 9
Ch23-Software Engineering 9
 
Software project management 3
Software project management 3Software project management 3
Software project management 3
 
SDPM - Lecture 3 - Selecting an appropriate software development approach.pdf
SDPM - Lecture 3 - Selecting an appropriate software development approach.pdfSDPM - Lecture 3 - Selecting an appropriate software development approach.pdf
SDPM - Lecture 3 - Selecting an appropriate software development approach.pdf
 
Software project plannings
Software project planningsSoftware project plannings
Software project plannings
 
Ob Jcm Ppt
Ob Jcm PptOb Jcm Ppt
Ob Jcm Ppt
 
Software cost estimation
Software cost estimationSoftware cost estimation
Software cost estimation
 
Cocomo II
Cocomo IICocomo II
Cocomo II
 
Pio 123 slide_psikologi_industri_dan_organisasi
Pio 123 slide_psikologi_industri_dan_organisasiPio 123 slide_psikologi_industri_dan_organisasi
Pio 123 slide_psikologi_industri_dan_organisasi
 
Software estimation
Software estimationSoftware estimation
Software estimation
 

Similaire à Unit 2 spm

Project management
Project managementProject management
Project management
Ahmed Said
 
L03 integration management
L03 integration managementL03 integration management
L03 integration management
Asa Chan
 
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
 
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
 
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
 
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
 
CORTAC PPC General
CORTAC PPC GeneralCORTAC PPC General
CORTAC PPC General
Derek Regan
 
spm-uniti-201022085737.pdf
spm-uniti-201022085737.pdfspm-uniti-201022085737.pdf
spm-uniti-201022085737.pdf
Vinoth Kumar
 

Similaire à Unit 2 spm (20)

Unit2 140919045718-phpapp01
Unit2 140919045718-phpapp01Unit2 140919045718-phpapp01
Unit2 140919045718-phpapp01
 
Project management
Project managementProject management
Project management
 
SPM-Lecture -3.ppt
SPM-Lecture -3.pptSPM-Lecture -3.ppt
SPM-Lecture -3.ppt
 
Software project management- Software Engineering
Software project management- Software EngineeringSoftware project management- Software Engineering
Software project management- Software Engineering
 
Computing Project
Computing Project Computing Project
Computing Project
 
L03 integration management
L03 integration managementL03 integration management
L03 integration management
 
SE-Lecture-5.pptx
SE-Lecture-5.pptxSE-Lecture-5.pptx
SE-Lecture-5.pptx
 
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
 
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
 
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
 
SWE-401 - 3. Software Project Management
SWE-401 - 3. Software Project ManagementSWE-401 - 3. Software Project Management
SWE-401 - 3. Software Project Management
 
Guide to Software Estimation
Guide to Software EstimationGuide to Software Estimation
Guide to Software Estimation
 
Bca 5th sem seminar(software measurements)
Bca 5th sem seminar(software measurements)Bca 5th sem seminar(software measurements)
Bca 5th sem seminar(software measurements)
 
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
 
Cmm Level2
Cmm Level2Cmm Level2
Cmm Level2
 
م.47-#تواصل_تطوير-م.محمد العربى-إستخدام مفاهيم الرشاقة للتحول الإستراتيجي للم...
م.47-#تواصل_تطوير-م.محمد العربى-إستخدام مفاهيم الرشاقة للتحول الإستراتيجي للم...م.47-#تواصل_تطوير-م.محمد العربى-إستخدام مفاهيم الرشاقة للتحول الإستراتيجي للم...
م.47-#تواصل_تطوير-م.محمد العربى-إستخدام مفاهيم الرشاقة للتحول الإستراتيجي للم...
 
CORTAC PPC General
CORTAC PPC GeneralCORTAC PPC General
CORTAC PPC General
 
Program and Project Financial Management in Project Online
Program and Project Financial Management in Project OnlineProgram and Project Financial Management in Project Online
Program and Project Financial Management in Project Online
 
Software Project Management
Software Project ManagementSoftware Project Management
Software Project Management
 
spm-uniti-201022085737.pdf
spm-uniti-201022085737.pdfspm-uniti-201022085737.pdf
spm-uniti-201022085737.pdf
 

Dernier

Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Kandungan 087776558899
 
DeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakesDeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakes
MayuraD1
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
Epec Engineered Technologies
 
Hospital management system project report.pdf
Hospital management system project report.pdfHospital management system project report.pdf
Hospital management system project report.pdf
Kamal Acharya
 
Verification of thevenin's theorem for BEEE Lab (1).pptx
Verification of thevenin's theorem for BEEE Lab (1).pptxVerification of thevenin's theorem for BEEE Lab (1).pptx
Verification of thevenin's theorem for BEEE Lab (1).pptx
chumtiyababu
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ssuser89054b
 

Dernier (20)

kiln thermal load.pptx kiln tgermal load
kiln thermal load.pptx kiln tgermal loadkiln thermal load.pptx kiln tgermal load
kiln thermal load.pptx kiln tgermal load
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
 
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced LoadsFEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
 
GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLE
GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLEGEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLE
GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLE
 
School management system project Report.pdf
School management system project Report.pdfSchool management system project Report.pdf
School management system project Report.pdf
 
DeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakesDeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakes
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
 
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
Introduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaIntroduction to Serverless with AWS Lambda
Introduction to Serverless with AWS Lambda
 
Hospital management system project report.pdf
Hospital management system project report.pdfHospital management system project report.pdf
Hospital management system project report.pdf
 
Engineering Drawing focus on projection of planes
Engineering Drawing focus on projection of planesEngineering Drawing focus on projection of planes
Engineering Drawing focus on projection of planes
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the start
 
PE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and propertiesPE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and properties
 
Employee leave management system project.
Employee leave management system project.Employee leave management system project.
Employee leave management system project.
 
Verification of thevenin's theorem for BEEE Lab (1).pptx
Verification of thevenin's theorem for BEEE Lab (1).pptxVerification of thevenin's theorem for BEEE Lab (1).pptx
Verification of thevenin's theorem for BEEE Lab (1).pptx
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
Hostel management system project report..pdf
Hostel management system project report..pdfHostel management system project report..pdf
Hostel management system project report..pdf
 
DC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationDC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equation
 
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKARHAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
 

Unit 2 spm

  • 1. Software Project Management Software Project Management UNIT 2 PROJECT EVALUATION Size and Cost Estimation
  • 2. Overview  Different level of estimation  Project Evaluation  Introduction to Estimation  Size Estimation  Cost Estimation Software Project Management 2
  • 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 3
  • 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 4
  • 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 5
  • 6. Project Evaluation - Who  Senior management  Project manager/coordinator  Team leader Software Project Management 6
  • 7. Project Evaluation - When  Usually at the beginning of the project  e.g. Step 0 of Step Wise Framework Software Project Management 7
  • 8. Project Evaluation - What  Strategic assessment  Technical assessment  Economic assessment Software Project Management 8
  • 9. Project Evaluation - How  Cost-benefit analysis  Cash flow forecasting  Cost-benefit evaluation techniques  Risk analysis Software Project Management 9
  • 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. 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 12
  • 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 13
  • 14. SA – Programme Management  Individual projects as components of a programme within the organization Programme aass ““aa ggrroouupp ooff pprroojjeeccttss tthhaatt aarree mmaannaaggeedd iinn aa ccoooorrddiinnaatteedd wwaayy ttoo ggaaiinn bbeenneeffiittss tthhaatt wwoouulldd nnoott bbee ppoossssiibbllee wweerree tthhee pprroojjeeccttss ttoo bbee mmaannaaggeedd iinnddeeppeennddeennttllyy”” bbyy DD..CC.. FFeerrnnss JJoouurrnnaall ooff PPrroojjeecctt MMaannaaggeemmeenntt AAuugg.. 11999911 Software Project Management 14
  • 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 15
  • 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? Software Project Management 16
  • 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. 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 18
  • 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 19
  • 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 20
  • 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 21
  • 22. Economic Assessment (cont’d) How?  Cost-benefit analysis  Cash flow forecasting  Various cost-benefit evaluation techniques  NPV and IRR Software Project Management 22
  • 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 23
  • 24. EA – Cost-benefit Analysis (cont’d)  Costs  Development costs  Setup costs  Operational costs Software Project Management 24
  • 25. EA – Cost-benefit Analysis (cont’d)  Benefits  Direct benefits  Assessable indirect benefits  Intangible benefits Software Project Management 25
  • 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 26
  • 27. EA – Cash Flow Forecasting (Cont’d) dnepx E e mocnI Software Project Management 27
  • 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 28
  • 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 29
  • 30. Cost-benefit Evaluation Techniques  Net profit = Total income – Total costs  Payback period = Time taken to break even  Return on Investment (ROI) 100% = average annual profit ´ total investment Software Project Management 30
  • 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 31
  • 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 32
  • 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 PV value in year r n n + (1 ) = Software Project Management 33
  • 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 34
  • 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 35
  • 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 36
  • 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 37
  • 38. Cost-benefit Evaluation Techniques – IRR (cont’d) Net Present Value($) 8 9 11 9000 6000 3000 0 -3000 Discount rate (%) 10 12 Software Project Management 38
  • 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 39
  • 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 40
  • 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 41
  • 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 42
  • 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 43
  • 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 44
  • 45. Size Estimation  Problems related to size estimation  Size Estimation Model  Function Point Analysis (FPA) Software Project Management 45
  • 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 46
  • 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 47
  • 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 48
  • 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 49
  • 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 50
  • 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 51
  • 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 52
  • 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 53
  • 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 54
  • 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 55
  • 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 56
  • 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 57
  • 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 58
  • 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 59
  • 60. Object Point Analysis – Issues  Adopted in Boehm’s COCOMO II in the application composition stage Software Project Management 60
  • 61. Object Point Analysis – Example  See separate handout Software Project Management 61
  • 62. Cost Estimation  Cost Estimation Model  COCOMO II Software Project Management 62
  • 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 63
  • 64. COCOMO II (cont’d)  Recognizes different approaches to software development  Prototyping, Incremental development etc. Software Project Management 64
  • 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 65
  • 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 66
  • 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 67
  • 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 68
  • 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 69
  • 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 70
  • 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 71
  • 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 72
  • 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 73
  • 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 74
  • 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 75
  • 76. The Early Design Stage – Example  See separate handout Software Project Management 76
  • 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 77
  • 78. The Post-architecture Stage – Effort Multiplier  17 factors in 4 different categories  Product attributes  Platform attributes  Personnel attributes  Project attributes Software Project Management 78
  • 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 79
  • 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 80
  • 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 81
  • 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 82
  • 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 83
  • 84. The Post-architecture Stage – Example  See separate handout Software Project Management 84
  • 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 85
  • 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. Software Project Management 86

Notes de l'éditeur

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