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.
- 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
- Pick either
- Change Counter
- Program Analyzer
- Go through 1 cycle
- Plan for all cycles
13TSPi Teams
- Five People
- Defined Roles (Read 384-393)
- Team Leader
- Development Manager
- Planning Manager
- Quality/Process Manager
- Support Manager
- Project Bid Table 3.3
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
15TSP 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
16Development Strategy
- Plan the flight, fly the plan.
- Gain common understanding of work
- Basis for tracking work
- Non-artificial project date
17Script STRAT1
- Conceptual Design
- How will I build this product?
- What are principle components?
- What functions do components provide?
- How big are components?
- This is a planning designnot THE design!!
18Cycle Planning (418 Strat Form)
Cycle LOC
Cycle Hours
19Risk 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)
20Change 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
21Development (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
22Development 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
23Excel Form
24Excel TASK Form
25Excel Form SCHEDULE
26Excel SUMQ
27Excel Time Log LOGT
28Excel Defect Log LOGD
29Load Balancing
- Use whole team
- Produce Plans first
- Next produce work matrix
- Balance work using matrix
30Load Balancing Matrix
31Homework 3 Details
- Teams work to plan entire project
- Work on cycle 1
- Try to do some amount of coding
- SRS Addendum to Needs Statement
- Design Templates or UML or ???
- Code Try to deliver some code, so you can do
the implementation/test scripts - You have 3 weeks.
- May use excel tool, or do manually with forms.
- Turn in all artifacts except source code itself.