TSP-Coaching Development Teams

Watts S. Humphrey

  • 出版商: Addison Wesley
  • 出版日期: 2006-04-20
  • 定價: $1,780
  • 售價: 9.0$1,602
  • 語言: 英文
  • 頁數: 448
  • 裝訂: Hardcover
  • ISBN: 0201731134
  • ISBN-13: 9780201731132
  • 相關分類: 專案管理 PM軟體工程
  • 立即出貨

買這商品的人也買了...

商品描述

Description

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.

 

Table of Contents

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 17

2.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 35

3.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 49

4.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 67

5.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 79

6.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 85

7.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 101

8.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 115

9.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 127

10.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 137

11.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 153

12.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 161

13.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 171

14.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 181

15.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 189

16.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 209

17.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 225

18.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 243

19.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 269

20.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 281

21.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 295

22.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 313

23.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 333

24.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 353

25.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 365

26.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 379

27.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 387

28.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

商品描述(中文翻譯)

大多數現代軟體開發專案需要團隊合作,而良好的團隊合作在很大程度上決定了專案的成功。由Watts S. Humphrey創立的團隊軟體流程(TSP)是一套工程實踐和團隊概念,能夠產生有效的團隊,從而幫助開發人員按時且在預算內交付高質量的產品。TSP橋接了Humphrey在能力成熟度模型(CMM)方面的重要工作,該模型是一個整個軟體組織的改進框架,以及他的個人軟體流程(PSP),這些實踐旨在改進個別開發人員的工作。

通常,第一次使用TSP的團隊可以將生產力提高50%以上,同時大幅提高交付產品的質量。然而,只有在有能力的教練指導下,TSP團隊才能持續改進。例如,一個工業強度的團隊通過連續三個TSP季度產品發布週期,將生產力額外提高了94%,減少了85%的測試缺陷。如果沒有能力的教練,團隊往往無法在引入TSP後的初始一次改進之外取得太大進展。

Humphrey區分了TSP教練和TSP領導之間的區別,並解釋了為什麼兩者的技能表現都至關重要。在這本實用指南中,他分享了多次激勵TSP團隊並引導他們走向成功的教練方法。在教練的幫助下,TSP團隊經歷了一個簡短但密集的專案啟動階段,在這個階段,他們定義自己的流程,制定自己的計劃,並與管理層協商承諾,從而實現了顯著的性能提升。

無論您是在考慮使用TSP還是正在積極實施它,《TSP - 教練開發團隊》提供了寶貴的示例,指南和建議,幫助您開始並作為團隊教練不斷發展。它旨在補充Humphrey的其他著作,《TSP - 領導開發團隊》和《PSP:軟體工程師的自我改進流程》。這三本書共同為改進您的軟體開發能力提供了豐富的資源。