Title: Team Software Process TSPi
1Team Software Process (TSPi)
2TSP Strategy
- Provide a simple process framework based on the
PSP. - Use modest, well-defined problems (For pilot
projects). - Develop products in several cycles.
- Establish standard measures for quality and
performance. - Provide detailed role definitions.
- Use role and team evaluations.
- Require process discipline.
- Provide guidance on teamwork problems.
3TSP Process
Cycle 1 Launch
Strategy 1 Plan 1 Requirements 1 Design
1 Implementation 1 Test 1 Postmortem 1
Cycle 2 Launch
Strategy 2 Plan 2 Requirements 2 Design
2 Implementation 2 Test 2 Postmortem 2
Cycle 3 Launch
Strategy 3 Plan 3 Requirements 3 Design
3 Implementation 3 Test 3 Postmortem 3
4Life Cycle Phases
- Launch
- Strategy
- Plan
- Requirements
- Design
- Implement
- Test
- Postmortem
- Appendix D - Script DEV (p. 363)
5Cycle Descriptions
- Launch
- review course objectives
- describe the TSPi structure and content
- assign student teams and roles
- describe the customer needs statement
- establish team and individual goals
- Strategy
- create a conceptual design for the product
- establish the development strategy decide what
will be produced in each cycle - make initial size and effort estimates
- establish a configuration management plan
- Reuse plan
- Risk Management
6Cycle Descriptions (Contd)
- Planning
- estimate the size of each artifact to be
developed (SRS, SDS, code) - identify tasks to be performed estimate time to
complete each task assign tasks to team members - make a weekly schedule for task completion
- make a quality plan
- Requirements
- analyze need statement and interview customer
- specify the requirements
- inspect the requirements
- develop a system test plan
7Cycle Phases
- Design
- create a high-level design
- specify the design
- inspect the design
- develop an integration test plan
- Implementation
- use the PSP to implement modules/units
- create detailed design of modules/units
- review the design
- translate the design to code
- review the code
- compile and test the modules/units
- analyze the quality of the modules/units
8Cycle Phases
- Test
- build and integrate the system
- conduct a system test
- produce user documentation
- Postmortem
- conduct a postmortem analysis
- write a cycle report
- produce peer and team evaluations
9Motivation (Teamwork)
The success or failure of a project is seldom due
to technical issues. You almost never find
yourself asking has the state of the art
advanced far enough so that this program can be
written? Of course it has. If the project goes
down the tubes, it will be non-technical, human
interaction problems that do it in. The team
will fail to bind, or the developers will fail to
gain rapport with the users, or people will fight
interminably over meaningless methodological
issues. -- Tom DeMarco
10Common Team Problems
- Ineffective Leadership
- Failure to compromise/cooperate
- Lack of participation
- Procrastination
- Poor Quality
- Function Creep
- Ineffective peer evaluation
11Teams An aside from the text
- Motivation
- How to get best from people.
- Study of quality goals vs. final product
- Teamwork
- How to get best from team.
- Team Structure
- Organization Matters
12Team Project
- Work on back-end classes or hook together gui
screens for course support tool.
13TSPi Teams
- Normally Five People with Defined Roles (Read
384-393) - Team Leader
- Development Manager
- Planning Manager
- Quality/Process Manager
- Support Manager
14LAUNCH!!! Script LAU1
- First Team Meeting
- Use Meeting Script
- Meeting Goal
- Gather and analyze team data on project
- Update Personal Task/Schedules prior to meeting
- Produce Weekly Report
- Start Project Notebook
15Goal Setting
- Goals give a lofty higher level view of what
the team wants to accomplish. - These are further specified by 1 or more measures
that give objective measures. Basically, How do
we know we have met goal?
16Example Goals
- 1. Produce a quality product.
- 1.1 Percent defects found before compile 80
- 1.2 Number of defects found in system test 0
- 1.3 Requirements met at project completion 100
- Run a productive, well-managed project
- 2.1 Error in estimated product size lt20
- 2.2 Error in estimated develop hours lt20
- 2.3 Percent of accurate data in project
notebook 100
17TSP Planning Overview STRAT
Produce Quality Plan
Develop the Strategy
Make Size Estimates
Produce Team Plan
STRAT
SUMS
SUMQ
TASK
Produce Conceptual Design
SCHEDULE
Make Team Member Plans
Produce Final Team Plan
Make Personal Plans
Balance Team Workload
SUMP
SUMQ
SUMS
TASK
TASK
TASK
SCHEDULE
SCHEDULE
SCHEDULE
18Development Strategy
- Plan the flight, fly the plan.
- Gain common understanding of work
- Basis for tracking work
- Non-artificial project date
19Script STRAT1
- Conceptual Design
- How will I build this product?
- What are principle components?
- What functions do components provide?
- How big are components?
- Reusable Parts?
- This is a planning designnot THE design!!
20Strategy Criteria
- What will govern how be break apart the project?
- Examples
- Cycle 1 product provides a minimum function
working prototype of final product - Cycle 1 product provides a base that can be
easily extended. - Cycle products have automated unit tests
21Cycle Planning (418 Strat Form)
Cycle LOC
Cycle Hours
Requirements or Use Case Reference For
Traceability
Effort Size Estimate by Iteration
Code Size Estimate by Iteration
Functionality Listing
22Risk Assessment
- ID significant risks
- Rate High , Medium, Low according to
- Likelihood of occurrence
- Impact on project
- Team members track all risks not LL
- Risks entered on form ITL (page 405)
23Change Management
- Copies of each version of product
- Record of all changes made
- Who made change
- When change was made
- What change was
- Why change made
24Development (This cycle)
Make Size Estimates
Produce Quality Plan
Develop the Strategy
Produce Team Plan
STRAT
SUMS
SUMQ
TASK
Produce Conceptual Design
SCHEDULE
Make Team Member Plans
Produce Final Team Plan
Make Personal Plans
Balance Team Workload
SUMP
SUMQ
SUMS
TASK
TASK
TASK
SCHEDULE
SCHEDULE
SCHEDULE
25Development Script (PLAN Script)
- SUMS (Page 433)
- Include not just code, but all work products
- TASK (Page 438)
- From individual PROBE estimates
- 10 Hour Individual Threshold
- SCHEDULE (Page 417)
- Map from TASK forms
- Use Estimate of Weekly Hours for Team
- Quality Plan (Page 426-429)
- SUMP, SUMQ
26Excel Form
27Excel TASK Form
28Excel Form SCHEDULE
29Excel SUMQ
30Excel Time Log LOGT
31Excel Defect Log LOGD
32Load Balancing
- Use whole team
- Produce Plans first
- Next produce work matrix
- Balance work using matrix
33Load Balancing Matrix
34Homework 3 Details
- Teams work to plan entire project
- Work on cycle 1
- For requirements, use use cases
- Design UML
- You have 3 weeks.
- Use excel tool or hard copy team notebook.
- Turn in all artifacts as team (spreadsheet)
- Turn in analysis of TSP as individual