Sponsored by the U.S. Department of Defense © 2002 by Carnegie Mellon University July 2002 PSP-TSPi...
-
Upload
amber-hutchinson -
Category
Documents
-
view
215 -
download
0
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.