Professional Documents
Culture Documents
Building A Plan
Building A Plan
Building A Plan
Building a Plan
Instructor: Mike ODell
Several of the slides in this module are a modification and amplification of slides prepared
by Mr. Tom Rethard for use in a prior Senior Design Class. They were originally for use
with A Discipline for Software Engineering (Watts S. Humphrey), sponsored by the U.S.
Department of Defense. Original slides are copyright SEI; modifications are Copyright
2002, T. Rethard. Further modifications by Mike ODell. All Rights Reserved.
2 Why Plan?
A plan helps you focus on the goal
Begin with the end in mind.1
CSE 4316
CSE 4316
2 What is a Plan?
An agreement by the team on the cost and
schedule for a specified job
A structure for organizing the work
A framework for obtaining the required
resources (people, funds, etc.)
A record of what was initially assumed and
committed
Its a CONTRACT!
CONTRACT
CSE 4316
2 Components of a Plan
A Lifecycle Planning Model: The Master
Plan for the Project
Order and criteria for key events
Correct model for the job?
Work Estimate
CSE 4316
2 Pure Waterfall
Phased deliverables
Document-driven
Discontinuous, inflexible phases
All planning is done up front
Good for:
Well-defined, complex projects
Quality dominates cost and schedule
2 Pure Waterfall
Concept
& Planning
Pass
Fail
Requirements
Analysis
Pass
Fail
Architectural
Design
Pass
Fail
Detailed
Design
Pass
Fail
Implementation
& Debugging
Pass
CSE 4316
Fail
System
Validation
9
2 Build (Code)-and-Fix
In general, dont do it!
Process: Specify it, code-and-fix it, ship it(?)
Advantages:
Low/no overhead (no planning, documentation,
standards, etc.)
You can start TODAY!
Requires little other than technical expertise
Disadvantages:
No means of assessing progress, problems
Dangerous! for other than tiny projects
CSE 4316
10
2 Spiral
Risk-oriented, layered approach
Process:
Advantages:
Disadvantages
CSE 4316
Complex
11
2 Spiral
Start
CSE 4316
(Diagram from Spiral Development: Experience, Principles and Refinements, workshop paper by Barry Boehm)
12
2 Modified Waterfalls
Waterfall with Overlapping Phases
(Sashimi)
Like pure waterfall, but phases can overlap
Concept
& Planning
Requirements
Analysis
Architectural
Design
Detailed
Design
Implementation
& Debugging
System
Validation
CSE 4316
13
2 Modified Waterfalls
Waterfall with Subprojects
Concept
& Planning
Requirements
Analysis
Detailed
Design
Implementation
& Debugging
Detailed
Design
Detailed
Design
Detailed
Design
Implementation
& Debugging
Implementation
& Debugging
Implementation
& Debugging
SubSystem
Validation
SubSystem
Validation
SubSystem
Validation
CSE 4316
SubSystem
Validation
System
Validation
14
2 Modified Waterfalls
Waterfall with Risk Reduction
Concept
& Planning
Requirements
Analysis
Detailed
Design
Implementation
& Debugging
System
Validation
15
Advantages
Disadvantages
CSE 4316
16
CSE 4316
17
2 Agile Methodologies
Iterative and incremental development
Adaptive planning based on customer and
market changes
Plan milestones are flexible and subject to
change
CSE 4316
Design-to-Schedule
with risk reduction
(our model, approx.)
Requirements
Analysis
Architectural
Design
Release
CSE 4316
19
CSE 4316
20
21
CSE 4316
22
CSE 4316
23
24
CSE 4316
25
26
Complete
Readily accessible, even by the customer
Clear
Specific
Precise
Accurate
27
SRSADS/DDS
PROJECT
CHARTER
28
CSE 4316
29
2 Product Specifications
Provide the details of what will be done,
and how it will be done:
CSE 4316
30
2 Statement of Work
A narrative description of the work that is
to be done:
Details of hardware and software components
Description of deliverables
Estimate of start and stop dates for key
phases of process
Acceptance criteria
CSE 4316
31
2 Milestones
Driven by the lifecycle model you use
CSE 4316
32
2 Processes/Procedures
Defines how things will get done
CSE 4316
33
2 Stakeholders
Any person or organization that has a
vested interest in the success of you
project
CSE 4316
Your
Your
Your
Your
customer or sponsor
company
companys owners/stockholders
management
34
Project Charter
CSE 4316
35
Characteristics of a Good
Requirement
Verifiable:
Verifiable stated in a way that allows for
independent verification that the system
meets or exceeds the stated requirement.
Justifiable:
Justifiable necessary, rather than simply
desirable
Unambiguous:
Unambiguous stated such that multiple
interpretations are precluded
CSE 4316
36
Characteristics of a Good
Requirement
Consistent:
Consistent no conflict with any other
requirement
Modifiable:
Modifiable should be stated in a way that
allows for change based on
technical/business considerations.
Hierarchically Traceable:
Traceable should define a
single attribute, traceable back to a higher
level requirement.
CSE 4316
37
CSE 4316
38
39
CSE 4316
40
41
CSE 4316
42