Register your product to gain access to bonus material or receive a coupon.
This eBook includes the following formats, accessible from your Account page after purchase:
EPUB The open industry format known for its reflowable content and usability on supported mobile devices.
PDF The popular standard, used most often with the free Acrobat® Reader® software.
This eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.
Most modern software development projects require teams, and good teamwork largely determines a project’s success. The Team Software Process (TSP), created by Watts S. Humphrey, is a set of engineering practices and team concepts that produce effective teams, thereby helping developers deliver high-quality products on time and within budget. TSP bridges Humphrey’s seminal work on the Capability Maturity Model (CMM), an improvement framework for the entire software organization, and his Personal Software Process (PSP), practices designed to improve the work of individual developers.
Typical first-time TSP teams increase productivity by more than 50 percent while greatly increasing the quality of their delivered products. However, TSP teams only continue to improve under the guidance of a capable coach. One industrial-strength team, for example, increased its productivity by an additional 94 percent and reduced test defects by 85 percent through three consecutive TSP quarterly product release cycles. Without competent coaching, teams often do not progress much beyond the initial one-time improvement seen after the introduction of the TSP.
Humphrey distinguishes between TSP coaching and TSP leadership, explaining why the skillful performance of both functions is critical. In this practical guide, he shares coaching methods that have repeatedly inspired TSP teams and steered them toward success. With the help of a coach, TSP teams undergo a brief but intense project launch in which they define their own processes, make their own plans, and negotiate their commitments with management, resulting in dramatically enhanced performance.
Whether you are considering the TSP or are actively implementing it, TSPSM—Coaching Development Teams provides the invaluable examples, guidelines, and suggestions you need to get started and keep developing as a team coach. It’s meant to complement Humphrey’s other books, TSPSM—Leading a Development Team and PSPSM: A Self-Improvement Process for Software Engineers. Together, the three works offer a rich resource for improving your software development capabilities.
Preface xvPart I: Team Formation 1Chapter 1: Development Teams 5
1.1. TSP Overview 5
1.2. Why Teams Are Needed 6
1.3. What Are Teams? 8
1.4. Kinds of Teams 9
1.5. The Nature of Self-Directed Teams 10
1.6. The Team Leader and Coach Roles 14
1.7. Coaching Workload 14
1.8. Summary 15
Chapter 2: Team Behavior 172.1. The Team Life Cycle 18
2.2. Kinds of Groups 22
2.3. Team Styles 25
2.4. Why Teams Fail 28
2.5. Summary 33
Chapter 3: The Coaching Job 353.1. Coaching Principles 35
3.2. Launching a TSP Team 37
3.3. Coaching the Team Members 38
3.4. Coaching Experienced Teams 39
3.5. Coaching the Team Leader 40
3.6. Coaching Management 46
3.7. Summary 47
Chapter 4: Teambuilding 494.1. What Makes Teams Successful? 49
4.2. Teambuilding Approaches 50
4.3. The TSP Teambuilding Strategy 51
4.4. How the Launch Builds Teams 51
4.5. Getting Involvement 55
4.6. Summary 63
Part II: Launching a TSP Team 65Chapter 5: Launch Preparation 675.1. When to Launch a Project 67
5.2. Team Scope 68
5.3. Team-Member Selection 70
5.4. Preparation Topics 71
5.5. Common Preparation Problems 75
5.6. Launch Preparation Steps 76
5.7. Weekly Launch Preparation Status Meeting 77
5.8. Summary 77
Chapter 6: The Team Charter 796.1. Establishing the Team Charter 80
6.2. The Opening Management Meeting 80
6.3. Start with a Positive Attitude 81
6.4. Issues and Considerations 82
6.5. Summary 83
Chapter 7: Team Goals 857.1. What Goals Are 85
7.2. The Importance of Feedback 87
7.3. Goal Priorities 87
7.4. Measurable Goals 88
7.5. Kinds of Goal Measures 89
7.6. The Problem with Measurements 91
7.7. Kinds of Goals 92
7.8. The TSP Goal-Setting Process 94
7.9. Goal Tracking 96
7.10. A Goal Measurement Example 97
7.11. Summary 98
Chapter 8: Team-Member Roles 1018.1. What Roles Are 101
8.2. Why Roles Are Needed 102
8.3. Selecting Team Roles 103
8.4. The TSP Roles 104
8.5. Other Team-Member Roles 110
8.6. Roles and Team Size 110
8.7. Coaching the Role Managers 112
8.8. The Role Manager Commitment 113
8.9. Summary 113
Chapter 9: Team Planning 1159.1. The TSP Planning Process 116
9.2. Launch Meeting 3 116
9.3. Product Conceptual Design 116
9.4. Team Strategy 118
9.5. The Products to Be Produced 121
9.6. The Development Process 121
9.7. Process and Support Plans 123
9.8. CCB Membership 124
9.9. Launch Meeting Documentation 124
9.10. Summary 124
Chapter 10: The Overall Plan 12710.1. Launch Meeting 4 128
10.2. The Size Estimate 128
10.3. Determining Project Tasks 129
10.4. The Overall Resource Estimate 131
10.5. Resource Availability 131
10.6. Generating and Assessing the Overall Plan 132
10.7. Optimum Staffing 133
10.8. Summary 135
Chapter 11: The Quality Plan 13711.1. The Importance of Quality 137
11.2. Quality Goals 139
11.3. The Cost of Defects 140
11.4. Measuring Software Quality 145
11.5. Percent Defect Free (PDF) 145
11.6. Making the Quality Plan 146
11.7. Summary 150
Chapter 12: Detailed Planning 15312.1. How Far Out Should Teams Plan? 154
12.2. How Detailed Should Plans Be? 154
12.3. How Plans Can Improve Efficiency 155
12.4. Whether to Plan Now or to Plan Later 156
12.5. The Need for Balanced Plans 157
12.6. The TSP Detailed Planning Process 158
12.7. Summary 159
Chapter 13: Managing Risk 16113.1. What Are Risks? 161
13.2. The Importance of Risk Management 162
13.3. The Principles of Risk Management 162
13.4. The TSP Risk Management Process 163
13.5. Risk Identification 163
13.6. Risk Evaluation 165
13.7. The Risk Evaluation Process 165
13.8. Assigning Risks 166
13.9. Risk Mitigation 166
13.10. Risk Management Examples 167
13.11. Risk Tracking and Management 168
13.12. Summary 169
Chapter 14: The Management Meeting 17114.1. Preparing for the Management Meeting 172
14.2. Presenting the Team’s Plan 173
14.3. Alternative Plans 174
14.4. Risks 174
14.5. Closing the Meeting 175
14.6. Presentation Suggestions 175
14.7. Summary 178
Chapter 15: The Launch Postmortem 18115.1. The Postmortem Attitude 182
15.2. The Postmortem Process 184
15.3. Postmortem Coaching Strategies 186
15.4. Summary 187
Chapter 16: Relaunching a Team Project 18916.1. What Is a Relaunch? 190
16.2. Why Do a Relaunch? 192
16.3. When to Relaunch 193
16.4. How to Do a Relaunch 195
16.5. The Relaunch Process 196
16.6. Revising the Quality Plan 200
16.7. A Quality Replanning Example 200
16.8. Concluding the Relaunch 204
16.9. Summary 204
Part III: Coaching a TSP Project 207Chapter 17: Post-Launch Coaching 20917.1. Starting New Teams 210
17.2. The Coaching Process 210
17.3. The Post-Launch Briefing 210
17.4. The Weekly Team Meeting 211
17.5. The Daily Stand-Up Meeting 212
17.6. The Weekly Status Report 212
17.7. Coaching Inspections 214
17.8. Coaching Individuals 215
17.9. Coaching Role Managers 215
17.10. Coaching the Team Leader 216
17.11. The Project Notebook 217
17.12. The Team-Member Notebook 217
17.13. The Checkpoint Review 218
17.14. The Coaching Plan 220
17.15. Summary 223
Chapter 18: Maintaining the Plan 22518.1. Plan Types 226
18.2. Plan Dynamics 227
18.3. Maintaining the Team’s Plan 228
18.4. A Workload Imbalance Example 229
18.5. Facing Facts 231
18.6. When to Update the Plan 232
18.7. Updating Individual Plans 232
18.8. Dynamic Load Balancing 236
18.9. Interpreting Plan Data 237
18.10. Management Reporting 240
18.11. Summary 241
Chapter 19: Managing Quality 24319.1. Principles of Quality Management 244
19.2. Why Manage Quality? 245
19.3. The Quality Journey 246
19.4. The Developer’s Responsibility for Quality 247
19.5. The Team’s Responsibility for Quality 248
19.6. Quality Management Methods 249
19.7. Interpreting Quality Data 259
19.8. Reporting Quality Data 261
19.9. Defect Reporting Considerations 266
19.10. Summary 267
Chapter 20: The Project Postmortem 26920.1. The Purpose of the Postmortem 270
20.2. The Desired Data 270
20.3. Postmortem Preparation 272
20.4. The Postmortem Process 272
20.5. Teamwork Assessment 275
20.6. Coaching and Leadership Assessment 276
20.7. Coaching the Postmortem 276
20.8. The Team-Member Postmortem 277
20.9. Summary 278
Part IV: TSP Extensions 279Chapter 21: Team Variations 28121.1. Work Perspectives 282
21.2. Team Structure 285
21.3. Team Communication 286
21.4. Functional Teams 287
21.5. Distributed Teams 288
21.6. Multiple Teams 290
21.7. System-Wide Teams 291
21.8. Coaching Guidelines 292
21.9. Summary 293
Chapter 22: Functional Teams 29522.1. Why Functional Teams Are Needed 296
22.2. The Functional-Team Strategy 296
22.3. Preparing for a Functional-Team Launch 298
22.4. Goal Setting 299
22.5. Launching Functional Teams 303
22.6. Coaching a Functional-Team Launch 308
22.7. Coaching a Functional Team 309
22.8. Summary 311
Chapter 23: Multiple Teams 31323.1. What Is a Multi-Team? 314
23.2. The TSP Multi-Team Strategy 314
23.3. Forming a Multi-Team 315
23.4. The TSPm Launch Preparation Process 316
23.5. Launching a Multi-Team 321
23.6. Coaching a Multi-Team Launch 324
23.7. Launching a Distributed Multi-Team 325
23.8. Coaching Multi-Teams 328
23.9. Tracking and Reporting on Multi-Teams 330
23.10. Summary 330
Chapter 24: Integrated Development Teams 33324.1. Process Principles for Large-Scale Teams 334
24.2. The Program-Initiation Team 339
24.3. The Program-Management Problem 341
24.4. Program Launching and Coaching Strategies 346
24.5. The Role-Manager Teams 347
24.6. Program Monitoring and Reporting 348
24.7. Summary 348
Part V: Maintaining a TSP Team 351Chapter 25: Developing Teamwork 35325.1. Team-Member Communication 354
25.2. Principled Negotiation 357
25.3. The TSP Communication Strategy 358
25.4. Maintaining Team Communication 359
25.5. Process Discipline 361
25.6. Summary 364
Chapter 26: Coaching Ethics 36526.1. The Coach’s Responsibilities 366
26.2. The Coaching Commitment 367
26.3. Handling Team and Individual Data 370
26.4. Measuring People 373
26.5. Relating to Management 375
26.6. Handling Difficult Team Members 375
26.7. Summary 376
Chapter 27: The Coaching Team 37927.1. Coaching in Organizations 379
27.2. Why Use a Coaching Team? 380
27.3. Forming a Coaching Team 381
27.4. Launching a Coaching Team 382
27.5. Managing and Tracking Coaching Teams 384
27.6. Coaching a Coaching Team 385
27.7. Being on a Coaching Team 385
27.8. Summary 386
Chapter 28: Being a Team Coach 38728.1. Building Understanding and Motivation 388
28.2. Building a Coaching Team 388
28.3. Success Is Invisible 389
28.4. Reporting to Management 390
28.5. Coaching Yourself 393
28.6. Summary 396
Index 397