HAPPY BOOKSGIVING
Use code BOOKSGIVING during checkout to save 40%-55% on books and eBooks. Shop now.
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.
“This book will be a great help to a variety of organizations figuring out how best to implement CMMI, including large and small enterprises, even if their starting point is not ‘Agile.’ All-in-all, this contains ‘pearls of wisdom’ that will make a much-appreciated contribution to the software engineering community.”
Mike Konrad, Chief Architect, CMMI, Software Engineering Institute; coauthor, CMMI®: Guidelines for Process Integration and Product Improvement, Second Edition
“This book will challenge many of your (mis)understandings about both Agile delivery and CMMI. Paul thoughtfully applies his years of practical experience to help bridge two disparate communities who are working towards the same goal–improving an organization’s IT productivity. It’s about time someone wrote a book like this.”
Scott W. Ambler, Chief Methodologist for Agile and Lean, IBM Rational; author, Agile Modeling; and coauthor, Enterprise Unified Process
Many organizations that have improved process maturity through Capability Maturity Model Integration (CMMI®) now also want greater agility. Conversely, many organizations that are succeeding with Agile methods now want the benefits of more mature processes. The solution is to integrate CMMI and Agile. Integrating CMMI® and Agile Development offers broad guidance for melding these process improvement methodologies. It presents six detailed case studies, along with essential real-world lessons, big-picture insights, and mistakes to avoid.
Drawing on decades of process improvement experience, author Paul McMahon explains how combining an Agile approach with the CMMI process improvement framework is the fastest, most effective way to achieve your business objectives. He offers practical, proven techniques for CMMI and Agile integration, including new ways to extend Agile into system engineering and project management and to optimize performance by focusing on your organization’s unique, culture-related weaknesses.
Foreword by Mike Phillips xxi
Foreword by Hillel Glazer xxiii
Preface xxv
Acknowledgments xxxi
Part I: Introduction 1
Chapter 1: Introduction and CMMI/Agile Primers 5
1.1 Introduction and CMMI Primer 5
1.2 Agile Primer 10
1.3 General Information about the Case Studies 12
1.4 General Information about Terminology Used in the Book 13
Part II: Helping Mature Organizations Increase Agility 15
Chapter 2: Techniques to Increase Agility in CMMI Mature Organizations 17
2.1 What You Will Learn in This Chapter 18
2.2 LACM Case Study Background 18
2.3 Where to Start When Using the CMMI Model to Increase Agility 18
2.4 Where Many Organizations Wrongly Start When Using the CMMI Model 20
2.5 How the CMMI Model Is Often Used, and Options Not Well Understood 20
2.6 Aligning Your Process Initiatives with Your Real Business Objectives 21
2.7 Aligning Process Descriptions and Training with the Real Process 22
2.8 Two Specific Examples to Increase Agility: Pruning and Leaning 23
2.9 Why More Organizations Don’t Prune and Lean Their Processes Today 25
2.10 Understanding the CMMI Model Intent to Help Your Organization Succeed 25
2.11 Options You Have in Using the CMMI Model for Appraisals 26
2.12 An Alternative Approach to Agility 27
2.13 Summary: How CMMI Helps Agile 29
2.14 Summary: How Agile Helps CMMI 29
Chapter 3: Agility and the Higher CMMI Level Practices 31
3.1 What You Will Learn in This Chapter 31
3.2 Background on the Higher CMMI Level Practices 32
3.3 Case Study Background 33
3.4 Measurement Fundamentals 33
3.5 Measurement in the Case Study 34
3.6 Stepping Back 34
3.7 Digging Deeper for Candidate Root Causes 35
3.8 Specific Context Relevant Measures 36
3.9 Deriving the Right Data and Caring about the Data 37
3.10 What Does This Have to Do with CMMI High-Level Practices? 38
3.11 The Right Time to Implement CMMI Level 4/5 Practices 38
3.12 Relationships among CMMI, Agile, and Lean 38
3.13 Back to the Case Study: How CMMI, Agile, and Lean Can Help Together 39
3.14 What Happened in the Case Study and Process Improvement Insights 40
3.15 Back to the Case Study Again: What Really Happened 40
3.16 Insight 41
3.17 More about the Real Intent of CMMI Level 4 and 5 Practices 42
3.18 Continuous Process Improvement at LACM 45
3.19 Why the Unprecedented Success at LACM? 48
3.20 Diddling in DOORS: A Story about Real Work Management and Measurement 48
3.21 Finance Perspective on Work Management and Measurement 51
3.22 Is the CMMI Measurement and Analysis Process Area Inconsistent with the Agile Principle of Simplicity? 52
3.23 How LACM Handled Measurement and Analysis from the CMMI Perspective 53
3.24 Summary 53
3.25 Summary: How CMMI Helps Agile 54
3.26 Summary: How Agile Helps CMMI 54
Part III: Helping Agile Organizations Increase Maturity 55
Chapter 4: Bringing Process Maturity to Agile Organizations–Part I 57
4.1 What You Will Learn in This Chapter 57
4.2 BOND Case Study Background 58
4.3 What Is a Gap Analysis and Why Is It Crucial for Agile Organizations? 59
4.4 Keys to Conducting a Gap Analysis for an Agile Organization 60
4.5 Example of “Potential Weakness” Against CMMI in an Agile Organization 62
4.6 Running Process Improvement like a Project 64
4.7 TWG Approach for Agile Organizations 64
4.8 Revisiting the Goal and Challenges on the Process Improvement Project 66
4.9 Alternative Practices and Tailored Agile TWG 67
4.10 Returning to the Peer Review Example 69
4.11 Tailored TWG Techniques and Lessons at BOND 70
4.12 Preparation Work for Running Agile TWGs 71
4.13 Packaging of Processes 71
4.14 An Agile Organizational Process Asset Structure 73
4.15 Process Asset Guidelines Used at BOND 77
4.16 Different Organizations with Different Process Asset Structures 77
4.17 Agile TWG Roles and Responsibilities 78
4.18 Effective Techniques to Run an Agile TWG 79
4.19 Separating the TWG Work from the Lead Offline Work 79
4.20 What Do You Do When You Find a Gap? 80
4.21 Answers to Common Questions When Running an Agile TWG 81
4.22 Do I Need a DAR Process? 82
4.23 Do I Need to Verify Everything I Develop? 82
4.24 Do I Need to Make Sure the Steps in My Processes Are in the Right Order? 83
4.25 Do I Need to Make Sure Process Descriptions Are Not Redundant? 84
4.26 Can Requirements Be Captured in an Email or PowerPoint Slides? 85
4.27 Do Requirements Need to Be Captured in Single “Shall Statements”? 86
4.28 Formalizing Informality 86
4.29 Summary 88
4.30 Summary: How Agile Helps CMMI 88
Chapter 5: Bringing Process Maturity to Agile Organizations–Part II 91
5.1 What You Will Learn in This Chapter 91
5.2 BOND Case Study Background 92
5.3 Project Management at BOND 95
5.4 Starting with Roles and Responsibilities at BOND 96
5.5 Growing Project Leaders from the Inside 98
5.6 Example Stretch Point: Adding a Project Management Plan per Agreed Template 99
5.7 “The What”–Scoping the Effort 101
5.8 “The Who”–Managing Your Resource and Skill Needs 102
5.9 Common “Undocumented-Super-Spreadsheet” Resource Management Process 104
5.10 “The When” 104
5.11 Life Cycle–It’s Your Choice 106
5.12 “The How”–Team Meetings, Task Monitoring, and Course Correction 108
5.13 Senior Management Briefings: An Area in Which the CMMI Can Help Agile 108
5.14 Example of Senior Brief Evolution: Backup Slides for Efficient Use of Time 109
5.15 “The How Much”–Don’t Force the Team to Perform “Unnatural Acts” 110
5.16 Lessons from Formalizing Planning at BOND 111
5.17 The Plan as a Living Document at BOND 113
5.18 The Power of Templates 113
5.19 Do I Need to Write Down Meeting Minutes and Action Items? 116
5.20 Involving Relevant Stakeholders 118
5.21 Involving Relevant Stakeholders –Additional Help Sometimes Needed 119
5.22 Sharing Across the Organization 120
5.23 A Measurement and Analysis Process That Fits an Agile Organization 123
5.24 Training All Project Personnel in the Organization 126
5.25 Technical Solution in an Agile Organization 127
5.26 Product and Process Quality Assurance 128
5.27 Mitigating the Risk of Your CMMI Appraisal in an Agile Organization 129
5.28 Lost Momentum Risk After Reaching Your CMMI Goal 130
5.29 Party Time! We’re Level 3! The Meeting a Year Later with Ethan 131
5.30 Summary 132
5.31 Summary: How CMMI Helps Agile 133
Part IV: CMMI Helping Address Agile Misapplications 135
Chapter 6: Common Misunderstandings of Defined Processes and Agility 137
6.1 What You Will Learn in This Chapter 138
6.2 NANO Case Study Background and Problem Faced 139
6.3 How NANO Achieved Success and Then Got in Trouble 139
6.4 The Positive Side of NANO’s Agility 140
6.5 Where NANO’s Agile Approach Broke Down 140
6.6 Complicating Factors at NANO 141
6.7 Preparing for the Gap Analysis at NANO 141
6.8 Gap Analysis Findings at NANO 142
6.9 Example of a Generic Practice 142
6.10 How Some View Process in Agile Organizations 143
6.11 An Example of Process Misunderstanding 144
6.12 Another Example of Process Misunderstanding 145
6.13 The Good and Not So Good Sides of Distributed Process Ownership 146
6.14 Priority Recommendations at NANO 146
6.15 Develop an OPF and OPD Process at NANO 147
6.16 Using the CMMI Framework as a Process Roadmap at NANO 148
6.17 Example of Using CMMI Framework as a Roadmap 149
6.18 Addressing the Stakeholder Weakness at NANO 149
6.19 Maintaining a Successful Agile Culture as You Grow Requires Training 150
6.20 You Can’t Just Use Another Organization’s Processes and Get the Intended Value 152
6.21 Another Example of Formalizing Informality 152
6.22 Addressing Risk in the Process Improvement Plan at NANO 154
6.23 The NANO Process Improvement Plan 156
6.24 Priority-Based Incremental Deployment Supported by Scenario Training 156
6.25 More on GP 2.7 and Clarifying Roles and Responsibilities at NANO 157
6.26 The NANO Roles and Responsibilities Off-Site Meeting 158
6.27 “White Space” Tasks 159
6.28 An Alternative Approach to Defining Roles and Responsibilities 161
6.29 An Alternative Approach to Tailoring at NANO 162
6.30 Planning with Uncertainty Using an Agile and CMMI-Compliant Approach 163
6.31 CMMI Project Planning Consistent with Agile Planning 166
6.32 Summary: How CMMI Helps Agile 167
6.33 Summary: How Agile Helps CMMI 168
Chapter 7: Bringing Process Maturity to an R&D Culture 169
7.1 What You Will Learn in This Chapter 169
7.2 GEAR Case Study Background 170
7.3 Common Patterns at GEAR 171
7.4 The Common Pattern of Unclear Process Asset Requirements 171
7.5 Criteria and Product Content Templates 172
7.6 Writing Processes for People in “My Department” 173
7.7 Stakeholder Matrix and Product Template Recommendations 174
7.8 OPF and OPD for Agile Organizations 174
7.9 At GEAR, “No One Has a Hammer” 175
7.10 Another Advantage to Keeping the “How-to” Guidance Separate 175
7.11 Aligning Engineering and Project Management at GEAR 176
7.12 At GEAR, “It Depends on Who Shows Up” 177
7.13 Does the Written and Trained Process Match the Real Process? 178
7.14 Requirements Change Approval Alignment with Real Work 179
7.15 Asking the Intent Question Leads to Behavior Change 180
7.16 Process Development and Deployment Optimizations at GEAR 181
7.17 Advantages and Disadvantages to the “Thread” Approach 186
7.18 Process Tailoring 188
7.19 Strengths and Weaknesses of Tailoring at GEAR 188
7.20 Tailoring Recommendations at GEAR 188
7.21 Agile Process Tailoring Guidance: Always Tailor Up 189
7.22 Tailoring Down–The Wrong Approach but Used in Many Organizations 190
7.23 Why Tailoring Up Makes Sense 190
7.24 Will Tailoring Up Solve All Your Tailoring Issues? 190
7.25 The Purpose of Criteria and How They Can Help Tailoring 191
7.26 Process Compliance Issues at GEAR–The Problem 192
7.27 Process Compliance from a CMMI Model Perspective 193
7.28 Product and Process Quality Assurance (PPQA) 193
7.29 GP 2.8 Monitor and Control the Process 194
7.30 Options to Achieve GP 2.8 194
7.31 Keeping an Organization “Balanced” Versus Shifting a Culture 194
7.32 An Option to Help Achieve GP 2.8 Through Gates 195
7.33 “How to” Options to Implement PPQA 195
7.34 Recommendations at GEAR: First Step Is, Define the Rules 197
7.35 Recommendations at GEAR: Second Step Is, Compliance Checks 197
7.36 The Power of Criteria to Aid Agility 198
7.37 A True Story about the Abuse of Criteria 200
7.38 Summary: How CMMI Helps Agile 202
7.39 Summary: How Agile Helps CMMI 203
Chapter 8: People Challenges Implementing a “Hybrid” Agile Approach in a CMMI Process Mature Organization 205
8.1 What You Will Learn in This Chapter 206
8.2 Introduction 206
8.3 DART Case Study Background 207
8.4 DART Post-Mortem Project Assessment 208
8.5 More Case Study Background 208
8.6 The Way an Agile Approach Should Work with Respect to Task Management 209
8.7 Mistakes Made on DART 210
8.8 Why Didn’t We Prepare Al for His Collaboration Challenges? 211
8.9 More on the DART Case Study 212
8.10 Technique 1: 10 Percent Rule 213
8.11 Technique 2: Scope and Collaboration Management 214
8.12 More on the DART Case Study 215
8.13 How Did I Make the Decision Each Day on What Was Most Important? 216
8.14 More about “Less Visible” Tasks That Require More Time on Agile Projects 217
8.15 More about the Importance of Using a Scope Document 218
8.16 Technique 3: Push-Pull 219
8.17 How Can the CMMI Help Us Implement an Effective Hybrid Agile Approach? 221
8.18 Examples of CMMI Helping Agile Teams Self-Manage 221
8.19 How Is Management Affected by an Agile Approach? 227
8.20 The Importance of Personal Safety to Establishing a Culture of Trust 231
8.21 Summary: How CMMI Can Help “Hybrid” Agile 234
8.22 Summary: How “Hybrid” Agile Can Help CMMI 235
Part V: How Real Performance Improvement Is Achieved 237
Chapter 9: Your Repeating Specific Weaknesses: Finding Them, Why They Are Bad, Eliminating Them, and Keeping Them from Coming Back 239
9.1 What You Will Learn in This Chapter 240
9.2 Motivation and Objective 240
9.3 Using the Same Approach I Use to Help Clients 241
9.4 Determining the “As-Is” State of My Golf Game 241
9.5 The Stages of Mastering a New Skill 242
9.6 A Few Simple, but Critical Steps 245
9.7 My Golf Swing Repeating Specific Weaknesses 246
9.8 Repeating Specific Weakness Lessons 247
9.9 Golf Weaknesses and Analogies to Business 249
9.10 Agile Approach 250
9.11 Selecting Specific Checkpoints 250
9.12 Measurement Objectives and Aligned Measures 251
9.13 Another Checkpoint on the Golf Improvement Project 251
9.14 A Critical Distinction: Traditional CMMI and Agile Approach 251
9.15 Were the Checkpoints for the Three Repeating Weaknesses Sufficient? 255
9.16 Analysis 256
9.17 How Did I Address the Problem of My Golf Swing Getting Shorter? 257
9.18 Rhythm in Golf and High-Tech Organizations 257
9.19 What Business People Can Learn from Golf Professionals 259
9.20 How the Checkpoints Helped to Achieve the Golf Project Goal and More 260
9.21 Revisiting CMMI Level 4/5 Practices and Their Relationship to Agility 262
9.22 Summary: How Agile Can Help CMMI 263
Chapter 10: Summary and Conclusion 265
10.1 What You Will Learn in This Chapter 265
10.2 What Can We Learn from the Case Studies in This Book? 265
10.3 What Have We Learned from NANO and GEAR? 268
10.4 What Have We Learned about Measurement? 269
10.5 What Have We Learned by Thinking Out of the Box (Golf Project)? 270
10.6 The Value of Small Changes to Aid Real and Consistent Performance 271
10.7 Supporting Small Changes in Business: The Two Sides of Tailoring and Criteria 272
10.8 Conclusion 274
Epilogue: What Does Passion Have to Do with Performance? 279
Appendix A: Twelve Principles Behind the Agile Manifesto 285
Appendix B: Example Agile Project Management Plan (PMP) Template 287
Appendix C: Example Agile Organizational Process Asset Guidelines 293
Appendix D: Example Agile Process Asset Approval and Release Process 297
Appendix E: Example Agile Organizational Process Focus Process 299
Appendix F: Example Agile Organizational Process Definition Process 303
Appendix G: Terminology Used in This Book 307
References 309
About the Author 313
Index 315