Watts Humphrey is the visionary behind the Capability Maturity Model (CMM)(R) and the Personal Software Process (PSP) (sm). The CMM contains a framework for software process improvement at the organizational level. The PSP builds the self-discipline needed for individual programmers to work efficiently and effectively. The author's new Team Software Process (TSP) (sm) details methods to guide the formation of software development teams, to motivate their work, and to enhance their productivity.
This book describes an introductory version of TSP, ideal for smaller projects but also useful for learning basic techniques and procedures that apply to other development projects. Methods presented include:
The book walks readers through a complete development cycle, illustrating:
Team members should not have to expend valuable time and energy reinventing ways to organize and run their team. By following a proven process, the team will more quickly be able to focus on the successful completion of the project itself. To help a team course apply these methods, the book provides two project exercises, with prescribed development goals and team roles.
(Each chapter, except Chapter 18, concludes with a Summary.)
I. INTRODUCTION.1. TSPi Overview.
What Is TSPi?
The TSPi Design.
TSPi Structure and Flow.
The TSPi Process.
The Textbook Structure and Flow.2. The Logic of the Team Software Process.
Why Projects Fail.
Common Team Problems.
What Is a Team?
Building Effective Teams.
How Teams Develop.
How TSPi Builds Teams.
II. THE TSPI PROCESS.3. Launching a Team Project.
Why Conduct a Team Launch?
The Role Goals.
The TSPi Launch Scripts.4. The Development Strategy.
What Is a Strategy?
The Conceptual Design.
A Reuse Strategy.
The Strategy Scripts.5. The Development Plan.
The Need for Planning.
The TSPi Planning Process.
The TSPi Support Tool.
The Development Plan Scripts.
Tracking the Work.
The Quality Plan.
Reference.6. Defining the Requirements.
What Are Requirements?
Why We Need Requirements.
The Software Requirements Specification.
The TSPi Requirements Scripts.
References.7. Designing with Teams.
Designing in Teams.
Designing for Reuse.
Designing for Usability.
Designing for Testability.
Design Reviews and Inspections.
The TSPi Design Scripts.
References.8. Product Implementation.
Design Completion Criteria.
The Implementation Strategy.
Reviews and Inspections.
The IMP Scripts.
Reference.9. Integration and System Testing.
The TSPi Testing Strategy.
The Build and Integration Strategy.
The System Test Strategy.
Tracking and Measuring Testing.
The TSPi TEST Scripts.
References.10. The Postmortem.
Why We Need a Postmortem.
What a Postmortem Can Do for You.
The Process Improvement Proposal.
The TSPi Postmortem Scripts.
III. THE TEAM ROLES.11. The Team Leader Role.
The Team Leader's Goals.
Helpful Team Leader Skills and Abilities.
The Team Leader's Principal Activities.
The Team Leader's Project Activities.12. The Development Manager Role.
The Development Manager's Goals.
Helpful Development Manager Skills and Abilities.
The Development Manager's Principal Activities.
The Development Manager's Project Activities.13. The Planning Manager Role.
The Planning Manager's Goals.
Helpful Planning Manager Skills and Abilities.
The Planning Manager's Principal Activities.
The Planning Manager's Project Activities.14. The Quality/Process Manager Role.
The Quality/Process Manager's Goals.
Helpful Quality/Process Manager Skills and Abilities.
The Quality/Process Manager's Principal Activities.
The Quality/Process Manager's Project Activities.
References.15. The Support Manager Role.
The Support Manager's Goals.
Helpful Support Manager Skills and Abilities.
The Support Manager's Principal Activities.
The Support Manager's Project Activities.
IV. USING THE TSPI.16. Managing Yourself.
Striving for Defined Goals.
Living by Sound Principles.
Your Opinion of Yourself.
Your Opinion of Others.
Your Commitment to Excellence.
Reference.17. Being on a Team.
The Jelled Team.
Communication Among Team Members.
Making and Meeting Commitments.
Participation in the Team's Activities.
Accepting and Performing a Team Role.
Establishing and Striving to Meet Team Goals.
Building and Maintaining the Team.
The Change Counter Functional Need Statement.
The Program Analyzer Functional Need Statement.
References.Appendix B. Software Configuration Management.
The Software Configuration Management Problem.
Software Configuration Management Overview.
The SCM Plan.
The System Baseline.
Automating the SCM Process.
The Software Configuration Management Process.Appendix C. Software Inspections.
What Are Inspections?
What Makes Inspections Effective?
The Inspection Report: Form INS.
Estimating Remaining Defects.
The Importance of High Personal Yields.
The TSPi Inspection Script.
References.Appendix D. The TSPi Scripts.