Introduction to the Team Software Process
Aimed at the computer science student,Introduction to the Team Software Processprovides a textbook-style introduction to the author's Team Software Process (TSP), a rigorous group-based design process that stresses planning, metrics, scripts, accountability, and ultimately, higher code quality. Although best suited for a semester- or two-semester-length course, this book provides a useful model for any team development effort.This textbook focuses squarely on the team-based nature of successful software development. The author, who also invented the Personal Software Process (PSP), outlines the steps for "staffing" a classroom-based software project with different multiple member roles, such as team leaders and development managers. The Team Software Process (TSP) outlined here stresses accountability through numerous scripts and metrics. (An appendix features over 80 pages of scripts and forms that would be used over the course of the semester.) Not only does the author provide a thorough guide to choosing the right team role that fits your personality and skills, but several sections offer some "motivational speaking" on the advantage of "discipline," both as a person and software engineer.This book does a particularly good job of defining a team's role for each stage in the development process, beginning from the initial planning stages to requirements definition, implementation, testing, and postmortem followup. There are hints for dealing with missed deadlines, staffing, and design problems.The reality is that teams are used throughout the software industry, but many computer science students do not get much experience working in successful teams. As a first encounter with team development,Introduction to the Team Software Processprovides a model for serious implementation of a smart, rigorous software method that can put readers on the right track with group development.--Richard DraganTopics Covered: Team Software Process (TSP) basics and scripts, building production software teams, team goals, team roles, planning, risk management, quality plan, requirements, design principles, product implementation, integration and system testing, test planning, defect tracking, documentation, conducting postmortems, team leaders, development managers, planning managers, quality/process managers, support managers.