# Presentation: 210385

## Launching TSP & PSP in the Economic Directorate

- David Hiller & Deb Tasky
- Economic Statistical Methods
-     &  Programming Division

## Introduction

- An Introduction to the Team Software Process and Personal Software Process  (David Hiller)
- TSP/ PSP in the Economic Directorate   (Deb Tasky)

## Team Software Process

- The Team Software Process is designed to allow self-directed teams to commit to a schedule of their own creation.
- Members of the team are trained in the Personal Software Process so they can track their time and defects.
- Defects are found and fixed throughout the process in order to create a quality product.
- The Team is guided by a Team Leader and a Coach.
- TSP gives an organization the data that it needs in order to evaluate improvements in its process.

## TSP and Management

- Management provides goals and requirements to the team.
- The team creates a detailed plan based on those goals and requirements for management approval.  Alternate plans are created if needed.
- Tasks are planned in detailed parts of 10 hours or less for the first three months and more broadly after that.
- The schedule should be accurate to within a week when tracking progress.
- The team creates a new detailed plan every three or four months.  Management is informed if the original broad schedule can not be met, and if so must approve the new plan.

## TSP and the Team Leader

- The Team Leader should focus on managing the project, not on creating deliverables.
- The Team Leader does not have to take the programmer version of PSP.
- The team is self-directed.  All members participate and make team decisions.
- Each member of the team has a role in order to share responsibility and reduce the management burden on the Team Leader.
- The Team Leader does not assign work or make schedules – the whole team does.

## TSP and the Team Member

- Each Team Member will have a personal detailed schedule of tasks.
- Each Team Member will need to estimate the size and effort for each task.
- Each Team Member will have to record the time spent on each task and record each defect found.
- Time is the actual time spent on a task, not wall time.  Normally a Team Member will only be able to spend about 15 hours of actual time per week on a project.
- Each Team Member will have to report in a weekly meeting their status, the state of their role and the state of the risks they were asked to track.

## Personal Software Process

- The Personal Software Process is designed to give a software engineer many of the same skills that an organization employs using the Capability Maturity Model.
- PSP requires a software engineer to use metrics, reviews and inspections.
- A software engineer creates their own personal process.  This process is constantly being improved in response to the size, time and defect data being recorded.

## PSP and Quality

- PSP Improves quality by checking for defects at many stages in the software life cycle.
- Some possible quality steps are the Requirements Review/Inspection, High Level Design Review/Inspection, Detail Design Review/Inspection, Code Review/Inspection, Unit Test, Integration Test, System Test and Acceptance Test.
- Not every step needs to be followed but the more that are included the more opportunities there are to find and fix defects.
- Defects found before testing begins take less time to fix.  Fewer defects in Unit Tests will result in a shorter Integration Tests, System Test and Acceptance Test.

## PSP and Design

- PSP advocates creating design documents for each level of abstraction, for example the System, Subsystems, Programs and Modules.
- The initial input is the User Requirements.
- From the User Requirements a black box or ‘What’ document is created for the system which includes operational scenarios and functional specifications.
- From the ‘What’ document a white box or ‘How’ document is created for the system which includes logic specifications and state machine specifications.
- The ‘How’ and ‘What’ specifications are created for each component of each level of abstraction.
- Design reviews can include design verification.

## PROBE

- Proxy Based Estimating (PROBE) is used by the software engineer to estimate the size and effort needed to create a module.
- A module is divided into objects or subroutines.
- A type and size is determined for each object.
- Based on historical data for an organization the number of lines of code is determined for each object.
- Based on the personal historical data of the software engineer the number of lines of code is adjusted for the whole module and an estimate is made of the effort.
- The effort is divided based on historical data into a time estimate for each phase of the process.

## Why use TSP and PSP?

- TSP and PSP can provide accurate schedules.
- TSP allows an organization to manage their process while leaving the details of the work to the teams.
- PSP helps create modules that are virtually defect free after Unit Test, allowing for a very short period of time for subsequent tests.
- PSP and TSP train individuals in the principals of the Capability Maturity Model though level 5.

## TSP/PSP in the Econ Directorate

- How it began
- Training
- Pilot projects
- Launches
- Reactions

## It all started...

- Last SEPG and Watts Humphrey talk
- SEI seminar with managers
- Contract

## Training

- Team Software Process Executive Strategy Seminar
- Managing TSP Teams
- PSP I and II for Engineers
- Introduction to Personal Process
- PSP Instructor Training
- TSP Launch Coach Training

## TSP Executive Strategy Seminar

- 1 1⁄2 days
- Book:  Winning With Software:  An Executive Strategy
- August, 2003
- Tom, DCs, ADCs, some BCs
- Began deciding pilot projects

## Managing TSP Teams

- 3 days   (first day like executive class)
- Books:  Winning With Software:  An Executive Strategy,  A Discipline for Software Engineering
- Sent many to day 1
- Sent team leaders and managers of team members

## PSP I and II for Engineers

- Each, 5 days, homework in between
- Book:  A Discipline for Software Engineering
- For Software Engineers
- Laptops, calculators, printers
- 10 programs, learn tool to record time and errors, process for design and review

## Introduction to Personal Process

- 2 days
- Books:  Introduction to the Personal Software Process,  Introduction to the Team Software Process
- For non-software engineers on the team
- Learned to record errors, track time

## To be a coach...

-  PSP Instructor Training
-     5 days, prerequisite PSP I and II
-  TSP Launch Coach Training
-      5 days, prerequisite PSP I and II

## Pilots

- QFR migration to StEPS
- BSR06 Reporting Unit  (RU) Creation

## Launch

- Meeting 1-  team meets with managers to hear what is expected and to be able to ask questions
- Meetings 2-8-  team is offsite for approx 4 days and develops overall schedule and detailed scheduled for next 3 months
- Meeting 9- team presents plans and alternatives to management and seeks approval to move forward

## Training/ Launch logistics	

- Rooms
- Speakers and materials
- Pre-launch tool training
- Laptops, printer
- Pre-reading
- Setting up roster, sending out notes, reminders
- Adjusting to changes

## QFR Launch

- Coach wanted only programmers and processing staff
- Been meeting for over 9 months, had many requirements
- Team presentation met management goals
- Relaunch April 13-15

## BSR06 RU Launch

- Subgroup from huge BSR06 project
- Team comprised of programmers, analysts and processing staff
- Meeting 1 introduced new requirements
- Team asked for clarification on day 2
- Team came back with alternatives to make the date, not all functionality would be provided

## Reactions/ Lessons Learned

- Mixed reactions to the PSP training, intensive, problems not best suited for all programming languages and took away from basic skills to be learned
- Launch very positive, teams ‘gelled’, concentrated time very productive
- Not all of the process covered in training, but still what pick up is beneficial
- Team has good feel of where they are on a project

## Other

- Very early in process
- Additional training now underway
- 2 additional pilots chosen
- Training 2 coaches