Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2...

82
L5-S1 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning Dr. M.E. Fayad, Professor Computer Engineering Department College of Engineering, San José State University One Washington Square, San José, CA 95192-0180 E-mail: [email protected] Software Project Management

Transcript of Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2...

Page 1: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S1 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

Dr. M.E. Fayad, Professor Computer Engineering Department College of Engineering, San José State University One Washington Square, San José, CA 95192-0180 E-mail: [email protected]

Software Project Management

Page 2: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S2 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

2

Planning

Lesson Title

Session #5

Page 3: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S3 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

3

Roadmap

  Project Phases in Detail

  Step-by-Step of Typical Software Project

  Lifecycle Planning

  Project Plan

  Conclusions

Next Week: Lots of Project-ish Details: WBS, PERT, CPM, Scheduling & Estimation

Page 4: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S4 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

4

Lesson Learning Objectives

  Learn more about project phases

  Identify potential deliverables by phase

  Understand concept exploration

  Discuss software/system requirements & the development cycle

  Evaluate software development methodologies

  Understand planning process

  Understand and know how-to development plan template

Page 5: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S5 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

5

Project Phases

Lesson Title

Page 6: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S6 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

6

Project Phases

Page 7: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S7 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

7

Time Allocation by Phase  40-20-40 Rule (Spec., Impl., Test)

Planning Code & Unit Test

Integration & Test

Commercial DP

25% 40% 35%

Internet Systems

55% 15% 30%

Real-time Systems

35% 25% 40%

Defense Systems

40% 20% 40%

Bennatan, E.M, “On Time Within Budget”

Page 8: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S8 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

8

Time Allocation by Phase

Activity Small Project (2.5K LOC)

Large Project (500K LOC)

Analysis 10% 30%

Design 20% 20%

Code 25% 10%

Unit Test 20% 5%

Integration 15% 20%

System test 10% 15%

McConnell, Steve, “Rapid Development”

Page 9: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S9 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

9

Activities by % of Total Effort

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

Page 10: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S10 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

10

Potential Deliverables by Phase

Page 11: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S11 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

11

Concept Exploration (1)

 The “Why” phase  Not a “mandatory formal” phase

– Sometimes called the “pre-project” phase  Collecting project ideas

– Then the “funneling” process  Project Justification

– ROI – Cost-benefit analysis – Project Portfolio Matrix

  Initial planning and estimates

Page 12: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S12 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

12

  Possibly includes Procurement Management: •  RFP Process •  Vendor selection •  Contract management

  Gathering the initial team –  Including PM if not already on-board

  Identify the project sponsor –  Primary contact for approval and decision making

  Potential Phase Outputs: – Concept Document, Product Description, Proposal, SOW,

Project Charter

Concept Exploration (2)

Page 13: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S13 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

13

 Characteristics & Issues – Lack of full commitment and leadership – Some frustrations:

•  Management only getting rough estimates from development

•  Development not getting enough specifics from customer

•  Finding a balanced team – Budget sign-off may be your 1st major task – Achieved via:

•  Good concept document or equivalent •  Demonstration of clear need (justification) •  Initial estimates

Concept Exploration (3)

Page 14: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S14 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

14

Requirements (1)

 The “What” phase   Inputs: SOW, Proposal  Outputs:

– Requirements Document (RD) •  a.k.a.Requirements Specification Document (RSD) •  Software Requirements Specification (SRS)

– 1st Project Baseline – Software Project Management Plan (SPMP) – Requirements Approval & Sign-Off

•  Your most difficult task in this phase

Page 15: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S15 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

15

 Perhaps most important & difficult phase  Shortchanging it is a ‘classic mistake’  Can begin with a Project Kickoff Meeting  Can end with a Software Requirements

Review (SRR) – For Sponsor and/or customer (s) approval

Requirements (2)

Page 16: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S16 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

16

Why are Requirements so Important?

Page 17: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S17 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

17

 Characteristics & Issues – Conflict of interest: developer vs. customer – Potential tug-of-war:

•  Disagreement on Features & Estimates •  Especially in fixed-price contracts

– Frequent requirements changes – Achieving sign-off

 Project planning occurs in parallel  Requirements are capabilities and

condition to which the system – more broadly, the project – must conform

Requirements (3)

Page 18: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S18 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

18

2 Type of Requirements

– Functional (behavioral) – Features and capabilities

– Non-functional (a.k.a. “technical”) (everything else)

– Usability » Human factors, help, documentation

– Reliability » Failure rates, recoverability, availability

– Performance » Response times, throughput, resource usage

– Supportability » Maintainability, internationalization

– Operations: systems management, installation – Interface: integration with other systems – Other: legal, packaging, hardware

Page 19: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S19 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

19

 Other ways of categorizing – Go-Ahead vs. Catch-up

•  Relative to competition – Backward-looking vs. Forward-looking

•  Backward: address issues with previous version •  Forward: Anticipating future needs of customers

 Must be prioritized •  Must-have •  Should-have •  Could-have (Nice-to-have: NTH)

 Must be approved

Requirements (4)

Page 20: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S20 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

20

 Requirements Analysis Phase   Input: User’s Requirements  Output: Requirements Specifications

Document (RSD) – Functional Specifications – Prototypes – Analysis Models

Requirements (5)

Page 21: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S21 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

21

 Project Kickoff Meeting  Project Brainstorming Meeting

– Clarify goals, scope, facts, context – How-to map from analysis to design – Refine estimates

 WBS Meeting

Early Phase Meetings

Page 22: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S22 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

22

Design (1)

 The “How” Phases   Inputs: Requirements Document  Outputs:

– Functional Specifications Update – Detailed Design Document (SDD) – User Interface Specification Design (UID) – Data Model – Updated Plan (improved estimates; new

baseline)

Page 23: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S23 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

23

 a.k.a. Top-level design & detailed design  Continues process from RD  Ends with Critical Design Review (CDR)

– Formal sign-off – Can also include earlier Preliminary Design

Review (PDR) for high level design

Design (2)

Page 24: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S24 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

24

 Characteristics & Issues – Enthusiasm via momentum – Team structure and assignments finalized – Delays due to requirements changes, new

information or late ideas – Issues around personnel responsibilities – Unfeasible requirements (technical

complexity) – Resource Issues

•  Including inter-project contention

Design (3)

Page 25: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S25 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

25

Development (1)

 The “Do It” phase  Coding & Unit testing  Often overlaps Design & Integration

phases – To shorten the overall schedule – PM needs to coordinate this

Page 26: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S26 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

26

 Other concurrent activities – Design completion – Integration begins – Unit testing of individual components – Test bed setup (environment and tools) – Project plans updated – Scope and Risk Management conducted

Development (2)

Page 27: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S27 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

27

 Characteristics – Pressure increases – Staffing at highest levels – Often a “heads-down” operation

  Issues – Last-minute changes – Team coordination (esp. in large projects) – Communication overhead – Management of sub-contractors

Development (3)

Page 28: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S28 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

28

Integration & Test (1)

 Evolves from Development Phase  Often done as 2 parallel phases

– Partial integration & initial test  Starts with integration of modules  An initial, incomplete version

constructed  Progressively add more components

Page 29: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S29 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

29

  Integration primarily a programmer task  Test primarily a QA team task   Integration:

– Top-down: Core functionality first, empty shells for incomplete routines (stubs)

– Bottom up: gradually bind low-level modules – Prefer top-down generally

Integration & Test (2)

Page 30: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S30 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

30

 Tests – Integration testing – Black & White-box testing – Load & Stress testing – Alpha & Beta testing – Acceptance testing

 Other activities – Final budgeting; risk mgmt.; training;

installation preparation; team reduced

Integration & Test (3)

Page 31: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S31 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

31

 Characteristics & Issues – Increased pressure – Overtime – Customer conflicts over features – Frustration over last-minute failures – Budget overruns – Motivation problems (such as burnout) – Difficulty in customer acceptance

•  Esp. true for fixed-price contracts

Integration & Test (4)

Page 32: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S32 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

32

Deployment & Maintenance (1)

  Installation depends on system type – Web-based, CD-ROM, in-house, etc.

 Migration strategy  How to get customers up on the system

– Parallel operation  Deployment typically in your project plan,

maintenance not

Page 33: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S33 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

33

Deployment & Maintenance (2)

 Maintenance – Fix defects – Add new features – Improve performance

 Configuration control is very important here  Documents need to be maintained also  Sometimes a single team maintains

multiple products

Page 34: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S34 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

34

Deployment & Maintenance (3)

 Characteristics & Issues – Lack of enthusiasm – Pressure for quick fixes – Insufficient budget – Too many patches – Personnel turnover – Regression testing is critical

•  Preferably through automated tools

Page 35: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S35 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

35

Lifecycle Planning

Lesson Title

Page 36: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S36 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

36

Lifecycle Planning (1)

 a.k.a. Lifecycle Management or 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

Page 37: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S37 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

37

Lifecycle Planning (2)

  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

Page 38: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S38 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

38

Waterfall Model

Waterfall Model Requirements

Analysis

Design

Coding

Requirements Specifications

Testing

Page 39: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S39 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

39

Pure Waterfall

 The “granddaddy” of models  Linear sequence of phases

– “Pure” model: no phases overlap  Document driven  All planning done up-front

Page 40: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S40 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

40

 Why does the waterfall model “invite risk”?

  Integration and testing occur at the end – Often anyone’s 1st chance to “see” the

program

Waterfall Risk

Page 41: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S41 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

41

Pure Waterfall

 Works well for projects with – Stable product definition – Well-understood technologies – Quality constraints stronger than cost &

schedule – Technically weak staff

•  Provides structure •  Good for overseas projects

Page 42: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S42 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

42

Pure Waterfall

 Disadvantages – Not flexible

•  Rigid march from start->finish

– Difficult to fully define requirements up front

– Can produce excessive documentation – Few visible signs of progress until the end

Page 43: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S43 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

43

 “Code-like-Hell”  Specification (maybe), Code (yes),

Release (maybe)  Advantages

– No overhead – Requires little expertise

 Disadvantages – No process, quality control, etc. – Highly risky

 Suitable for prototypes or throwaways

Code-and-Fix

Page 44: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S44 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

44

Spiral Model (1)

Page 45: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S45 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

45

 Emphasizes risk analysis & mgmt. in each phase

 A Series of Mini-projects  Each addresses a set of “risks”

– Start small, explore risks, prototype, plan, repeat

 Early iterations are “cheapest”  Number of spirals is variable

– Last set of steps are waterfall-like

Spiral Model (2)

Page 46: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S46 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

46

 Advantages – Can be combined with other models – As costs increase, risks decrease – Risk orientation provides early warning

 Disadvantages – More complex – Requires more management

Spiral Model (3)

Page 47: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S47 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

47

Modified Waterfall

 Overlapping phases  Advantages

– Reduces overall schedule – Reduces documentation – Works well if personnel continuity

 Disadvantages – Milestones more ambiguous – Progress tracking more difficult – Communication can be more difficult

Page 48: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S48 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

48

Prototyping

Requirements Specifications

Requirements Analysis

Coding

Demonstration

Design Coding

Testing

Maintenance

Design Prototype

Coding

Design Code

Test

Maintenance

Requirements

Build Prototype

Document Requirements

Test Prototype

Page 49: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S49 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

49

 Design most prominent parts first – Usually via a visual prototype

 Good for situations with: – Rapidly changing requirements – Non-committal customer – Vague problem domain

 Provides steady, visible progress  Disadvantages

– Time estimation is difficult – Project completion date may be unknown – An excuse to do “code-and-fix”

Evolutionary Prototyping

Page 50: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S50 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

50

  Waterfall steps through architectural design   Then detailed design, code, test, deliver in stages   Advantages

•  Customers get product much sooner •  Tangible signs of progress sooner •  Problems discovered earlier •  Increases flexibility •  Reduces: status reporting overhead & estimation error

  Disadvantages •  Requires more planning (for you the PM) •  More releases increase effort (and possible feature creep)

  How’s this differ from Evolutionary Prototyping?

Staged Delivery

Page 51: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S51 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

51

V Process Model (1)

Page 52: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S52 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

52

 Designed for testability – Emphasizes Verification & Validation

 Variation of waterfall  Strengths

– Encourages V&V at all phases  Weaknesses

– Does not handle iterations – Changes can be more difficult to handle

 Good choice for systems that require high reliability such as patient control systems

V Process Model (2)

Page 53: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S53 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

53

Incremental Model

Product Design

Verification

Increment 3

Increment 2

Operations and Maintenance

Revalidation

Detailed Design

Verification

Code Unit Test

Integration Product

Verification

Implementation

System Test

Increment 1

Detailed Design

Verification

Code Unit Test

Integration

Detailed Design

Verification

Code

System Feasibility

Validation

Software Plans & Reqmts

Validation

Page 54: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S54 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

54

Fountain Model

Coding

Design

Software Requirements Specification

Requirements Analysis

System Testing

Testing

Coding

Module Specification

Maintenance Further

Development

Module Design

Real-World Systems Real-World Entity

[Henderson-Sellers90]

Program Use

Maintenance Further

Development Acceptance into Library

Page 55: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S55 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

55

 Rapid Application Development  Popular in the 80’s

– 1. Joint Requirements Planning (JRP) – 2. Joint Application Design (JAD) – 3. Construction

•  Heavy use of tools: code generators •  Time-boxed; many prototypes

– 4. Cutover

 Good for systems with extensive user input available

RAD

Page 56: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S56 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

56

 Commercial Off-The-Shelf software  Build-vs.-buy decision  Advantages

– Available immediately – Potentially lower cost

 Disadvantages – Not as tailored to your requirements

 Remember: custom software rarely meets its ideal (so compare that reality to COTS option)

COTS

Page 57: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S57 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

57

 Not a Microsoft product  Part of movement called “Agile

Development”  A “Lightweight” methodology  A bit counter-culture  Currently in vogue  Motto: “Embrace Change”  Highly Incremental / Iterative

eXtreme Programming (1)

Page 58: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S58 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

58

eXtreme Programming (2)

Page 59: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S59 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

59

 Suitable for small groups  Attempts to minimize unnecessary work  Uses an “on-site” customer  Small releases  Pair programming  Refactoring  Stories as requirements  You want good developers if you use this

eXtreme Programming (3)

Page 60: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S60 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

60

 Agile here means “lite”, reduced docs, highly iterative

 Agile Software Development – Alliance , their “manifesto”, their book

 SCRUM – Features 30-day “Sprint” cycles

 Feature Driven Development (FDD) – XP with more emphasis on docs and process

Other “Agile” Models (1)

Page 61: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S61 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

61

 Adaptive Software Development (ASD) – Book, site

 Dynamic System Development Method (DSDM) – Popular in Europe

 Homegrown: developers often hide their “agile adventures” from management

Other “Agile” Models (2)

Page 62: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S62 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

62

 Pros – Similar to XP, can reduce process overhead – Responsive to user feedback – Amenable to change

 Cons – Requires close monitoring by PM – May not “scale” to large projects – Often requires better quality developers

Other “Agile” Models (3)

Page 63: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S63 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

63

 RUP  From Rational Corporation  “Generic” version is the Unified Process  Commercial  Extensive tool support (expensive)  Object-oriented   Incremental  Newer

Rational Unified Process (1)

Page 64: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S64 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

64

Rational Unified Process (2)

Page 65: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S65 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

65

 Develop Iteratively  Manage Requirements  Uses UML (Unified Modeling Language)  Produces “artifacts”  Use component-based architecture  Visually model software  Complex process  A “framework”  Suitable for large scale systems

Rational Unified Process (3)

Page 66: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S66 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

66

Software Stability Model

Page 67: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S67 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

67

Choosing Your Lifecycle

 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?

Page 68: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S68 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

68

IEEE 1074

 A standard for developing software processes – Lifecycle model selection – Project management process – Predevelopment processes – Development processes – Post-development processes – Integral process

Page 69: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S69 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

69

Planning

 “Plans are nothing. But planning is everything.” Gen. Dwight Eisenhower

 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

Page 70: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S70 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

70

  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

Primary Planning Process

Page 71: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S71 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

71

 Planning

 Product

Documents

Page 72: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S72 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

72

 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 Documents (1)

Page 73: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S73 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

73

 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 Documents (2)

Page 74: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S74 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

74

 Project ROI Analysis  Statement of Work (SOW)  Project Charter  Software Project Management Plan

(SPMP)  Budget  Responsibility Assignment Matrix (RAM)  Risk Management Plan

Planning Documents (3)

Page 75: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S75 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

75

Product Documents

  Statement of Need   System Interface

Specification   Software

Requirements Specification

  Software Design Specification

  Software Validation & Verification Plan

  User Documentation

  Support Plan   Maintenance

Documentation

Page 76: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S76 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

76

 How much will it cost?  How long will it take?  How many people will it take?  What might go wrong?

Planning (1)

Page 77: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S77 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

77

 Scoping  Estimation  Risk  Schedule  Control Strategy

Planning (2)

Page 78: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S78 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

78

Plans Evolve Over Time

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

Page 79: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S79 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

79

 Software Project Management Plan (SPMP)

 Some consider it the most important document in the project (along with SRS Document) – Can be seen as an aggregation of other core

documents  Evolves over time as pieces come

together

S/W Development Plan

Page 80: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S80 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

80

 Fundamental Sections – Project overview – Deliverables – Project organization – Managerial processes – Technical processes – Budget – Schedule

SDP/SPMP

Page 81: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S81 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

81

 Often a section of SPMP  Describes information flow to all parties

– Gathering and distributing information  Status meetings

– Monthly, Weekly, Daily? – Status reports are vital

Communication Mgmt Plan

Page 82: Software Project Management€¦ · 8/25/10© M.E. Fayad 2000 -- 2009 Planning L5-S2 Planning 2 Planning Lesson Title Session #5 . 8/25 ... Next Week: Lots of Project-ish Details:

L5-S82 Planning 8/25/10© M.E. Fayad 2000 -- 2009 Planning

82

Discussion Questions

 Questions?