Top Banner
chapter 5 slide 5-1 Managing and Leading Software Projects, by R. Fairley, © Wiley, 2009 Lecture Slides for Managing and Leading Software Projects Chapter 5: Project Planning Techniques developed by Richard E. (Dick) Fairley, Ph.D. to accompany the text Managing and Leading Software Projects published by Wiley, 2009
62

Lecture Slides for Managing and Leading Software Projects ...bakporay.bilkent.edu.tr/cs_413/MLSP_slides_Chapter_05.pdf · chapter 5 slide 5-2 Managing and Leading Software Projects,

Jun 09, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Lecture Slides for Managing and Leading Software Projects ...bakporay.bilkent.edu.tr/cs_413/MLSP_slides_Chapter_05.pdf · chapter 5 slide 5-2 Managing and Leading Software Projects,

chapter 5slide 5-1

Managing and Leading Software Projects,by R. Fairley, © Wiley, 2009

Lecture Slides forManaging and Leading Software Projects

Chapter 5: Project Planning Techniques

developed byRichard E. (Dick) Fairley, Ph.D.

to accompany the textManaging and Leading Software Projects

published by Wiley, 2009

Page 2: Lecture Slides for Managing and Leading Software Projects ...bakporay.bilkent.edu.tr/cs_413/MLSP_slides_Chapter_05.pdf · chapter 5 slide 5-2 Managing and Leading Software Projects,

chapter 5slide 5-2

Managing and Leading Software Projects,by R. Fairley, © Wiley, 2009

Chapter 5 Contents

• Introduction to Project Planning Techniques• Objectives of This Chapter• The Scope of Planning• Rolling-Wave Planning• Scenarios for Developing a Project Plan• Developing the Architecture Decomposition View and

the Work Breakdown Structure• Guidelines for Designing Work Breakdown Structures• Developing the Project Schedule• Developing Resource Profiles• Resource-Gantt Charts• Estimating Project Effort, Cost, and Schedule

Page 3: Lecture Slides for Managing and Leading Software Projects ...bakporay.bilkent.edu.tr/cs_413/MLSP_slides_Chapter_05.pdf · chapter 5 slide 5-2 Managing and Leading Software Projects,

chapter 5slide 5-3

Managing and Leading Software Projects,by R. Fairley, © Wiley, 2009

Additional Information

• The planning techniques presented in Chapter 5 are informed by: o the Project Planning process area of the

CMMI-DEV-v1.2 process framework, o the planning elements of ISO and IEEE

Standards 12207, o IEEE Standard 1058, and o the PMI Body of Knowledge.

• These elements are described in Appendix 5A to Chapter 5 of the textbook.

Page 4: Lecture Slides for Managing and Leading Software Projects ...bakporay.bilkent.edu.tr/cs_413/MLSP_slides_Chapter_05.pdf · chapter 5 slide 5-2 Managing and Leading Software Projects,

chapter 5slide 5-4

Managing and Leading Software Projects,by R. Fairley, © Wiley, 2009

Objectives for Chapter 5

• After reading this chapter and completing the exercises, you should understand:o the scope of planningo rolling wave planningo scenarios for developing a project plano developing an architecture decomposition

view o developing a work breakdown structureo developing the project scheduleo developing resource profileso resource Gantt chartso estimating project cost

Page 5: Lecture Slides for Managing and Leading Software Projects ...bakporay.bilkent.edu.tr/cs_413/MLSP_slides_Chapter_05.pdf · chapter 5 slide 5-2 Managing and Leading Software Projects,

chapter 5slide 5-5

Managing and Leading Software Projects,by R. Fairley, © Wiley, 2009

customer

management

PlanningandReplanning

ActivityDefinition

WorkAssign-ments

SoftwareDevelopment

Quality Assurance

Independent Validation

Measuring

Controlling

DataRetention

Estimating

Reporting Status ReportsProject Reports

Requirementsand Constraints

Directives andConstraints

Change Requests and Problem Reports

ConfigurationManagement

product

. . . . . . . .. . . . . .

A Workflow Model with Emphasis on Planning, Estimating, and Activity Definition for Software Projects

Page 6: Lecture Slides for Managing and Leading Software Projects ...bakporay.bilkent.edu.tr/cs_413/MLSP_slides_Chapter_05.pdf · chapter 5 slide 5-2 Managing and Leading Software Projects,

chapter 5slide 5-6

Managing and Leading Software Projects,by R. Fairley, © Wiley, 2009

Scenarios for Developing a Project Plan1.Given a set of operational requirements and

constraints on one or more of the schedule, budget, and resources determine the feasibility of the project and needed values for the unconstrained elements

2.Given a list of features and quality attributes estimate and then commit to the schedule, budget, and resources needed to develop a system or product having those features and quality attributes.

3.Given a completion date and a budget, determine the characteristics of a product that can be built or modified within the constraints of specified time and money.

Page 7: Lecture Slides for Managing and Leading Software Projects ...bakporay.bilkent.edu.tr/cs_413/MLSP_slides_Chapter_05.pdf · chapter 5 slide 5-2 Managing and Leading Software Projects,

chapter 5slide 5-7

Managing and Leading Software Projects,by R. Fairley, © Wiley, 2009

Note

• Regardless of the scenario for developing a project plan, the initial project plan must achieve compatibility among: o requirements, o schedule, o budget, o resources, and o technology.

• Subsequent revisions to the project plan must maintain this balance as requirements and other factors change.

Page 8: Lecture Slides for Managing and Leading Software Projects ...bakporay.bilkent.edu.tr/cs_413/MLSP_slides_Chapter_05.pdf · chapter 5 slide 5-2 Managing and Leading Software Projects,

chapter 5slide 5-8

Managing and Leading Software Projects,by R. Fairley, © Wiley, 2009

Dictated Plans

• You may be given a set of requirements and told to implement the system within strict constraints of schedule and budget

• You may be handed a set of changes to be made along with a schedule and a budget and be given the responsibility of managing a project to make the modifications.

“dictated plans” typically have high rates of failure to deliver accepted products on schedule and within budget

Page 9: Lecture Slides for Managing and Leading Software Projects ...bakporay.bilkent.edu.tr/cs_413/MLSP_slides_Chapter_05.pdf · chapter 5 slide 5-2 Managing and Leading Software Projects,

chapter 5slide 5-9

Managing and Leading Software Projects,by R. Fairley, © Wiley, 2009

Rolling Wave Planning (1)

• Rolling wave planning acknowledges that it is impossible to develop plans at the level of detail indicated throughout Chapter 5 during the initial planning phase of your software projects.

• When you are conducting a project, a recommended approach is to augment the high-level master plan with detailed plans for:o the coming month, o for the subsequent month, and o for three months hence.

• Each month the plans are moved forward one month; i.e. moved forward in a rolling-wave manner. o The plans for the next month should be detailed and specific. o The plans for two and three months hence should be as

specific as possible.

Page 10: Lecture Slides for Managing and Leading Software Projects ...bakporay.bilkent.edu.tr/cs_413/MLSP_slides_Chapter_05.pdf · chapter 5 slide 5-2 Managing and Leading Software Projects,

chapter 5slide 5-10

Managing and Leading Software Projects,by R. Fairley, © Wiley, 2009

Rolling Wave Planning (2)

• Rolling wave planning is illustrated in Figure 5.2 of the textbook:months:

n n+1 n+2n+1 n+2 n+3

n+2 n+3 n+4

months

Page 11: Lecture Slides for Managing and Leading Software Projects ...bakporay.bilkent.edu.tr/cs_413/MLSP_slides_Chapter_05.pdf · chapter 5 slide 5-2 Managing and Leading Software Projects,

chapter 5slide 5-11

Managing and Leading Software Projects,by R. Fairley, © Wiley, 2009

The Project Planning Strategy

• The first pass at planning should be done without regard to constraintso the first pass forms the basis for making

adjustments and tradeoffs to satisfy constraints

o or for determining that the project, as constrained, is infeasible

Page 12: Lecture Slides for Managing and Leading Software Projects ...bakporay.bilkent.edu.tr/cs_413/MLSP_slides_Chapter_05.pdf · chapter 5 slide 5-2 Managing and Leading Software Projects,

chapter 5slide 5-12

Managing and Leading Software Projects,by R. Fairley, © Wiley, 2009

Project Planning Tools and Techniques

• Architecture Decomposition View• Work Breakdown Structures• Work Packages• Activity Networks• CPM, PERT, and Gantt charts• Resource Loading Histograms

CPM: Critical Path MethodPERT: Program Evaluation and Review Technique

Page 13: Lecture Slides for Managing and Leading Software Projects ...bakporay.bilkent.edu.tr/cs_413/MLSP_slides_Chapter_05.pdf · chapter 5 slide 5-2 Managing and Leading Software Projects,

chapter 5slide 5-13

Managing and Leading Software Projects,by R. Fairley, © Wiley, 2009

Initial Planning Activities (1)

• Developing a plan includes the following activities:.1. Develop an Architecture Decomposition View of the

product architecture (ADV) and allocate requirements and interfaces to the elements of the ADV

2. Develop a work breakdown structure that includes work elements for the ADV modules with allocated requirements and interfaces for each element of work

3. Develop work packages for the tasks in the WBS4. Define a schedule of objectively measurable

milestones5. Prepare a schedule network and identify the critical

path (or paths)6. Prepare a PERT estimate of project duration

Page 14: Lecture Slides for Managing and Leading Software Projects ...bakporay.bilkent.edu.tr/cs_413/MLSP_slides_Chapter_05.pdf · chapter 5 slide 5-2 Managing and Leading Software Projects,

chapter 5slide 5-14

Managing and Leading Software Projects,by R. Fairley, © Wiley, 2009

Initial Planning Activities (2)

7. Identify number and kinds of resources needed, when they will be needed, and for how long

8. Prepare an estimate of optimal effort, cost, schedule, and resources

9. Negotiate with the customer to obtain a balance among requirements, cost, and project duration that satisfies the project constraints

Page 15: Lecture Slides for Managing and Leading Software Projects ...bakporay.bilkent.edu.tr/cs_413/MLSP_slides_Chapter_05.pdf · chapter 5 slide 5-2 Managing and Leading Software Projects,

chapter 5slide 5-15

Managing and Leading Software Projects,by R. Fairley, © Wiley, 2009

Three Views of Software and Some Notations Used

the ADV is the project manager’s view of a product

function• OO class methods• data flow diagrams

structure• OO class diagrams• ADV (architecture decomposition view)

behavior• state diagrams• sequence diagrams

Page 16: Lecture Slides for Managing and Leading Software Projects ...bakporay.bilkent.edu.tr/cs_413/MLSP_slides_Chapter_05.pdf · chapter 5 slide 5-2 Managing and Leading Software Projects,

chapter 5slide 5-16

Managing and Leading Software Projects,by R. Fairley, © Wiley, 2009

ADV of an ATM

• Suppose we decide that software for ATM machines will have 4 major subsystems:

o ATMHD: Hardware Driverso FINAT: Financial Transactionso MAINT: Maintenance & Diagnosticso COMM: Communication Package

• Also, suppose FINAT is designed to have the following components:

o Validatoro Processoro Recordero Terminator

Page 17: Lecture Slides for Managing and Leading Software Projects ...bakporay.bilkent.edu.tr/cs_413/MLSP_slides_Chapter_05.pdf · chapter 5 slide 5-2 Managing and Leading Software Projects,

chapter 5slide 5-17

Managing and Leading Software Projects,by R. Fairley, © Wiley, 2009

Partial Architecture Decomposition View of ATM Software with Allocated Requirements

ATMHD FINAT MAINT

Processor Recorder Terminator

COMM

Validator

. . . . . . . . .

ATMSoftware

ATMHD: Hardware DriversFINAT: Financial TransactionsMAINT: Maintenance & DiagnosticsCOMM: Communications Package

E1, E2 E3, D1, D2, D3 O1, O2, O3

E4, E5 E6, D4

Ei: an Essential requirementDi: a Desirable requirementOi: an Optional requirement

Page 18: Lecture Slides for Managing and Leading Software Projects ...bakporay.bilkent.edu.tr/cs_413/MLSP_slides_Chapter_05.pdf · chapter 5 slide 5-2 Managing and Leading Software Projects,

chapter 5slide 5-18

Managing and Leading Software Projects,by R. Fairley, © Wiley, 2009

Outline Representation of the Partial ADV

ATM Software1. ATMHD2. FINAT

2.1. Validator [E1,E2]2.2. Processor [E3, D1, D2, D3, O1, O2, O3]2.3. Recorder [E4, E5]2.4. Terminator [E6, D4]

3. MAINT4. COMM

Page 19: Lecture Slides for Managing and Leading Software Projects ...bakporay.bilkent.edu.tr/cs_413/MLSP_slides_Chapter_05.pdf · chapter 5 slide 5-2 Managing and Leading Software Projects,

chapter 5slide 5-19

Managing and Leading Software Projects,by R. Fairley, © Wiley, 2009

Design Guidelines for ADVs

Guidelines for designing an ADV include:• limit the breadth (fan-out) to 7 or less at each level• limit the depth of each ADV* to 4 or 5 levels• use a decimal numbering system to indicate the

membership of each element of the ADV• trace allocated requirements to ADV elements• design the product structure to facilitate work

assignments

* a large, complex system may have multiple subsystems, each having its own ADV

Page 20: Lecture Slides for Managing and Leading Software Projects ...bakporay.bilkent.edu.tr/cs_413/MLSP_slides_Chapter_05.pdf · chapter 5 slide 5-2 Managing and Leading Software Projects,

chapter 5slide 5-20

Managing and Leading Software Projects,by R. Fairley, © Wiley, 2009

Traceability of Functional Requirements

• Note that each functional requirement is allocated to one, and only one, element of the FINAT ADV

XO3

XO2

XO1

XD4

XD3

XD2

XD1

XE6

XE5

XE4

XE3

XE2

XE1

TerminatorRecorder

Processor

Validator

Page 21: Lecture Slides for Managing and Leading Software Projects ...bakporay.bilkent.edu.tr/cs_413/MLSP_slides_Chapter_05.pdf · chapter 5 slide 5-2 Managing and Leading Software Projects,

chapter 5slide 5-21

Managing and Leading Software Projects,by R. Fairley, © Wiley, 2009

Traceability of Quality Attributes

• Some quality attributes may apply to:o an individual element of the ADVo several elements of the ADVo all elements of the ADV

Page 22: Lecture Slides for Managing and Leading Software Projects ...bakporay.bilkent.edu.tr/cs_413/MLSP_slides_Chapter_05.pdf · chapter 5 slide 5-2 Managing and Leading Software Projects,

chapter 5slide 5-22

Managing and Leading Software Projects,by R. Fairley, © Wiley, 2009

Designing the Product Structure to Facilitate Work Assignments

Conway’s Law“The structure of a software system tends to resemble the structure of the team that builds it.”

Fairley’s Corollary“The architectural hierarchy of a software system must be structured to reflect the structure of work assignments for the team, or teams, that will build it.”

Page 23: Lecture Slides for Managing and Leading Software Projects ...bakporay.bilkent.edu.tr/cs_413/MLSP_slides_Chapter_05.pdf · chapter 5 slide 5-2 Managing and Leading Software Projects,

chapter 5slide 5-23

Managing and Leading Software Projects,by R. Fairley, © Wiley, 2009

A Structural Model for Software Projects

Project Manager

TeamLeader #1

Team Leader#2

TeamLeader #3

V&V CM

Member

Member Member

Member

Software Architect

. . .

xx

. . .

each team consists of 2 to 5 members

Page 24: Lecture Slides for Managing and Leading Software Projects ...bakporay.bilkent.edu.tr/cs_413/MLSP_slides_Chapter_05.pdf · chapter 5 slide 5-2 Managing and Leading Software Projects,

chapter 5slide 5-24

Managing and Leading Software Projects,by R. Fairley, © Wiley, 2009

Work Breakdown Structures

• A Work Breakdown Structure (WBS) is a hierarchical decomposition of work activitieso a WBS can be represented as a tree structure

or an indented listo hierarchy partitions the development activities

into separate parts• so that requirements and work activities can

be assigned to different groups and different individuals

Page 25: Lecture Slides for Managing and Leading Software Projects ...bakporay.bilkent.edu.tr/cs_413/MLSP_slides_Chapter_05.pdf · chapter 5 slide 5-2 Managing and Leading Software Projects,

chapter 5slide 5-25

Managing and Leading Software Projects,by R. Fairley, © Wiley, 2009

Graphical Form of a Partial WBS with Embedded ADV and Allocated Requirements

ATMProject

2 Do System Analysis

3 DevelopSoftware

4 VerifySystem

5 ValidateSystem

6 PerformCM

7 PrepareTech. Pubs.

1 ManageProject.

3.1. BuildATMHD

3.2. BuildFINAT

3.3. BuildMAINT

3.2.5 Integrate FINATmodules

3.5. IntegrateATMHD, FINAT,MAINT & COMM

3.2.1 BuildValidator[E1, E2]

3.2.2 BuildProcessor

[E3, D1, D2, D3, O1, O2, O3]

3.2.3 BuildRecorder[E4, E5]

3.2.4 BuildTerminator

[E6, D4]

3.4. BuyCOMM

DESx: detailed design of module x; CUTx: coding & unit testing x; ITxC: integration and testing of x

8 DeliverSystem

3.2.1.2 CUTV

3.2.1.1 DESV

3.2.1.3 ITVM

3.2.2.2 CUTP

3.2.2.1 DESP

3.2.2.3 ITPM

3.2.3.2 CUTR

3.2.3.1 DESR

3.2.3.3 ITRM

3.2.4.2 CUTT

3.2.4.1 DEST

3.2.4.3 ITTM

Page 26: Lecture Slides for Managing and Leading Software Projects ...bakporay.bilkent.edu.tr/cs_413/MLSP_slides_Chapter_05.pdf · chapter 5 slide 5-2 Managing and Leading Software Projects,

chapter 5slide 5-26

Managing and Leading Software Projects,by R. Fairley, © Wiley, 2009

Outline Form of the Partial WBS1 Manage Project 2 Do System Analysis3 Develop Software

3.1 Build ATM Hardware Drivers3.2 Build Financial Transaction Handler

3.2.1 Build Validator [E1, E2]3.2.1.1 Design Validator3.2.1.2 Code & Unit Test Validator3.2.1.3 Integrate & Test Validator

3.2.2 Build Transaction Processor [E3, S1, D2, D3, O1, O2, O3]3.2.2.1 Design Transaction Processor3.2.2.2 Code & Unit Test Transaction Processor3.2.2.3 Integrate & Test Processor Components

3.2.3 Build Recorder [E4, E5]3.2.3.1 Design Recorder3.2.3.2 Code & Unit Test Recorder3.2.3.3 Integrate & Test Recorder Module

3.2.4 Build Terminator [E6,D4]3.2.4.1 Design Recorder3.2.4.2 Code & Unit Test Recorder3.2.4.3 Integrate & Test Recorder Module

3.3 Build Maintenance & Diagnostic Module3.4 Buy the Communications Package3.5 Integrate ATMHD, FINAT, MAINT, and COMM modules

4 Verify System5 Validate System6 Perform CM7 Prepare Technical Publications8 Deliver System

Page 27: Lecture Slides for Managing and Leading Software Projects ...bakporay.bilkent.edu.tr/cs_413/MLSP_slides_Chapter_05.pdf · chapter 5 slide 5-2 Managing and Leading Software Projects,

chapter 5slide 5-27

Managing and Leading Software Projects,by R. Fairley, © Wiley, 2009

WBS Elements for “Manage Project”1 Manage Project

1.1 Initiate Project1.1.1 Identify stakeholders1.1.2 Develop/clarify requirements1.1.3 Prepare initial estimates1.1.4 Prepare initial project plan1.1.5 Obtain commitment to the plan

1.2 Conduct Project1.2.1 Measure and control project1.2.2 Lead and direct personnel1.2.3 Communicate and coordinate1.2.4 Manage risk

1.3 Closeout Project1.3.1 Obtain product acceptance1.3.2 Conduct post-mortem sessions1.3.3 Prepare and distribute lessons-learned report1.3.4 Assist in reassigning project personnel

Page 28: Lecture Slides for Managing and Leading Software Projects ...bakporay.bilkent.edu.tr/cs_413/MLSP_slides_Chapter_05.pdf · chapter 5 slide 5-2 Managing and Leading Software Projects,

chapter 5slide 5-28

Managing and Leading Software Projects,by R. Fairley, © Wiley, 2009

Notes

1. The ADV contains nouns to denote things2. The WBS contains verb phrases to denote work

activities3. The work activities to develop the elements of the

ADV are embedded in the WBSo the nouns in the ADV are converted to verb

phrases in the WBSe.g., “Validator” in the ADV becomes

“Build Validator” in the WBS

Page 29: Lecture Slides for Managing and Leading Software Projects ...bakporay.bilkent.edu.tr/cs_413/MLSP_slides_Chapter_05.pdf · chapter 5 slide 5-2 Managing and Leading Software Projects,

chapter 5slide 5-29

Managing and Leading Software Projects,by R. Fairley, © Wiley, 2009

Mapping the WBS to the Organizational Structure of Software Projects

Project Manager

TeamLeader #1

Team Leader#2

TeamLeader #3

V&V CM

Member

Member Member

Member

Software Architect

. . .

xx

. . .

each team consists of 2 to 5 members

Page 30: Lecture Slides for Managing and Leading Software Projects ...bakporay.bilkent.edu.tr/cs_413/MLSP_slides_Chapter_05.pdf · chapter 5 slide 5-2 Managing and Leading Software Projects,

chapter 5slide 5-30

Managing and Leading Software Projects,by R. Fairley, © Wiley, 2009

Structure & Numbering of a Partial WBS

<<project name>>

2. 3. 4. 5. 6. 7.1.

3.1. 3.2. 3.3.

3.2.1. 3.2.3.3.2.2. 3.2.4.

3.2.1.2.3.2.1.1.

3.2.1.3.

–––

–––

–––

3.2.2.2.3.2.2.1.

3.2.2.3.3.2.3.2.3.2.3.1.

3.2.3.3.

3.2.5.

–––

3.2.4.2.3.2.4.1.

3.2.4.3.

3.4.

Page 31: Lecture Slides for Managing and Leading Software Projects ...bakporay.bilkent.edu.tr/cs_413/MLSP_slides_Chapter_05.pdf · chapter 5 slide 5-2 Managing and Leading Software Projects,

chapter 5slide 5-31

Managing and Leading Software Projects,by R. Fairley, © Wiley, 2009

Decomposition Criteria for the ADV and WBS

The initial versions of the ADV and WBS should be decomposed until:1. hidden complexities are exposed (i.e., the job to

be done is understood);2. opportunities for reuse of existing software

components can be identified; 3. the necessary hardware resources such as

computer memory and processor speed can be specified, and

4. estimates of effort needed to develop the software can be made

5. A schedule can be developed

Page 32: Lecture Slides for Managing and Leading Software Projects ...bakporay.bilkent.edu.tr/cs_413/MLSP_slides_Chapter_05.pdf · chapter 5 slide 5-2 Managing and Leading Software Projects,

chapter 5slide 5-32

Managing and Leading Software Projects,by R. Fairley, © Wiley, 2009

WBS Design Guidelines

Table 5.2 in Chapter 5 of the textbook lists 15 guidelines for designing work breakdown structures

Page 33: Lecture Slides for Managing and Leading Software Projects ...bakporay.bilkent.edu.tr/cs_413/MLSP_slides_Chapter_05.pdf · chapter 5 slide 5-2 Managing and Leading Software Projects,

chapter 5slide 5-33

Managing and Leading Software Projects,by R. Fairley, © Wiley, 2009

Design Guidelines for Work Breakdown Structures

Some of the guidelines for designing a WBS include:o name the elements using verb phraseso limit the breadth (fan-out) at each level to 7 or 8o limit the depth of each WBS to 4 or 5 levelso embed the product structure in the WBSo design the product structure to facilitate concurrent

work assignmentso use a decimal numbering system to indicate the

membership of each WBS elemento trace allocated requirements to WBS elementso document each element of the WBS in a work packageo observe inherited constraints when designing lower-

level work packageso elaborate the WBS using the rolling-wave approach

Page 34: Lecture Slides for Managing and Leading Software Projects ...bakporay.bilkent.edu.tr/cs_413/MLSP_slides_Chapter_05.pdf · chapter 5 slide 5-2 Managing and Leading Software Projects,

chapter 5slide 5-34

Managing and Leading Software Projects,by R. Fairley, © Wiley, 2009

Work Packages (1)

• The lowest level elements in a WBS are called taskso they are the smallest units of management

planning and controlo higher level units of work are called activities

• they are aggregations of lowest level tasks and subordinate activities

• Work packages are used to document taskso work packages for activities are aggregations of

the work packages for lowest level tasks and subordinate activities

Page 35: Lecture Slides for Managing and Leading Software Projects ...bakporay.bilkent.edu.tr/cs_413/MLSP_slides_Chapter_05.pdf · chapter 5 slide 5-2 Managing and Leading Software Projects,

chapter 5slide 5-35

Managing and Leading Software Projects,by R. Fairley, © Wiley, 2009

Partial WBS for an ATM Project

ATMProject

2 Do System Analysis

3 DevelopSoftware

4 VerifySystem

5 ValidateSystem

6 PerformCM

7 PrepareTech. Pubs.

1 ManageProject.

3.1. BuildATMHD

3.2. BuildFINAT

3.3. BuildMAINT

3.2.5 Integrate FINAT modules

3.5. IntegrateATMHD, FINAT,MAINT & COMM

3.2.1 BuildValidator[E1, E2]

3.2.2 BuildProcessor

[E3, D1, D2, D3, O1, O2, O3]

3.2.3 BuildRecorder[E4, E5]

3.2.4 BuildTerminator

[E6, D4]

3.4. BuyCOMM

8 DeliverSystem

3.2.1.2 CUTV

3.2.1.1 DESV

3.2.1.3 ITVM

3.2.2.2 CUTP

3.2.2.1 DESP

3.2.2.3 ITPM

3.2.3.2 CUTR

3.2.3.1 DESR

3.2.3.3 ITRM

3.2.4.2 CUTT

3.2.4.1 DEST

3.2.4.3 ITTM

tasks}–

activities

tasks

Page 36: Lecture Slides for Managing and Leading Software Projects ...bakporay.bilkent.edu.tr/cs_413/MLSP_slides_Chapter_05.pdf · chapter 5 slide 5-2 Managing and Leading Software Projects,

chapter 5slide 5-36

Managing and Leading Software Projects,by R. Fairley, © Wiley, 2009

Work Packages (2)

• A work package for a task should contain:o the corresponding WBS number and name o a brief description of the task o estimated durationo resources needed o predecessor and successor tasks o work products to be producedo work products that will be placed under version control

(baselined) o risk factors (i.e., potential problems that might interfere with

successful completion of the work package) o objective acceptance criteria for the work products generated

by the task

Page 37: Lecture Slides for Managing and Leading Software Projects ...bakporay.bilkent.edu.tr/cs_413/MLSP_slides_Chapter_05.pdf · chapter 5 slide 5-2 Managing and Leading Software Projects,

chapter 5slide 5-37

Managing and Leading Software Projects,by R. Fairley, © Wiley, 2009

A Work Package Template and Example

Task identifier: 3.2.2.1 Design Transaction ProcessorTask description: Specify internal architecture of the Transaction Processor

moduleEstimated duration: 2 weeksResources needed:

Personnel: 2 senior telecom designersSkills: Designers must know UMLTools: One workstation running RapsodyTravel: 3 day Design Review in San Diego for 2 people

Predecessor tasks: 3.2.1 - Develop system architectureSuccessor tasks: 3.3.2.2 - Implement Transaction ProcessorWork products: Architectural specification for Transaction Processor

Test Plan for Transaction ProcessorBaselines created: Architectural Specification and Test PlanRisk factors: Designers not identifiedAcceptance criteria: Successful design inspection by peers and approval of

Transaction Processor design by the Software Architect

Page 38: Lecture Slides for Managing and Leading Software Projects ...bakporay.bilkent.edu.tr/cs_413/MLSP_slides_Chapter_05.pdf · chapter 5 slide 5-2 Managing and Leading Software Projects,

chapter 5slide 5-38

Managing and Leading Software Projects,by R. Fairley, © Wiley, 2009

Who Prepares the Work Packages?

• During initial planning, the high level work packages are prepared by the planning person or team

• During project execution, each team leader works with his or her team members to prepare work packages on a rolling wave basis

• Team leaders are responsible for tracking and reporting progress on work packageso and they are responsible for the quality of the

work generated by the team members

On a small project (fewer than 6 or 7 people) the project manager may be the architect and the team leader

Page 39: Lecture Slides for Managing and Leading Software Projects ...bakporay.bilkent.edu.tr/cs_413/MLSP_slides_Chapter_05.pdf · chapter 5 slide 5-2 Managing and Leading Software Projects,

chapter 5slide 5-39

Managing and Leading Software Projects,by R. Fairley, © Wiley, 2009

A WBS Task ListTask # Description Predecessors Duration #Staff

2.1 Receive approval to proceed -- -- --3.1 Analyze requirements 2.1 1 23.2 Design

3.2.1 Redesign existing components 3.1 6 43.2.2 Design new components 3.1 3 13.2.3 Design interfaces 3.2.2 1 2

3.3 Implement3.3.1 Implement new code 3.2.2 6 23.3.2 Modify existing code 3.2.1, 3.2.3 5 1

3.4 Finish implementation3.4.1 Develop integration plan 3.2.2 2 23.4.2 Finish unit testing 3.3.1, 3.3.2 2 23.4.3 Update documentation 3.3.1, 3.3.2 2 3

3.5 Integrate and test3.5.1 Develop integration tests 3.4.1 1 33.5.2 Perform integration tests 3.4.2&3, 3.5.1 1 2

3.6 Perform acceptance tests 3.5.2 1 1

Page 40: Lecture Slides for Managing and Leading Software Projects ...bakporay.bilkent.edu.tr/cs_413/MLSP_slides_Chapter_05.pdf · chapter 5 slide 5-2 Managing and Leading Software Projects,

chapter 5slide 5-40

Managing and Leading Software Projects,by R. Fairley, © Wiley, 2009

A Critical-Path Schedule Network Generated from the Task List

m.n = tasks; (x) = activity duration= milestones;

1 2

3

4 6 7

8 9 10

5

3.1

3.2.2

3.2.3

3.3.1

3.4.13.5.1

3.4.3

3.4.2

3.5.2 3.6

(1)

(3)

(6)

3.3.2

(5) (2)

(0)

(2)(1)

(1) (1)(1)

(6)

(2)

3.2.1

16 weeks

2.1

n

critical path

Page 41: Lecture Slides for Managing and Leading Software Projects ...bakporay.bilkent.edu.tr/cs_413/MLSP_slides_Chapter_05.pdf · chapter 5 slide 5-2 Managing and Leading Software Projects,

chapter 5slide 5-41

Managing and Leading Software Projects,by R. Fairley, © Wiley, 2009

Milestone Event ListEvent Description

1 Project initiation2 Requirements analysis completed3 Design of new components completed4 Existing components redesigned

Interfaces to new components designed5 Integration plan completed6 New code implemented

Existing code modified7 Documentation updated8 Unit testing completed

Documentation updatedIntegration tests ready

9 Integration tests completed10 Acceptance tests completed

achievement of a milestone requires tangible evidence of work products completed

Page 42: Lecture Slides for Managing and Leading Software Projects ...bakporay.bilkent.edu.tr/cs_413/MLSP_slides_Chapter_05.pdf · chapter 5 slide 5-2 Managing and Leading Software Projects,

chapter 5slide 5-42

Managing and Leading Software Projects,by R. Fairley, © Wiley, 2009

Critical-Path Milestone Chart

critical elapsed cumulativemilestone time time

3.1 1 week 1 week3.2 6 weeks 7 weeks3.7 5 weeks 12 weeks3.8, 3.9 2 weeks 14 weeks3.11 1 week 15 weeks3.12 1 week 16 weeks

note: some weekly milestones should be inserted between 3.1 & 3.2 and between 3.2 & 3.7

Page 43: Lecture Slides for Managing and Leading Software Projects ...bakporay.bilkent.edu.tr/cs_413/MLSP_slides_Chapter_05.pdf · chapter 5 slide 5-2 Managing and Leading Software Projects,

chapter 5slide 5-43

Managing and Leading Software Projects,by R. Fairley, © Wiley, 2009

An Observation

• A WBS imposes a tree-structured “is-part-of”relation on a collection of work activities and taskso an aggregation relation

• A schedule network imposes an “is-preceded-by” relation on a collection of taskso a time-ordering relation

• The WBS contains no sequencing (scheduling) information

• The activity network contains no hierarchical (aggregation) information

both views are necessary

Page 44: Lecture Slides for Managing and Leading Software Projects ...bakporay.bilkent.edu.tr/cs_413/MLSP_slides_Chapter_05.pdf · chapter 5 slide 5-2 Managing and Leading Software Projects,

chapter 5slide 5-44

Managing and Leading Software Projects,by R. Fairley, © Wiley, 2009

A PERT Network

1 2

3

4 6 7

8 9 10

5

3.1

3.2.2

3.2.3

3.3.1

3.4.13.5.1

3.4.2

3.4.3

3.5.2 3.6

3.3.2

(4-5-8) (1-2-4)

(0)

(2-3-4)(1-1-2)

(1-2-2) (1-1-1)(1-3-5)

(4-6-8)

(1-2-5)

3.2.1

(1-2-3)

(1-2-4)

(5-6-8)

m.n = activities; n = milestones; (a-m-b) = activity duration estimates

Page 45: Lecture Slides for Managing and Leading Software Projects ...bakporay.bilkent.edu.tr/cs_413/MLSP_slides_Chapter_05.pdf · chapter 5 slide 5-2 Managing and Leading Software Projects,

chapter 5slide 5-45

Managing and Leading Software Projects,by R. Fairley, © Wiley, 2009

A Cumulative PERT Probability Distribution for a Schedule

Probability of Completion in time t ≤ Ts(probability of achieving milestone 10)

8 10 12 14 16 18Ts0

0.25

0.5

0.75

CumulativeProbability

1.0

Page 46: Lecture Slides for Managing and Leading Software Projects ...bakporay.bilkent.edu.tr/cs_413/MLSP_slides_Chapter_05.pdf · chapter 5 slide 5-2 Managing and Leading Software Projects,

chapter 5slide 5-46

Managing and Leading Software Projects,by R. Fairley, © Wiley, 2009

A WBS – Gantt Chart

WEEK

1 3 5 7 9 11 13 152 4 6 8 10 12 14 16

3.13.23.2.13.2.23.2.33.33.3.13.3.23.43.4.13.4.23.4.33.53.5.13.5.23.6

Page 47: Lecture Slides for Managing and Leading Software Projects ...bakporay.bilkent.edu.tr/cs_413/MLSP_slides_Chapter_05.pdf · chapter 5 slide 5-2 Managing and Leading Software Projects,

chapter 5slide 5-47

Managing and Leading Software Projects,by R. Fairley, © Wiley, 2009

A Gantt Chart with Slack Times

WEEK1 3 5 7 9 11 13 152 4 6 8 10 12 14 16

3.1

3.2.13.2.23.2.3

3.3.1

3.4.1

3.3.2

3.4.23.4.3

3.5.13.5.2

3.6

3.2

3.3

3.4

3.5

cross-hatched boxes indicate critical path tasksclear boxes indicate tasks with slack times

Page 48: Lecture Slides for Managing and Leading Software Projects ...bakporay.bilkent.edu.tr/cs_413/MLSP_slides_Chapter_05.pdf · chapter 5 slide 5-2 Managing and Leading Software Projects,

chapter 5slide 5-48

Managing and Leading Software Projects,by R. Fairley, © Wiley, 2009

A Linked-Task Gantt Chart with # of Personnel Needed

WEEK1 3 5 7 9 11 13 152 4 6 8 10 12 14 16

2 5 10 8 9 3 1 4 21

3.13.2.13.2.2

3.2.33.3.13.4.13.3.2

3.4.23.4.33.5.13.5.23.6

Page 49: Lecture Slides for Managing and Leading Software Projects ...bakporay.bilkent.edu.tr/cs_413/MLSP_slides_Chapter_05.pdf · chapter 5 slide 5-2 Managing and Leading Software Projects,

chapter 5slide 5-49

Managing and Leading Software Projects,by R. Fairley, © Wiley, 2009

Earliest Start Time Staffing Profile

EARLIEST STARTSTAFFING PROFILE

WEEK1 3 5 7 9 11 13 152 4 6 8 10 12 14 16

10

8

6

4

2

# of People

cross-hatched boxes indicate critical path tasksclear boxes indicate tasks with slack times

Page 50: Lecture Slides for Managing and Leading Software Projects ...bakporay.bilkent.edu.tr/cs_413/MLSP_slides_Chapter_05.pdf · chapter 5 slide 5-2 Managing and Leading Software Projects,

chapter 5slide 5-50

Managing and Leading Software Projects,by R. Fairley, © Wiley, 2009

Latest Start Time Staffing Profile

LATEST STARTPROFILE

# of People

Week

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

10

8

6

4

2

cross-hatched boxes indicate all tasks are on critical paths

Page 51: Lecture Slides for Managing and Leading Software Projects ...bakporay.bilkent.edu.tr/cs_413/MLSP_slides_Chapter_05.pdf · chapter 5 slide 5-2 Managing and Leading Software Projects,

chapter 5slide 5-51

Managing and Leading Software Projects,by R. Fairley, © Wiley, 2009

A Desirable, but Unobtainable Schedule for the Example

6

4

2

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

# of Staff

WEEK

5

The schedule/resource allocation problem in this example is caused by the large number of software developers needed in weeks 4, 5, and 6

Page 52: Lecture Slides for Managing and Leading Software Projects ...bakporay.bilkent.edu.tr/cs_413/MLSP_slides_Chapter_05.pdf · chapter 5 slide 5-2 Managing and Leading Software Projects,

chapter 5slide 5-52

Managing and Leading Software Projects,by R. Fairley, © Wiley, 2009

Achieving a Schedule – Resources Balance (1)

• Acceptable options for achieving a balance include:o extending the schedule so that fewer resources

are needed in peak weekso adding more resources to maintain the schedule o using more productive resources so that fewer

numbers are neededo descoping the requirements so that fewer

resources and less time are neededo rearranging the tasks so that fewer resources are

needed in peak weeks

combinations of these options can be used to achieve an acceptable balance

Page 53: Lecture Slides for Managing and Leading Software Projects ...bakporay.bilkent.edu.tr/cs_413/MLSP_slides_Chapter_05.pdf · chapter 5 slide 5-2 Managing and Leading Software Projects,

chapter 5slide 5-53

Managing and Leading Software Projects,by R. Fairley, © Wiley, 2009

Achieving a Schedule – Resources Balance (2)

• Unacceptable options include: o producing an unrealistic plan that has no

chance of being successfully implemented

o reducing or eliminating quality control activities such as inspections, reviews, and testing

o planning for overtime

Page 54: Lecture Slides for Managing and Leading Software Projects ...bakporay.bilkent.edu.tr/cs_413/MLSP_slides_Chapter_05.pdf · chapter 5 slide 5-2 Managing and Leading Software Projects,

chapter 5slide 5-54

Managing and Leading Software Projects,by R. Fairley, © Wiley, 2009

A Resource Gantt Chart for Joe Hotshot

WEEK1 3 5 7 9 11 13 152 4 6 8 10 12 14 16

3.13.2.13.2.2

3.2.33.3.13.4.13.3.2

3.4.23.4.33.5.13.5.23.6

Page 55: Lecture Slides for Managing and Leading Software Projects ...bakporay.bilkent.edu.tr/cs_413/MLSP_slides_Chapter_05.pdf · chapter 5 slide 5-2 Managing and Leading Software Projects,

chapter 5slide 5-55

Managing and Leading Software Projects,by R. Fairley, © Wiley, 2009

An Infeasible Staffing Profile for Scarce Resource Joe Hotshot

80

40

1 2 3 4 5 6 7 8 9 10 11 12

# Work-hours per week

Week

3.1

3.2.1 3.2.2

3.3.1

120

3.3.13.4.13.4.2

3.3.1 3.3.2

3.3.2

Page 56: Lecture Slides for Managing and Leading Software Projects ...bakporay.bilkent.edu.tr/cs_413/MLSP_slides_Chapter_05.pdf · chapter 5 slide 5-2 Managing and Leading Software Projects,

chapter 5slide 5-56

Managing and Leading Software Projects,by R. Fairley, © Wiley, 2009

A WBS Task List with Calculated Effort Task # Description Predecessors Duration #Staff Effort

2.1 Receive approval to proceed -- -- --3.1 Analyze requirements 2.1 1 2 23.2 Design

3.2.1 Redesign existing components 3.1 6 4 243.2.2 Design new components 3.1 3 1 33.2.3 Design interfaces 3.2.2 1 2 2

3.3 Implement code3.3.1 Implement new code 3.2.2 6 2 123.3.2 Modify existing code 3.2.1, 3.2.3 5 1 5

3.4 Finish implementation3.4.1 Develop integration plan 3.2.2 2 2 43.4.2 Finish unit testing 3.3.1, 3.3.2 2 2 43.4.3 Update documentation 3.3.1, 3.3.2 2 3 6

3.5 Integrate and test3.5.1 Develop integration tests 3.4.1 1 3 33.5.2 Perform integration tests 3.4.2&3, 3.5.1 1 2 2

3.6 Perform acceptance tests 3.5.2 1 1 1

Effort: Σ(Duration x #Staff) = 68 staff-weeks

Page 57: Lecture Slides for Managing and Leading Software Projects ...bakporay.bilkent.edu.tr/cs_413/MLSP_slides_Chapter_05.pdf · chapter 5 slide 5-2 Managing and Leading Software Projects,

chapter 5slide 5-57

Managing and Leading Software Projects,by R. Fairley, © Wiley, 2009

Estimating Effort, Cost, and Schedule

• If loaded salary per staff-week is X and the 68 staff-weeks represent 50% of project cost, the estimated cost is 2*X*68 o If, for example, loaded salaries* are $2500 US per week, the

cost of the project is estimated to be $340,000 US o The critical path approach indicates that the project will

require 16 weeks or more• perhaps more to account for scheduling constraints of

scarce resources o The PERT example indicates that the project can be

completed in 15 weeks or less at 85% probability, subject to resource availability constraints

• Additional techniques for estimating effort, schedule, resources, and cost are presented in Chapter 6

* loaded salaries: the cost of employees for the organization

Page 58: Lecture Slides for Managing and Leading Software Projects ...bakporay.bilkent.edu.tr/cs_413/MLSP_slides_Chapter_05.pdf · chapter 5 slide 5-2 Managing and Leading Software Projects,

chapter 5slide 5-58

Managing and Leading Software Projects,by R. Fairley, © Wiley, 2009

The Main Points of Chapter 5 (1)• Project plans must be consistent with product requirements; you cannot

prepare a plan for developing a software product if you don’t know what product to make

• The more you understand about the product to be made, the more confident you will be in the details of your plan

• A project plan must be updated periodically and as events dictate using a rolling wave approach

• Your initial plan and subsequent plans must maintain a balance among requirements, schedule, budget, and resource availability

• Essential elements of a project plan include a WBS, an activity network, resource profiles for the various kinds or resources, and strategies for dealing with identified risk factors

• The Work Breakdown Structure (WBS) is a fundamental tool for planning, tracking, and controlling a software project

• The Architecture Decomposition View (ADV) of the software architecture provides the basis for developing a WBS

Page 59: Lecture Slides for Managing and Leading Software Projects ...bakporay.bilkent.edu.tr/cs_413/MLSP_slides_Chapter_05.pdf · chapter 5 slide 5-2 Managing and Leading Software Projects,

chapter 5slide 5-59

Managing and Leading Software Projects,by R. Fairley, © Wiley, 2009

The Main Points of Chapter 5 (2)• The ADV is product-oriented; nouns are used to specify things• The WBS is process-oriented; verb phrases are used to specify activities

and tasks• Using the 15 guidelines for designing a WBS will ensure that the WBS

is designed with the same care that is used to design the product• Your initial WBS should be decomposed to satisfy the WBS

decomposition criteria • Work packages are the specifications for tasks and activities in the WBS• Work packages for activities are aggregations of work packages for

subordinate tasks and activities• The schedule network, resource requirements, cost estimates, and risk

factors can be derived from work packages• The Critical Path Method (CPM) can be used to determine the

minimum estimated duration of a project and the slack times associated with non-critical tasks

Page 60: Lecture Slides for Managing and Leading Software Projects ...bakporay.bilkent.edu.tr/cs_413/MLSP_slides_Chapter_05.pdf · chapter 5 slide 5-2 Managing and Leading Software Projects,

chapter 5slide 5-60

Managing and Leading Software Projects,by R. Fairley, © Wiley, 2009

The Main Points of Chapter 5 (3)

• The Program Evaluation and Review Technique (PERT) can be used to determine the times, at various levels of probability, required to reach project milestones, including the final milestone

• A task Gantt chart can be used to depict the critical path, illustrate slack times for non-critical tasks, and determine resource profiles for the various kinds of resources

• A resource Gantt chart can be used to illustrate the resource loading for various resources

• Resource profiles can be used to calculate effort and the costs of the various resources; project schedule can be determined from the critical path or from PERT calculations

• SEI, ISO, IEEE, and PMI provide frameworks, standards, and guidelines for project planning techniques o see Appendix 5A to Chapter 5

Page 61: Lecture Slides for Managing and Leading Software Projects ...bakporay.bilkent.edu.tr/cs_413/MLSP_slides_Chapter_05.pdf · chapter 5 slide 5-2 Managing and Leading Software Projects,

chapter 5slide 5-61

Managing and Leading Software Projects,by R. Fairley, © Wiley, 2009

The Main Points of Chapter 5 (4)

• Acceptable options for reconciling schedule/resource conflicts include:o reconfiguring the schedule networko extending the schedule so that fewer resources are

needed in peak weekso adding more resources to maintain the schedule o using more productive resources so that fewer numbers

are neededo descoping the requirements so that fewer resources and

less time are needed o combinations of the above

Page 62: Lecture Slides for Managing and Leading Software Projects ...bakporay.bilkent.edu.tr/cs_413/MLSP_slides_Chapter_05.pdf · chapter 5 slide 5-2 Managing and Leading Software Projects,

chapter 5slide 5-62

Managing and Leading Software Projects,by R. Fairley, © Wiley, 2009

The Main Points of Chapter 5 (5)

• Unacceptable options for reconciling schedule/resource conflicts include:o producing an unrealistic plan that has no chance of

being successfully implementedo planning for overtime o reducing or eliminating quality control factors such

as inspections, reviews, and testing