According to Software engineering institute Team Software Process (TSP) guides engineering teams that are developing software-intensive products. Using TSP helps organizations establish a mature and disciplined engineering practice that produces secure, reliable software in less time and at lower costs
Currently there are bunch of software development mythologies around the world. Scrum gains popularity day by day and it is also aim to develop software rapidly and increase the productivity. The TSP provides a disciplined context for engineering work. The principal motivator for the development of the TSP was the conviction that engineering teams can do extraordinary work, but only if they are properly formed, suitably trained, staffed with skilled members, and effectively led. The objective of the TSP is to build and guide such teams.
In 1996, Watts Humphrey developed the initial version of the TSP process. His objective was to provide an operational process to help engineers consistently do quality work. He designed the initial TSP0 process to be as simple as possible, tried it with two teams, and then reviewed the results to see how it worked. He then identified where the teams needed further guidance and enhanced the process to provide that guidance. The first TSP0 process was designed for PSP-trained teams who received no training or guidance other than that provided by the TSP process and the team’s immediate management
Teams are required for most engineering projects. Although some small hardware or software products can be developed by individuals, the scale and complexity of modern systems is such, and the demand for short schedules so great, that it is no longer practical for one person to do most engineering jobs.
To be effective, teams must be properly skilled and be able to work as cohesive units. Effective teams have certain common characteristics:
The TSP provides a defined operational process to guide engineers and managers through the team-building steps. This process specifies the steps needed to establish an effective team working environment. An operational process is more like a script. It is designed to be used by the team members when they do the work.
Before the members can participate on a TSP team, they must know how to do disciplined work. As shown in this figure, training in the Personal Software Process (PSP) is required to provide engineers with the knowledge and skills to use the TSP
While there are many ways to build teams, they all require that the individuals work together to accomplish some demanding task. In the TSP, this demanding team-building task is a four-day planning process that is called the team launch. In a launch, all the team members develop the strategy, process, and plan for doing their project. After completing the launch, the team follows its own defined process to do the job.
TSP teams are relaunched periodically. Because the TSP process follows an iterative and evolving development strategy, periodic relaunches are necessary so that each phase or cycle can be planned based on the knowledge gained in the previous cycle.
In this post I just tried to give an idea about Team software process, for further information on these topics, please visit the www.sei.cmu.edu/tsp