The sixth lesson of the course on Planning and Managing Software projects (http://emanueledellavalle.org/Teaching/PMSP-2011-12.html) that I give at Politecnico di Milano.
Planning Phase Part II - Project Phases and Lifecycle Planning
1. Planning and Managing Software Projects 2011-12
Class 6
Planning Phase
Matching Life Cycles to Project and Project Plans
Emanuele Della Valle
http://emanueledellavalle.org
2. Credits 2
§ This slides are largely based on Prof. John Musser
class notes on Principles of Software Project
Management
§ Original slides are available at
http://www.projectreference.com/
§ Reuse and republish permission was granted
Planning and Managing Software Projects – Emanuele Della Valle
3. Last Class, Today and Next Classes 3
§ Last Class
• Phases in Detail
– Step-by-step of typical software project
• Lifecycles
§ Today
• Matching Life Cycles to Project
• Project plans
§ Next Weeks:
• Lots of Project-ish Details: WBS, PERT, CPM, Scheduling
& Estimation
Planning and Managing Software Projects – Emanuele Della Valle
4. Class 5 Review 4
§ Phases in Detail
• Know your pure waterfall, 7 phase model
• Understand the steps in each phase
• Know typical deliverables of each
• Know the primary issues and goals of each
§ Lifecycles
• Know a representative sample
• Waterfall and variation, 1-2 iterative ones
• Learn a bit about XP and other Agile methods
Planning and Managing Software Projects – Emanuele Della Valle
5. Class 5 review - Details
Lifecycle Planning 5
§ a.k.a. Lifecycle Management or Systems Development
Life Cycle (SDLC )
§ Greatly influences your chance of success
§ Not choosing a lifecycle is a bad option
§ Three primary lifecycle model components
• Phases and their order
• Intermediate products of each phase
• Reviews used in each phase
Planning and Managing Software Projects – Emanuele Della Valle
6. Class 5 review - Details
Lifecycle Planning 6
§ Different projects require different approaches
§ You do not need to know all models by name
§ You should know how that if given a certain scenario
what sort of SDLC would be appropriate
§ There are more than covered here
§ A lifecycle is not a design, modeling or diagramming
technique
• The same technique (UML, DFD, etc) can be used with
multiple lifecycles
Planning and Managing Software Projects – Emanuele Della Valle
7. Lifecycle Planning
Matching Life Cycles to Project 7
§ Varies by project
§ Opt for iterative or incremental
§ How well are requirements understood?
§ What are the risks?
§ Is there a fixed deadline?
§ How experienced is the team or customer?
Planning and Managing Software Projects – Emanuele Della Valle
8. Lifecycle Planning
McConnell’s way of choosing a Lifeclycle 8
Model a b c d e f g h i j k
~ = fair to excellent,
Pure Waterfall x x ~ ~~
empty box = poor.
Code-and-Fix x x
x = excellent,
Spiral x x x x x ~~ ~ x x
Modified Waterfalls (sashimi) ~ ~ x x ~~ x ~~~
Legend:
Evolutionary Prototyping x ~ x ~ ~ x x ~
Staged Delivery x x ~~~ ~ x
Commercial (COTS) x x x ~
a. Works with poorly understood requirements
b. Works with poorly understood architecture
c. Produces highly reliable system
d. Produces system with large growth envelope
e. Manages risks
f. Can be constrained to a predefined schedule
g. Has low overhead
h. Allows for midcourse corrections
i. Provides customer with progress visibility
j. Provides management with progress visibility
k. Requires little manager or developer sophistication
[source http://acmesoffware.com/acme/default.asp ]
Planning and Managing Software Projects – Emanuele Della Valle
9. Lifecycle Planning
Adding Lifecycles to McConnell’s way 9
Model a b c d e f g h i j k
~ = fair to excellent,
Pure Waterfall x x ~ ~ ~
empty box = poor.
Code-and-Fix x x
x = excellent,
Spiral x x x x x ~ ~ ~ x x
Modified Waterfalls (sashimi) ~ ~ x x ~ ~ x ~ ~ ~
Legend:
Evolutionary Prototyping x ~ x ~ ~ x x ~
Staged Delivery x x ~ ~ ~ ~ x
Commercial (COTS) x x x ~
Rapid Application Development x x x ~ x ~ x x x
Extreme Programming x x x ~ x x x ~
Agile Software Development x x x ~ ~ x x ~
SCRUM x x x ~ x ~ x x ~
Planning and Managing Software Projects – Emanuele Della Valle
10. Lifecycle Planning
An Example at a Little Consulting Corporation 10
§ http://www.creativedd.com/projlifecycle.html
Planning and Managing Software Projects – Emanuele Della Valle
11. Project Plans
Planning 11
§ Plans are nothing. But planning is everything.
-- Gen. Dwight Eisenhower
Planning and Managing Software Projects – Emanuele Della Valle
12. Project Plans
Planning 12
§ Preliminary planning starts on day one
§ Even in the pre-project phase
§ Should not be conducted in secret
§ Need buy-in and approval
• Very important step
• Both from above and below
Planning and Managing Software Projects – Emanuele Della Valle
13. Project Plans
Your PM Process 13
§ Why
• Deliverable: ROI
§ What
• SOW, Requirements
§ How
• Design Specification,
Software
Development Plan,
Lifecycle Futrell, Shafer, Shafer, Quality Software Project Management
§ Do it
• Execution
§ Did it
• Post Project Report
Planning and Managing Software Projects – Emanuele Della Valle
14. Project Plans
Primary Planning Steps 14
§ Identify project scope and objectives
§ Identify project organizational environment
§ Analyze project characteristics
§ Identify project products and activities
§ Estimate effort for each activity
§ Identify risk
§ Allocate resources
§ Review and communicate plan
Planning and Managing Software Projects – Emanuele Della Valle
15. Project Plans
Documents 15
§ Planning
§ Product
Planning and Managing Software Projects – Emanuele Della Valle
16. Project Plans
Planning Documents 16
§ Software Development Plan (SDP)
§ Software Quality Assurance Plan (SQAP)
§ Software Configuration Management Plan (SCMP)
§ Risk Management Plan
§ Software Process Improvement Plan
§ Communications Management Plan
§ Migration Plan
§ Operations Plan
Planning and Managing Software Projects – Emanuele Della Valle
17. Project Plans
Planning Documents 17
§ You (the PM) need to choose which documents are
appropriate
§ Docs do not have to be lengthy
§ Small Set:
• Software Development Plan
• Risk Management Plan
• Software Quality Assurance Plan
• Software Configuration Management Plan
Planning and Managing Software Projects – Emanuele Della Valle
18. Project Plans
My Choice 18
§ Statement of Work (SOW)
§ Project Charter
§ Software Project Management Plan (SPMP)
§ Budget
§ Responsibility Assignment Matrix (RAM)
§ Risk Management Plan
Planning and Managing Software Projects – Emanuele Della Valle
19. Project Plans
Product Documents 19
§ Statement of Need
§ System Interface Specification
§ Software Requirements Specification
§ Software Design Specification
§ Software Validation & Verification Plan
§ User Documentation
§ Support Plan
§ Maintenance Documentation
Planning and Managing Software Projects – Emanuele Della Valle
20. Project Plans
Software Project Survival Guide 20
§ Another McConnell book
§ See construx.com s SPSG section
http://www.construx.com/Page.aspx?cid=1034
• Good content online
• Documents
• Schedules
• Checklists
• Project web site template
§ I tool I ve often used
• Software Project Survival Test
– http://www.construx.com/Page.aspx?cid=1229
Planning and Managing Software Projects – Emanuele Della Valle
21. Project Plans
Planning 21
§ How much will it cost?
§ How long will it take?
§ How many people will it take?
§ What might go wrong?
Planning and Managing Software Projects – Emanuele Della Valle
22. Project Plans
Planning 22
§ Scoping
§ Estimation
§ Risk
§ Schedule
§ Control Strategy
Planning and Managing Software Projects – Emanuele Della Valle
23. Project Plans
Process Issues 23
§ You want a fairly sophisticated process without
incurring much overhead
§ Remember, projects are often larger than they first
appear
§ Easier to loosen too much process than add later
Planning and Managing Software Projects – Emanuele Della Valle
24. Project Plans
Plans Evolve Over Time 24
NASA s Manager s Handbook for Software Development
Planning and Managing Software Projects – Emanuele Della Valle
25. Project Plans
Software Development Plan 25
§ Software Project Management Plan (SPMP)
§ Some consider it the most important document in the
project (along with SRS)
• Can be seen as an aggregation of other core documents
§ Evolves over time as pieces come together
§ McConnell s example
• http://www.construx.com/Page.aspx?nid=240
Planning and Managing Software Projects – Emanuele Della Valle
26. Project Plans
SDP / SPMP 26
§ Fundamental Sections
• Project overview
• Deliverables
• Project organization
• Managerial processes
• Technical processes
• Budget
• Schedule
Planning and Managing Software Projects – Emanuele Della Valle
27. Project Plans
Communications Management Plan 27
§ Often a section of SPMP
§ Describes information flow to all parties
• Gathering and distributing information
§ Status meetings
• Monthly, Weekly, Daily?
• Status reports are vital
Planning and Managing Software Projects – Emanuele Della Valle
28. Project Plans
Create a Project Intranet 28
§ A great communications tool
§ Reference all project resources here
§ For instance have a look at portals of my current
projects
• http://www.service-finder.eu
• http://www.larkc.eu and http://wiki.larkc.eu
• http://www.search-computing.it/
Planning and Managing Software Projects – Emanuele Della Valle
29. Optional Readings 29
§ Thayer:
• Cori pg. 171-182 Fundamentals of Master Scheduling ,
• Fairley 183-194 Work Breakdown Structures
Planning and Managing Software Projects – Emanuele Della Valle
30. Comics 30
[source http://www.cs.ucl.ac.uk/external/atanu/req.gif ]
Planning and Managing Software Projects – Emanuele Della Valle
32. Comics 32
[source http://www.codinghorror.com/blog/images/software-engineering-explained.png ]
Planning and Managing Software Projects – Emanuele Della Valle
33. Read out more about the tree swing 33
§ http://www.businessballs.com/treeswing.htm
Planning and Managing Software Projects – Emanuele Della Valle