Chapter 5
Software Project Planning
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
1
Software Project Planning
The overall goal of project planning is to establish a pragmatic strategy for controlling, tracking, and monitoring a complex technical project.
Why?
So the end result gets done on time, with quality!
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
2
The Steps
Scoping —understand the problem and the work that must be done
Estimation —how much effort? how much time?
Risk —what can go wrong? how can we avoid it? what can we do about it?
Schedule —how do we allocate resources along the timeline? what are the milestones?
Control strategy —how do we control quality? how do we control change?
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
3
Write it Down!
Project Scope
Estimates
Risks
Schedule
Control strategy
Software
Project
Plan
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
4
To Understand Scope ...
Understand the customers needs
understand the business context
understand the project boundaries
understand the customer’s motivation
understand the likely paths for change
understand that ...
Even when you understand, nothing is guaranteed!
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
5
Cost Estimation project scope must be explicitly defined task and/or functional decomposition is necessary historical measures (metrics) are very helpful at least two different techniques should be used remember that uncertainty is inherent
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
6
Estimation Techniques
past (similar) project experience
conventional estimation techniques
task breakdown and effort estimates
size (e.g., FP) estimates
tools (e.g., Checkpoint)
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
7
Functional Decomposition
Statement of Scope perform a
"grammatical parse" functional decomposition
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
8
Creating a Task Matrix
Obtained from “process framework” framework activities application functions
Effort required to accomplish each framework activity for each application function
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
9
Conventional Methods:
LOC/FP Approach
compute LOC/FP using estimates of information domain values
use historical effort for the project
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
10
Example: LOC Approach
Functions
UICF
2DGA
3DGA
DSM
CGDF
PCF
DAM
Totals estimated LOC
2340
5380
6800
3350
4950
2140
8400
33,360
LOC/pm
315
220
220
240
200
140
300
$/LOC
14
20
20
18
22
28
18
Cost
32,000
107,000
136,000
60,000
109,000
60,000
151,000
Effort (months)
7.4
24.4
30.9
13.9
24.7
15.2
28.0
655,000 145.0
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
11
Example: FP Approach measurement parameter number of user inputs number of user outputs number of user inquiries number of files number of ext.interfaces algorithms count
40
25
12
4
4
60 weight x x x x x x
3
4
7
7
4
5
=
=
=
=
=
=
569
160
125
48
28
28
180 count-total complexity multiplier feature points
.84
478
0.25 p-m / FP = 120 p-m
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
12
Tool-Based Estimation project characteristics calibration factors
LOC/FP data
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
13
Empirical Estimation Models
General form: effort = tuning coefficient * size exponent usually derived as person-months of effort required either a constant or a number derived based on complexity of project usually LOC but may also be function point empirically derived
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
14
Estimation Guidelines estimate using at least two techniques get estimates from independent sources avoid over-optimism, assume difficulties you've arrived at an estimate, sleep on it adjust for the people who'll be doing the job —they have the highest impact
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
15
The Make-Buy Decision
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
16
Computing Expected Cost expected cost =
(path probability) x (estimated path cost) i i
For example, the expected cost to build is:
= $429 K expected cost = 0.30($380K)+0.70($450K)
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
17