NEWS AT SEI
This article was originally published in News at SEI on: March 1, 2000
Effective teamwork is essential for most software projects. SEI Fellow Watts Humphrey notes that "the scale of modern systems is such, and the demand for short schedules so great, that there is simply not time for one person to do the entire job. Software development is thus a team activity, and the effectiveness of this teamwork largely determines the quality of the engineer's work."
The Team Software Process (TSP) builds on the foundation of the Capability Maturity Model (CMM) and the discipline of the Personal Software Process (PSP) to help organizations form and manage high performance teams. The CMM defines five levels of process maturity that organizations use as a basis for appraisal and improvement. The PSP provides guidance on how individual engineers can continually improve their performance. The TSP helps PSP-trained engineers work as effective team members as part of a high performance team. Optimum team performance is obtained by enlisting all team members in the project, engaging them in project planning and quality management, and motivating team members to perform to the best of their ability.
Previously, we reported on the results of a TSP pilot project at Hill Air Force Base, a CMM level 5 organization. The product that the project produced, consisting of more than 25,000 lines of code, was delivered a month ahead of schedule and at almost exactly the planned cost. During system and operational tests, the development team found only one high-priority defect and reduced testing time from 22% to 2.7% of the project schedule. Since then, four organizations have presented data at SEI conferences and have shown similar results.
Each organization reported on effort estimation error, schedule deviation, defects found in system test, defects found in the field, and time to system test 1000 lines of code. Jim Over of the SEI says, "after the introduction of TSP, there was a graphic difference. The performance of the worst case organization using TSP was as good as the best case performance before; and the range is a lot tighter." The four organizations represent four different CMM levels: 1, 2, 3, and 5. "It's clear," says Over, "that the performance of these teams using TSP is consistent with what you'd expect to see at level 5, regardless of what level the organization is."
Putting TSP into Practice
These data indicate that many more organizations could also benefit from TSP. To help more organizations adopt TSP, the SEI will be offering a TSP training course and authorization program. The course will train participants to become TSP launch coaches. The authorization program is the process whereby individuals trained as launch coaches become experienced and authorized to lead TSP launches. The authorization program also provides organizations that have authorized launch coaches access to the TSP materials: the TSP process, supporting forms, the launch workshop materials, and support tools to manage the data that is part of TSP. The 4-1/2-day class will include a mix of lectures and role play exercises that simulate the launch process. Attendees must be authorized PSP instructors. A course schedule will be announced in the fourth quarter of 2000.
Becoming an authorized launch coach involves taking the SEI training course, observing a TSP launch, and being observed leading a TSP launch. The principal role of the launch coach is to show teams how to use the TSP to do quality work. For example, it is the responsibility of the launch coach to ensure that
- the team has adequate resources, training, and support
- the team has realistic goals and a detailed plan to meet the goals
- team morale is good and the team is committed to doing the job
Launching a TSP Project
The TSP launch is a three- to four-day workshop integrated into each of the four typical phases of a project (requirements; high-level design; implementation; and integration and test). The workshop accelerates team building; the team establishes a common understanding of the work and the approach that the team will use; team members make a plan that they can commit to and obtain management support for their plan.
But note that the launch is more than the process of building a plan. Humphrey writes, "While the launch process ostensibly produces the team plan, the principal launch objective is to establish the conditions needed for the team to gel... . If the team produces all the required launch products but has not become a cohesive unit, the launch will not have been successful.... . Teambuilding is a non-trivial process and few people have the time or the skill to devise the specific teambuilding steps needed to build teams in a complex and high-pressure engineering environment. This is what the TSP is designed to do."