Sponsored by the U.S. Department of Defense © 2002 by Carnegie Mellon University July 2002 PSP-TSPi...

31
Sponsored by the U.S. Department of Defense © 2002 by Carnegie Mellon University July 2002 PSP-TSPi Faculty Workshop Pittsburgh, PA 15213-3890 Lecture 5: Cyclic Development

Transcript of Sponsored by the U.S. Department of Defense © 2002 by Carnegie Mellon University July 2002 PSP-TSPi...

Sponsored by the U.S. Department of Defense© 2002 by Carnegie Mellon University

July 2002 PSP-TSPi Faculty Workshop

Pittsburgh, PA 15213-3890

Lecture 5: Cyclic Development

© 2002 by Carnegie Mellon University July, 2002 Lecture 5: Cyclic Development - page 2

Lecture Overview

TSPi Cycle structure

Phase process structure

Project schedule

© 2002 by Carnegie Mellon University July, 2002 Lecture 5: Cyclic Development - page 3

TSPi Cycle Structure

Each cycle consists of eight phases and their associated processes.

Phase Process ScriptTeam launch LAUDevelopment strategy STRATDevelopment plan PLANRequirements Specification REQHigh level design DESProduct implementation IMPIntegration and system testing TESTPostmortem PM

© 2002 by Carnegie Mellon University July, 2002 Lecture 5: Cyclic Development - page 4

Process Structure

Each cycle phase has a process script.

The process script describes• entry criteria• interaction of the instructor and the team• responsibilities of team managers and members• products for the phase• exit criteria

A process begins with an introduction by the instructor• description of the process• products of the process• explanation of new concepts to be applied in the process

The team follows the rest of the process.

© 2002 by Carnegie Mellon University July, 2002 Lecture 5: Cyclic Development - page 5

Script Versions

Some activities of a phase are unique in the first cycle, e.g., the instructor only describes the product during the launch of the first cycle.

For each phase there are two versions of the associated process script, e.g., LAU1 and LAUn.

The “1” script is used during the first cycle, and the “n” script is used during subsequent cycles.

© 2002 by Carnegie Mellon University July, 2002 Lecture 5: Cyclic Development - page 6

Postmortem Test

Postmortem

Project Schedule (15 week semester)

PSP ReviewLaunch

StrategyPlanning Requirements Design Implement Test

LaunchStrategyPlanning

Requirements

Design

Implement

Test

Postmortem

LaunchStrategyPlanning

Requirements

Design

Implement

Test

1 2 3 4 5 6 7

8

98 10

11

11 12 13 14 15

Cycle 1

Cycle 3

Cycle 2

98

1 2 3 4 5 6 7

8

© 2002 by Carnegie Mellon University July, 2002 Lecture 5: Cyclic Development - page 7

Weeks 1 and 2

Phase

Principal Team Activities

Launch Set goals the project (LAU1)

Conduct the first team meeting

Produce a development

Produce size and time estimates

strategy (STRAT1)

Produce the configuration management plan

© 2002 by Carnegie Mellon University July, 2002 Lecture 5: Cyclic Development - page 8

Launch Process Activities: Session 1

InstructorInstructor

• Describe objectives of Describe objectives of the coursethe course

• Request student Request student information and information and describe how it will be describe how it will be used to make team and used to make team and role assignmentsrole assignments

• Describe the product Describe the product objectivesobjectives

© 2002 by Carnegie Mellon University July, 2002 Lecture 5: Cyclic Development - page 9

Launch Process Activities: Session 2

InstructorInstructor

• Assign teams and Assign teams and rolesroles

• Motivate goal Motivate goal settingsetting

• Describe weekly Describe weekly meeting formatmeeting format

Team LeaderTeam Leader

• Discuss individual goalsDiscuss individual goals

• Discuss team goalsDiscuss team goals

• Establish weekly meeting Establish weekly meeting timestimes

• Establish process for Establish process for getting data to Planning getting data to Planning ManagerManager

Planning ManagerPlanning Manager

• Review data required for Review data required for weekly status reportsweekly status reports

© 2002 by Carnegie Mellon University July, 2002 Lecture 5: Cyclic Development - page 10

Strategy Process ActivitiesInstructorInstructor

• Describe Describe development development strategystrategy

• Explain how to Explain how to produce size produce size and time and time estimatesestimates

Development ManagerDevelopment Manager

• Discuss strategy criteriaDiscuss strategy criteria

• Select a development Select a development strategystrategy

• Produce preliminary size Produce preliminary size and time estimates for and time estimates for the entire projectthe entire project

• Conduct risk assessmentConduct risk assessment

Support ManagerSupport Manager

• Produce a configuration Produce a configuration management planmanagement plan

© 2002 by Carnegie Mellon University July, 2002 Lecture 5: Cyclic Development - page 11

Launch and Strategy Phase Products

At the end of the launch and development strategy phases for cycle 1 the team has• been formed• agreed upon its goals• set weekly meeting and reporting times• documented a development strategy• defined a configuration management process• created and updated the project notebook

© 2002 by Carnegie Mellon University July, 2002 Lecture 5: Cyclic Development - page 12

Week 3

Phase Principal Team Activities

Produce Make the size estimate

the Produce the task plan

development Produce the schedule plan

Plan (PLAN1) Produce the quality plan

Produce engineers’ personal plans

Balance the team workload

© 2002 by Carnegie Mellon University July, 2002 Lecture 5: Cyclic Development - page 13

Planning Process Activities

InstructorInstructor

• Describe the Describe the planning processplanning process

• Explain task and Explain task and schedule plans and schedule plans and how to produce how to produce task and schedule task and schedule plansplans

• Explain the quality Explain the quality plan and how to plan and how to produce itproduce it

Planning ManagerPlanning Manager

• Produce the Task PlanProduce the Task Plan

• Produce the Schedule PlanProduce the Schedule Plan

Quality/Process ManagerQuality/Process Manager

• Produce the Quality PlanProduce the Quality Plan

Planning ManagerPlanning Manager

• Produce engineers’ Produce engineers’ personal planspersonal plans

• Balance the team workloadBalance the team workload

© 2002 by Carnegie Mellon University July, 2002 Lecture 5: Cyclic Development - page 14

Planning Phase Products

At the end of the planning phase for cycle 1 the team has• defined all team member tasks and schedules for cycle 1• completed a project plan summary for cycle 1• estimated sizes of all components for the project• defined a quality plan for the project• updated the project notebook

© 2002 by Carnegie Mellon University July, 2002 Lecture 5: Cyclic Development - page 15

Week 4

Phase Principal Team Activities

Define the requirements

Produce the Software Requirements Specification (SRS)

(REQ1) Inspect the SRS

Produce the system test plan

Inspect the system test plan

Get instructor approval of SRS

© 2002 by Carnegie Mellon University July, 2002 Lecture 5: Cyclic Development - page 16

Requirements Specification Process Activities 1

InstructorInstructor

• Describe the Describe the requirements requirements processprocess

• Explain how Explain how the SRS will the SRS will be reviewed be reviewed and reportedand reported

Development Development ManagerManager

• Review the Review the need need statementstatement

• Formulate Formulate questions questions for the for the instructorinstructor

InstructorInstructor

• Discuss Discuss needs needs questions questions with the with the teamteam

© 2002 by Carnegie Mellon University July, 2002 Lecture 5: Cyclic Development - page 17

Requirements Specification Process Activities 2

Development ManagerDevelopment Manager

• Outline the SRS and assign team Outline the SRS and assign team members to write parts of itmembers to write parts of it

• Produce the SRS draftProduce the SRS draft

• Lead team in producing and reviewing Lead team in producing and reviewing the System Test Planthe System Test Plan

Quality/Process ManagerQuality/Process Manager

• Inspect drafts of the SRS and the Inspect drafts of the SRS and the System Test PlanSystem Test Plan

Development ManagerDevelopment Manager

• Complete the SRSComplete the SRS

• Give SRS to the instructorGive SRS to the instructor

InstructorInstructor

• Approve the Approve the SRSSRS

Support ManagerSupport Manager

• Place the SRS Place the SRS under under configuration configuration controlcontrol

© 2002 by Carnegie Mellon University July, 2002 Lecture 5: Cyclic Development - page 18

Requirements Specification Phase ProductsAt the end of the requirements specification phase for cycle 1 the team has• a completed and inspected SRS and system test plan

under configuration control• updated the project notebook

© 2002 by Carnegie Mellon University July, 2002 Lecture 5: Cyclic Development - page 19

Week 5

Phase Principal Team Activities

High-level Produce the high level design Design (DES1)

Produce the Software Design Specification (SDS)

Inspect the SDS

Produce and review Integration Test Plan

© 2002 by Carnegie Mellon University July, 2002 Lecture 5: Cyclic Development - page 20

Design Process ActivitiesInstructorInstructor

• Describe the Describe the design processdesign process

• Show a sample Show a sample SDSSDS

• Explain how the Explain how the SDS will be SDS will be inspected and inspected and reportedreported

Development ManagerDevelopment Manager• Define products for the cycleDefine products for the cycle• Assign design tasks to team membersAssign design tasks to team members

Quality/Process ManagerQuality/Process Manager• Lead the team in defining design Lead the team in defining design

standardsstandards

Development ManagerDevelopment Manager• Allocate SDS tasks among team membersAllocate SDS tasks among team members• Produce the SDS draftProduce the SDS draft• Produce the integration test planProduce the integration test plan

Quality/Process ManagerQuality/Process Manager• Inspect the SDS draftInspect the SDS draft

Development ManagerDevelopment Manager• Produce final SDSProduce final SDS

Support ManagerSupport Manager• Place SDS under configuration controlPlace SDS under configuration control

© 2002 by Carnegie Mellon University July, 2002 Lecture 5: Cyclic Development - page 21

Design Phase Products

At the end of the design phase for cycle 1 the team has• completed, inspected, and corrected the SDS• completed, inspected, and corrected the integration test

plan• completed forms for all inspections• updated the project notebook

© 2002 by Carnegie Mellon University July, 2002 Lecture 5: Cyclic Development - page 22

Week 6

Phase Principal Team Activities

Product implementation

Produce detailed level design (DLD)

(IMP1) Produce unit test plan

Inspect the DLD Produce code Conduct code review Compile until no compile defects Conduct unit tests

© 2002 by Carnegie Mellon University July, 2002 Lecture 5: Cyclic Development - page 23

Implementation Process Activities

InstructorInstructor

• Describe the Describe the implementa-implementa-tion processtion process

• Emphasize Emphasize concern for concern for qualityquality

• Explain how Explain how to handle to handle poor quality poor quality componentscomponents

Team LeaderTeam Leader

• Define and allocate tasks among team members.Define and allocate tasks among team members.

Team MembersTeam Members• Develop detailed designsDevelop detailed designs• Conduct design reviews.Conduct design reviews.• Develop unit test cases and procedures for unit Develop unit test cases and procedures for unit

teststests• Produce source codeProduce source code• Remove compile defectsRemove compile defects

Quality/Process ManagerQuality/Process Manager• Lead team inspection of componentsLead team inspection of components

Team MembersTeam Members• Conduct unit testsConduct unit tests

Quality/Process ManagerQuality/Process Manager• Determine whether a component satisfies quality Determine whether a component satisfies quality

standards and what to do about it if it doesn’tstandards and what to do about it if it doesn’t

• Support ManagerSupport Manager• Enter components that satisfy quality criteria Enter components that satisfy quality criteria

into the configuration management systeminto the configuration management system

© 2002 by Carnegie Mellon University July, 2002 Lecture 5: Cyclic Development - page 24

Implementation Phase Products

At the end of the implementation phase for cycle 1 the team has• completed, reviewed, and inspected all cycle 1

components• entered each component into the configuration

management system• completed forms for all inspections• updated the project plan summary and quality plan

summary• updated the project notebook

© 2002 by Carnegie Mellon University July, 2002 Lecture 5: Cyclic Development - page 25

Week 7

Phase Principal Team Activities

Integration Build the product and system Conduct integration tests Testing (TEST1)

Conduct system tests

© 2002 by Carnegie Mellon University July, 2002 Lecture 5: Cyclic Development - page 26

Testing Process Activities

InstructorInstructor

• Describe the Describe the integration and test integration and test processprocess

• Emphasize the need Emphasize the need for high quality for high quality components prior components prior to integration to integration testingtesting

• Explain how to Explain how to handle components handle components that don’t meet that don’t meet quality criteriaquality criteria

Development ManagerDevelopment Manager• Lead test developmentLead test development• Define build processesDefine build processes• Develop integration test Develop integration test

procedures and toolsprocedures and tools• Develop system test Develop system test

procedures and toolsprocedures and tools

Team MembersTeam Members• Build the productBuild the product

Development ManagerDevelopment Manager• Lead integration tasksLead integration tasks• Lead system test tasksLead system test tasks• Lead the team in producing Lead the team in producing

user documentationuser documentation

© 2002 by Carnegie Mellon University July, 2002 Lecture 5: Cyclic Development - page 27

Testing Phase Products

At the end of the testing phase for cycle 1 the team has• completed, integrated, and system tested the cycle 1

components• recorded data in the testing log• updated the project plan summary and quality plan

summary• updated the project notebook

© 2002 by Carnegie Mellon University July, 2002 Lecture 5: Cyclic Development - page 28

Week 8Phase Principal Team Activities

Postmortem Review process data

Evaluate role performance

Prepare Cycle 1 report

Prepare role evaluations

Launch 2nd cycle (uses LAUn)

Strategy for 2nd cycle (uses STRATn)

Plan 2nd cycle (uses PLANn)

© 2002 by Carnegie Mellon University July, 2002 Lecture 5: Cyclic Development - page 29

Postmortem Process ActivitiesInstructorInstructor

• Describe the Describe the process.process.

• Emphasize the need Emphasize the need for good datafor good data

• Explain the Explain the contents of the contents of the cycle reportcycle report

• Explain how Explain how performance will be performance will be evaluatedevaluated

Quality/Process ManagerQuality/Process Manager• Lead team in analyzing team Lead team in analyzing team

data.data.• Prepare PIPsPrepare PIPs

Team LeaderTeam Leader• Lead team in evaluating role Lead team in evaluating role

performanceperformance• Assign tasks for cycle Assign tasks for cycle

report.report.• Assemble, review, and Assemble, review, and

correct the final cycle reportcorrect the final cycle report

Team MembersTeam Members• Evaluate role performance Evaluate role performance

of peers and rolesof peers and roles

© 2002 by Carnegie Mellon University July, 2002 Lecture 5: Cyclic Development - page 30

Postmortem Phase Products

At the end of the postmortem phase for cycle 1 the team has• produced a well documented high quality product• placed the product under configuration control• evaluated process data and prepared PIPs where

appropriate• evaluated roles, both personal and of other team

members• completed all TSPi forms• completed the project notebook for cycle 1

© 2002 by Carnegie Mellon University July, 2002 Lecture 5: Cyclic Development - page 31

Lecture Summary

Effective planning is a critical element in the success of a software project. The TSPi has a well defined structure.• TSPi has three cycles; each cycle has eight phases

and an associated process.• The process script for each phase defines the activities

for each role and the products to be produced.