Introduction to the Team Software Process(sm)

by
Edition: 1st
Format: Hardcover
Pub. Date: 1999-08-24
Publisher(s): Addison-Wesley Professional
  • Free Shipping Icon

    This Item Qualifies for Free Shipping!*

    *Excludes marketplace orders.

List Price: $83.99

Rent Book

Select for Price
There was a problem. Please try again later.

New Book

We're Sorry
Sold Out

Used Book

We're Sorry
Sold Out

eBook

We're Sorry
Not Available

How Marketplace Works:

  • This item is offered by an independent seller and not shipped from our warehouse
  • Item details like edition and cover design may differ from our description; see seller's comments before ordering.
  • Sellers much confirm and ship within two business days; otherwise, the order will be cancelled and refunded.
  • Marketplace purchases cannot be returned to eCampus.com. Contact the seller directly for inquiries; if no response within two days, contact customer service.
  • Additional shipping costs apply to Marketplace purchases. Review shipping costs at checkout.

Summary

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:

  • how to establish roles;
  • how to conceive, design, and plan a project;
  • how to track and report on progress.

The book walks readers through a complete development cycle, illustrating:

  • how best to use the talents at hand;
  • how to formulate well-defined goals;
  • how to coordinate activities for maximum progress;
  • how to promote effective communication;
  • how to alleviate many of the conflicts that undermine teamwork.

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.

Author Biography

Watts S. Humphrey, a widely respected authority on software process improvement and a long-time senior manager of software development at IBM, is a Fellow at the Software Engineering Institute at Carnegie Mellon University. Mr. Humphrey also is the author of Managing the Software Process (1989), A Discipline for Software Engineering (1995), Managing Technical People (1997), and Introduction to the Personal Software Process (1997).

Table of Contents

PREFACE XI
Part I INTRODUCTION 1(26)
Chapter 1 TSPi OVERVIEW
3(12)
1.1 What Is TSPi?
4(1)
1.2 TSPi Principles
5(1)
1.3 The TSPi Design
5(4)
1.4 TSPi Structure and Flow
9(1)
1.5 The TSPi Process
10(3)
1.6 The Textbook Structure and Flow
13(1)
1.7 Summary
13(2)
Chapter 2 THE LOGIC OF THE TEAM SOFTWARE PROCESS
15(12)
2.1 Why Projects Fail
16(1)
2.2 Common Team Problems
17(2)
2.3 What Is a Team?
19(1)
2.4 Building Effective Teams
20(2)
2.5 How Teams Develop
22(1)
2.6 How TSPi Builds Teams
23(2)
2.7 Summary
25(1)
2.8 References
26(1)
Part II THE TSPi PROCESS 27(170)
Chapter 3 LAUNCHING A TEAM PROJECT
29(20)
3.1 Why Conduct a Team Launch?
29(1)
3.2 Team Goals
30(4)
3.3 Team-Member Goals
34(1)
3.4 The Role Goals
35(3)
3.5 The TSPi Launch Scripts
38(10)
3.6 Summary
48(1)
Chapter 4 THE DEVELOPMENT STRATEGY
49(16)
4.1 Planning First
50(1)
4.2 What Is a Strategy?
51(1)
4.3 The Conceptual Design
52(1)
4.4 Risk Management
52(2)
4.5 A Reuse Strategy
54(1)
4.6 The Strategy Scripts
54(9)
4.7 Summary
63(2)
Chapter 5 THE DEVELOPMENT PLAN
65(44)
5.1 The Need for Planning
65(6)
5.2 The TSPi Planning Process
71(2)
5.3 The TSPi Support Tool
73(1)
5.4 The Development Plan Scripts
74(17)
5.5 Tracking the Work
91(6)
5.6 The Quality Plan
97(10)
5.7 Summary
107(1)
5.8 Reference
108(1)
Chapter 6 DEFINING THE REQUIREMENTS
109(12)
6.1 What Are Requirements?
109(1)
6.2 Why We Need Requirements
110(1)
6.3 Requirements Changes
111(1)
6.4 The Software Requirements Specification
112(2)
6.5 The TSPi Requirements Scripts
114(6)
6.6 Summary
120(1)
6.7 References
120(1)
Chapter 7 DESIGNING WITH TEAMS
121(20)
7.1 Design Principles
122(1)
7.2 Designing in Teams
123(2)
7.3 Design Standards
125(3)
7.4 Designing for Reuse
128(2)
7.5 Designing for Usability
130(1)
7.6 Designing for Testability
130(1)
7.7 Design Reviews and Inspections
131(1)
7.8 The TSPi Design Scripts
132(6)
7.9 Summary
138(1)
7.10 References
139(2)
Chapter 8 PRODUCT IMPLEMENTATION
141(22)
8.1 Design Completion Criteria
141(2)
8.2 Implementation Standards
143(5)
8.3 The Implementation Strategy
148(1)
8.4 Reviews and Inspections
149(2)
8.5 The IMP Scripts
151(10)
8.6 Summary
161(1)
8.7 Reference
162(1)
Chapter 9 INTEGRATION AND SYSTEM TESTING
163(22)
9.1 Testing Principles
163(2)
9.2 The TSPi Testing Strategy
165(1)
9.3 The Build and Integration Strategy
166(2)
9.4 The System Test Strategy
168(1)
9.5 Test Planning
169(1)
9.6 Tracking and Measuring Testing
170(3)
9.7 Documentation
173(4)
9.8 The TSPi TEST Scripts
177(5)
9.9 Summary
182(1)
9.10 References
183(2)
Chapter 10 THE POSTMORTEM
185(12)
10.1 Why We Need a Postmortem
185(1)
10.2 What a Postmortem Can Do for You
186(1)
10.3 The Process Improvement Proposal
186(1)
10.4 The TSPi Postmortem Scripts
187(9)
10.5 Summary
196(1)
10.6 Reference
196(1)
Part III THE TEAM ROLES 197(82)
Chapter 11 THE TEAM LEADER ROLE
201(18)
11.1 The Team Leader's Goals
202(2)
11.2 Helpful Team Leader Skills and Abilities
204(4)
11.3 The Team Leader's Principal Activities
208(8)
11.4 The Team Leader's Project Activities
216(1)
11.5 Summary
216(3)
Chapter 12 THE DEVELOPMENT MANAGER ROLE
219(16)
12.1 The Development Manager's Goals
220(1)
12.2 Helpful Development Manager Skills and Abilities
221(3)
12.3 The Development Manager's Principal Activities
224(8)
12.4 The Development Manager's Project Activities
232(1)
12.5 Summary
232(3)
Chapter 13 THE PLANNING MANAGER ROLE
235(16)
13.1 The Planning Manager's Goals
236(2)
13.2 Helpful Planning Manager Skills and Abilities
238(1)
13.3 The Planning Manager's Principal Activities
238(10)
13.4 The Planning Manager's Project Activities
248(1)
13.5 Summary
248(3)
Chapter 14 THE QUALITY/PROCESS MANAGER ROLE
251(16)
14.1 The Quality/Process Manager's Goals
252(3)
14.2 Helpful Quality/Process Manager Skills and Abilities
255(2)
14.3 The Quality/Process Manager's Principal Activities
257(7)
14.4 The Quality/Process Manager's Project Activities
264(1)
14.5 Summary
264(1)
14.6 References
265(2)
Chapter 15 THE SUPPORT MANAGER ROLE
267(12)
15.1 The Support Manager's Goals
268(2)
15.2 Helpful Support Manager Skills and Abilities
270(2)
15.3 The Support Manager's Principal Activities
272(4)
15.4 The Support Manager's Project Activities
276(1)
15.5 Summary
276(3)
Part IV USING THE TSPi 279(34)
Chapter 16 MANAGING YOURSELF
281(12)
16.1 Being Responsible
282(3)
16.2 Striving for Defined Goals
285(2)
16.2 Living by Sound Principles
287(1)
16.4 Your Opinion of Yourself
288(1)
16.5 Your Opinion of Others
289(1)
16.6 Your Commitment to Excellence
289(3)
16.7 Summary
292(1)
16.8 Reference
292(1)
Chapter 17 BEING ON A TEAM
293(16)
17.1 The Jelled Team
293(1)
17.2 Teamwork Obligations
294(1)
17.3 Communication Among Team Members
294(4)
17.4 Making and Meeting Commitments
298(2)
17.5 Participation in the Team's Activities
300(2)
17.6 Team-building Obligations
302(1)
17.7 Accepting and Performing a Team Role
302(1)
17.8 Establishing and Striving to Meet Team Goals
303(1)
17.9 Building and Maintaining the Team
304(2)
17.10 Summary
306(1)
17.11 References
307(2)
Chapter 18 TEAMWORK
309(4)
18.1 Reference
311(2)
Appendix A NEED STATEMENTS FOR THE TSPi SAMPLE EXERCISES
313(8)
Purpose
313(1)
The Change Counter Functional Need Statement
314(3)
The Program Analyzer Functional Need Statement
317(2)
References
319(2)
Appendix B SOFTWARE CONFIGURATION MANAGEMENT
321(14)
The Software Configuration Management Problem
321(1)
Software Configuration Management Overview
322(1)
The SCM Plan
323(3)
The System Baseline
326(2)
Automating the SCM Process
328(1)
The Software Configuration Management Process
328(7)
Appendix C SOFTWARE INSPECTIONS
335(24)
What Are Inspections?
335(1)
What Makes Inspections Effective?
336(3)
Inspection Methods
339(1)
Inspection Data
340(2)
The Inspection Report: Form INS
342(3)
Estimating Remaining Defects
345(5)
The Importance of High Personal Yields
350(1)
Scheduling Inspections
351(1)
The TSPi Inspection Script
352(4)
References
356(3)
Appendix D THE TSPi SCRIPTS
359(24)
Appendix E ROLE SCRIPTS
383(12)
Appendix F TSPi FORMS AND INSTRUCTIONS
395(48)
Appendix G THE TSPi STANDARDS AND SPECIFICATIONS
443(6)
INDEX 449

Excerpts

This book is for students and engineers who have already learned and, preferably, applied the Personal Software Process (PSP) SM . You may have learned the PSP in a graduate or senior-level course (1) or in an earlier introductory course (2). Alternatively, you may be a practicing engineer who seeks guidance on how to use the PSP in an industrial team environment. In any case, when you have learned the PSP, you have the background to use the methods and practices in this book. After you have learned the PSP, you may need guidance on applying it to the many tasks of the software process. This is the principal role of the Team Software Process (TSP) SM : to provide a framework for using sound engineering methods while developing software. There is a great deal to say about teamwork, and this book covers the basic elements. TSPi (the introductory Team Software Process) introduces team concepts and walks you through the steps of building teams and working on a team. Note, however, that this text is designed for an introductory course and does not cover all the material that you will need to use the TSP for larger-scale industrial projects. How TSPi Helps Engineers This book teaches engineers about software development teamwork. TSPi provides a structured set of steps, shows engineers what to do at each step, and demonstrates how to connect these steps to produce a completed product. TSPi also provides two interesting and reasonably challenging project exercises. Each is at the same time small enough to be completed in a few weeks and large enough to simulate a typical small project. When capable engineers follow the guidance provided in this book, they will invariably produce a finished working product. In the suggested TSPi strategy, teams develop a product in two or three cycles. In the first cycle, teams build a small working product kernel. With each succeeding cycle function is added to this base. This strategy demonstrates the benefits of using data from a prior project to plan a new project. Also, by taking new roles for each cycle, engineers will have two or three quite different experiences in just one project. After several development cycles, engineers will have had a broad exposure to teaming methods, and they are likely to continue using the TSPi methods on their own. Why TSPi Courses Are Needed Because project courses have proven to be effective in preparing students for software engineering careers, a growing number of universities now offer them. These courses are often oversubscribed. Students seek material that applies to their future jobs, and they see team courses as meeting this need. After graduation, students and employers report that software project courses are useful preparation for work in industry. There is now a large body of experience with team project courses (3). Although many of these courses have been successful, three problems are common. First, the students often attempt projects that are too large. Second, they frequently concentrate on the product and ignore the process. Finally, one or more team members are disruptive. Although TSPi cannot prevent all these problems, it provides guidance on how to avoid or mitigate them. To make effective use of curriculum time, team software courses should be carefully structured and based on proven project experience. Without a defined process or a structured team framework, engineers must figure out for themselves how to run their projects. Without this process and structure, these groups must learn team-building and teamwork basics through an often painful trial-and-error process. This is both expensive and unnecessary because teamwork principles are well known and straightforward. TSPi guides engineers in effective teamwork methods. It does this by walking them through a team-building process and then using a measure

An electronic version of this book is available through VitalSource.

This book is viewable on PC, Mac, iPhone, iPad, iPod Touch, and most smartphones.

By purchasing, you will be able to view this book online, as well as download it, for the chosen number of days.

Digital License

You are licensing a digital product for a set duration. Durations are set forth in the product description, with "Lifetime" typically meaning five (5) years of online access and permanent download to a supported device. All licenses are non-transferable.

More details can be found here.

A downloadable version of this book is available through the eCampus Reader or compatible Adobe readers.

Applications are available on iOS, Android, PC, Mac, and Windows Mobile platforms.

Please view the compatibility matrix prior to purchase.