Document 7195850

Download Report

Transcript Document 7195850

Chapter 5
Software Project Planning
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!
2
Write it Down!
Project Scope
Estimates
Risks
Schedule
Control strategy
Software
Project
Plan
3
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?
4
A Good Project Plan















Project scope
Project schedule
Project team organization
Technical description of the proposed
system
Project standards, procedures, and proposed
techniques and tools
Quality assurance plan
Configuration management plan
Documentation plan
Data management plan
Resource management plan
Test plan
Training plan
Security plan
Risk management plan
Maintenance plan
5
Software Scope
 What -- Describe function, performance,
constraints, interfaces, and reliability.
 How -- Obtain information for scope
 Context-free questions (Q&A)
 a meeting format
6
Context-free questions
 Focuses on the customer, the overall
goals and benefits
 Who is behind the request for this work?
 Who will use the solution?
 What will be the economic benefit of a
successful solution?
 Is there another source for the solution
7
 Enables the analyst to gain a better
understanding of the problem and the
customer to voice any perceptions about a
solution.
 How would you (customer) characterize “good”
output that would be generated by a successful
solution?
 What problem(s) will this solution address?
 Can you show me (or describe) the environment in
which the solution will be used?
 Will any special performance issues or constraints
affect the way the solution is approached?
8
 Focuses on the effectiveness of the
meeting.
 Are you the right person to answer these
questions? Are answers “official”?
 Are my questions relevant to the problem
that you have?
 Am I asking too many questions?
 Can anyone else provide additional
information?
 Should I be asking you anything else?
9
A Scoping Example
P.118
10
A conveyor line sorting system
(CLSS)
11
 Functions







Read bar code input.
Read pulse tachometer.
Decode part code data.
Do database look-up.
Determine bin location.
Produce control signal for shunt.
Maintain record of box destinations.
12
 Scope
 function: put boxes into bins
 performance: speed of the conveyor
 constraints: spaced between two
boxes
 interface: PC, peripherals, …
 reliability: 90%
13
Resources
14
Resource
 Description of the
resource
 Statement of
availability
 When
 How long
15
Resources
 Human
 organizational position
 specialty
 number of people
 Reusable Software




Off-the shelf components
Full-experience components
Partial-experience components
New components
 Environmental
 Software engineering environment (SEE) -hardware and software.
16
Accuracy of Estimation
 Project complexity
 Project size
 Degree of structural uncertainty
 Availability of historical information
 ….
17
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
18
Estimation Techniques
 Decomposition Techniques Model
 Problem-Based estimation
 LOC-based estimation
 FP-based estimation
 Process-Based estimation
 Efforts (e.g. person-months)
 LOC-based estimation
 FP-based estimation
 Empirical Estimation Model
 Automated Estimation Tools
19
LOC-Based Estimation
 Identify the major software functions
 Estimate the LOC (EV) of each function.
EV (expected value) = (Soptimistic + 4Smost likely +
Spessimistic)/6
 Sum each estimated LOC (EV).
20
Example
 From the System Specification
The CAD software will accept two- and threedimensional geometric data from an engineer. The
engineer will interact and control the CAD system through
a user interface that will exhibit characteristics of good
human/machine interface design. ….P.128
21
For 3DGA:
Optimistic – 4600 LOC; most likely – 6900 LOC; pessimistic – 8600 LOC
Estimated LOC = EV
For the system:
Average productivity (history) = 620 LOC/pm; Labor rate = $8000 per month
Cost per line = ?; Estimated project cost = ?; Estimated effort = ?
22
FP-Based Estimation
 Identify the information domain characters.
 Assign level of estimated size value,
complexity, and weight to each information
domain value.
 Count each FP.
 Count total FP.
 Count FP of the software.
FPestimated = count-total x [0.65 x 0.01 x Summation(Fi)]
23
Example
96
80
4
40
14
318
For the system:
Average productivity (history) = 6.5 FP/pm; Labor rate = $8000 per month
Cost per line = 8000 / 6.5 = $1230; Estimated project cost = 1230x372 = $457,000;
Estimated project effort = 372 / 6.5 = 57 person-months
24
Ch 4
25
Ch 4
FP  total count  [0.65  (0.01  Fi )]
 50  [0.65  (0.01 46)]
 56
26
Process-Based Estimation
 Decompose each process into a
relatively small set of tasks.
 Meld the functions and related
process activities.
 Estimated the effort (e.g. personmonth).
27
Example
Average labor rate = $8000 per month
Total estimated project cost = $8000x46 = $368000
Estimated project effort = 46 person-month
28
Empirical Estimation Models
 The Structure of Estimation
Models
 The COCOMO Model
 The Software Equation
29
Structure of Estimation Models
exponent
effort =A + B * size
usually derived
as person-months
of effort required
either a constant or
a number derived based
on complexity of project
empirically
derived
usually LOC but
may also be
function point
30
COCOMO Model
 Application composition model
 Object points: screens, reports,
components
 Early design stage model
 Function points
 Post-architecture-stage model
 Lines of source code
31
COCOMO Model
32
COCOMO Model
Total object points = sum ( number of object X weight)
NOP (New Object Points) = total object points x (100 - reuse) / 100
PROD = productivity rate (TABLE 5.2)
Estimated Effort = NOP / PROD
33
Software Equation
 Dynamic multivariable model
 4000 contemporary software project
E = [LOC x B0.333/P]3 X (1/t4)
34
Automated Estimation Tools
 Sizing of project deliverables
 Selecting project activities
 Predicting staffing levels
 Predicting software effort
 Predicting software cost
 Predicting software schedules
35
The Make/Buy Decision
 Purchase off-the-shelf
 Modify and integrate the “fullexperience” or “partialexperience” software components
 Outside contract
36
Decision Tree Analysis
37
Computing Expected Cost
expected cost =
(path probability) x (estimated path cost)
i
i
For example, the expected cost to build is:
expected cost build = 0.30($380K)+0.70($450K)
= $429 K
similarly,
expected cost reuse = $382K
expected cost buy = $267K
expected cost contr = $410K
38
Estimation Guidelines
estimate using at least two techniques
get estimates from independent sources
avoid over-optimism, assume difficulties
adjust for the people who'll be doing the
job — they have the highest impact
39