planning phase part ii - project phases and lifecycle planning

33
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

Upload: emanuele-della-valle

Post on 27-Jan-2015

109 views

Category:

Education


3 download

DESCRIPTION

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.

TRANSCRIPT

Page 1: Planning Phase Part II - Project Phases and Lifecycle Planning

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

Page 2: Planning Phase Part II - Project Phases and Lifecycle Planning

Planning and Managing Software Projects – Emanuele Della Valle

Credits

§  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

2

Page 3: Planning Phase Part II - Project Phases and Lifecycle Planning

Planning and Managing Software Projects – Emanuele Della Valle

Last Class, Today and Next Classes

§  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

3

Page 4: Planning Phase Part II - Project Phases and Lifecycle Planning

Planning and Managing Software Projects – Emanuele Della Valle

Class 5 Review

§  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

4

Page 5: Planning Phase Part II - Project Phases and Lifecycle Planning

Planning and Managing Software Projects – Emanuele Della Valle

Class 5 review - Details Lifecycle Planning

§  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

5

Page 6: Planning Phase Part II - Project Phases and Lifecycle Planning

Planning and Managing Software Projects – Emanuele Della Valle

Class 5 review - Details Lifecycle Planning

§  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

6

Page 7: Planning Phase Part II - Project Phases and Lifecycle Planning

Planning and Managing Software Projects – Emanuele Della Valle

Lifecycle Planning Matching Life Cycles to Project

§  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?

7

Page 8: Planning Phase Part II - Project Phases and Lifecycle Planning

Planning and Managing Software Projects – Emanuele Della Valle

Lifecycle Planning McConnell’s way of choosing a Lifeclycle Model a b c d e f g h i j k Pure Waterfall x x ~ ~ ~ Code-and-Fix x x Spiral x x x x x ~ ~ ~ x x Modified Waterfalls (sashimi) ~ ~ x x ~ ~ x ~ ~ ~ Evolutionary Prototyping x ~ x ~ ~ x x ~ Staged Delivery x x ~ ~ ~ ~ x Commercial (COTS) x x x ~

8

Lege

nd:

x

= e

xcel

lent

,

~ =

fai

r to

exc

elle

nt,

em

pty

box

= p

oor.

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 ]

Page 9: Planning Phase Part II - Project Phases and Lifecycle Planning

Planning and Managing Software Projects – Emanuele Della Valle

Lifecycle Planning Adding Lifecycles to McConnell’s way Model a b c d e f g h i j k Pure Waterfall x x ~ ~ ~ Code-and-Fix x x Spiral x x x x x ~ ~ ~ x x Modified Waterfalls (sashimi) ~ ~ x x ~ ~ x ~ ~ ~ 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 ~

9

Lege

nd:

x

= e

xcel

lent

,

~ =

fai

r to

exc

elle

nt,

em

pty

box

= p

oor.

Page 10: Planning Phase Part II - Project Phases and Lifecycle Planning

Planning and Managing Software Projects – Emanuele Della Valle

Lifecycle Planning An Example at a Little Consulting Corporation

§  http://www.creativedd.com/projlifecycle.html

10

Page 11: Planning Phase Part II - Project Phases and Lifecycle Planning

Planning and Managing Software Projects – Emanuele Della Valle

Project Plans Planning

§  “Plans are nothing. But planning is everything.”

-- Gen. Dwight Eisenhower

11

Page 12: Planning Phase Part II - Project Phases and Lifecycle Planning

Planning and Managing Software Projects – Emanuele Della Valle

Project Plans Planning

§  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

12

Page 13: Planning Phase Part II - Project Phases and Lifecycle Planning

Planning and Managing Software Projects – Emanuele Della Valle

Project Plans Your PM Process

§  Why •  Deliverable: ROI

§  What •  SOW, Requirements

§  How •  Design Specification,

Software Development Plan, Lifecycle

§  Do it •  Execution

§  Did it •  Post Project Report

13

Futrell, Shafer, Shafer, “Quality Software Project Management”

Page 14: Planning Phase Part II - Project Phases and Lifecycle Planning

Planning and Managing Software Projects – Emanuele Della Valle

Project Plans Primary Planning Steps

§  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

14

Page 15: Planning Phase Part II - Project Phases and Lifecycle Planning

Planning and Managing Software Projects – Emanuele Della Valle

Project Plans Documents

§  Planning

§  Product

15

Page 16: Planning Phase Part II - Project Phases and Lifecycle Planning

Planning and Managing Software Projects – Emanuele Della Valle

Project Plans Planning Documents

§  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

16

Page 17: Planning Phase Part II - Project Phases and Lifecycle Planning

Planning and Managing Software Projects – Emanuele Della Valle

Project Plans Planning Documents

§  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

17

Page 18: Planning Phase Part II - Project Phases and Lifecycle Planning

Planning and Managing Software Projects – Emanuele Della Valle

Project Plans My Choice

§  Statement of Work (SOW)

§  Project Charter

§  Software Project Management Plan (SPMP)

§  Budget

§  Responsibility Assignment Matrix (RAM)

§  Risk Management Plan

18

Page 19: Planning Phase Part II - Project Phases and Lifecycle Planning

Planning and Managing Software Projects – Emanuele Della Valle

Project Plans Product Documents

§  Statement of Need

§  System Interface Specification

§  Software Requirements Specification

§  Software Design Specification

§  Software Validation & Verification Plan

§  User Documentation

§  Support Plan

§  Maintenance Documentation

19

Page 20: Planning Phase Part II - Project Phases and Lifecycle Planning

Planning and Managing Software Projects – Emanuele Della Valle

Project Plans Software Project Survival Guide

§  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

20

Page 21: Planning Phase Part II - Project Phases and Lifecycle Planning

Planning and Managing Software Projects – Emanuele Della Valle

Project Plans Planning

§  How much will it cost?

§  How long will it take?

§  How many people will it take?

§  What might go wrong?

21

Page 22: Planning Phase Part II - Project Phases and Lifecycle Planning

Planning and Managing Software Projects – Emanuele Della Valle

Project Plans Planning

§  Scoping

§  Estimation

§  Risk

§  Schedule

§  Control Strategy

22

Page 23: Planning Phase Part II - Project Phases and Lifecycle Planning

Planning and Managing Software Projects – Emanuele Della Valle

Project Plans Process Issues

§  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

23

Page 24: Planning Phase Part II - Project Phases and Lifecycle Planning

Planning and Managing Software Projects – Emanuele Della Valle

Project Plans Plans Evolve Over Time 24

NASA’s “Manager’s Handbook for Software Development”

Page 25: Planning Phase Part II - Project Phases and Lifecycle Planning

Planning and Managing Software Projects – Emanuele Della Valle

Project Plans Software Development Plan

§  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

25

Page 26: Planning Phase Part II - Project Phases and Lifecycle Planning

Planning and Managing Software Projects – Emanuele Della Valle

Project Plans SDP / SPMP

§  Fundamental Sections •  Project overview •  Deliverables •  Project organization •  Managerial processes •  Technical processes •  Budget •  Schedule

26

Page 27: Planning Phase Part II - Project Phases and Lifecycle Planning

Planning and Managing Software Projects – Emanuele Della Valle

Project Plans Communications Management Plan

§  Often a section of SPMP

§  Describes information flow to all parties •  Gathering and distributing information

§  Status meetings •  Monthly, Weekly, Daily? •  Status reports are vital

27

Page 28: Planning Phase Part II - Project Phases and Lifecycle Planning

Planning and Managing Software Projects – Emanuele Della Valle

Project Plans Create a Project Intranet

§  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/

28

Page 29: Planning Phase Part II - Project Phases and Lifecycle Planning

Planning and Managing Software Projects – Emanuele Della Valle

Optional Readings

§  Thayer: •  Cori pg. 171-182 “Fundamentals of Master Scheduling”, •  Fairley 183-194 “Work Breakdown Structures”

29

Page 30: Planning Phase Part II - Project Phases and Lifecycle Planning

Planning and Managing Software Projects – Emanuele Della Valle

Comics 30

[source http://www.cs.ucl.ac.uk/external/atanu/req.gif ]

Page 31: Planning Phase Part II - Project Phases and Lifecycle Planning

Planning and Managing Software Projects – Emanuele Della Valle

31

Page 32: Planning Phase Part II - Project Phases and Lifecycle Planning

Planning and Managing Software Projects – Emanuele Della Valle

Comics 32

[source http://www.codinghorror.com/blog/images/software-engineering-explained.png ]

Page 33: Planning Phase Part II - Project Phases and Lifecycle Planning

Planning and Managing Software Projects – Emanuele Della Valle

Read out more about the tree swing

§  http://www.businessballs.com/treeswing.htm

33