Foreword by Mike Phillips xxiForeword by Hillel Glazer xxiiiPreface xxvAcknowledgments xxxi Part I: Introduction 1 Chapter 1: Introduction and CMMI/Agile Primers 51.1 Introduction and CMMI Primer 51.2 Agile Primer 101.3 General Information about the Case Studies 121.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 172.1 What You Will Learn in This Chapter 182.2 LACM Case Study Background 182.3 Where to Start When Using the CMMI Model to Increase Agility 182.4 Where Many Organizations Wrongly Start When Using the CMMI Model 202.5 How the CMMI Model Is Often Used, and Options Not Well Understood 202.6 Aligning Your Process Initiatives with Your Real Business Objectives 212.7 Aligning Process Descriptions and Training with the Real Process 222.8 Two Specific Examples to Increase Agility: Pruning and Leaning 232.9 Why More Organizations Don't Prune and Lean Their Processes Today 252.10 Understanding the CMMI Model Intent to Help Your Organization Succeed 252.11 Options You Have in Using the CMMI Model for Appraisals 262.12 An Alternative Approach to Agility 272.13 Summary: How CMMI Helps Agile 292.14 Summary: How Agile Helps CMMI 29 Chapter 3: Agility and the Higher CMMI Level Practices 313.1 What You Will Learn in This Chapter 313.2 Background on the Higher CMMI Level Practices 323.3 Case Study Background 333.4 Measurement Fundamentals 333.5 Measurement in the Case Study 343.6 Stepping Back 343.7 Digging Deeper for Candidate Root Causes 353.8 Specific Context Relevant Measures 363.9 Deriving the Right Data and Caring about the Data 373.10 What Does This Have to Do with CMMI High-Level Practices? 383.11 The Right Time to Implement CMMI Level 4/5 Practices 383.12 Relationships among CMMI, Agile, and Lean 383.13 Back to the Case Study: How CMMI, Agile, and Lean Can Help Together 393.14 What Happened in the Case Study and Process Improvement Insights 403.15 Back to the Case Study Again: What Really Happened 403.16 Insight 413.17 More about the Real Intent of CMMI Level 4 and 5 Practices 423.18 Continuous Process Improvement at LACM 453.19 Why the Unprecedented Success at LACM? 483.20 Diddling in DOORS: A Story about Real Work Management and Measurement 483.21 Finance Perspective on Work Management and Measurement 513.22 Is the CMMI Measurement and Analysis Process Area Inconsistent with the Agile Principle of Simplicity? 523.23 How LACM Handled Measurement and Analysis from the CMMI Perspective 533.24 Summary 533.25 Summary: How CMMI Helps Agile 543.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 574.1 What You Will Learn in This Chapter 574.2 BOND Case Study Background 584.3 What Is a Gap Analysis and Why Is It Crucial for Agile Organizations? 594.4 Keys to Conducting a Gap Analysis for an Agile Organization 604.5 Example of "Potential Weakness" Against CMMI in an Agile Organization 624.6 Running Process Improvement like a Project 644.7 TWG Approach for Agile Organizations 644.8 Revisiting the Goal and Challenges on the Process Improvement Project 664.9 Alternative Practices and Tailored Agile TWG 674.10 Returning to the Peer Review Example 694.11 Tailored TWG Techniques and Lessons at BOND 704.12 Preparation Work for Running Agile TWGs 714.13 Packaging of Processes 714.14 An Agile Organizational Process Asset Structure 734.15 Process Asset Guidelines Used at BOND 774.16 Different Organizations with Different Process Asset Structures 774.17 Agile TWG Roles and Responsibilities 784.18 Effective Techniques to Run an Agile TWG 794.19 Separating the TWG Work from the Lead Offline Work 794.20 What Do You Do When You Find a Gap? 804.21 Answers to Common Questions When Running an Agile TWG 814.22 Do I Need a DAR Process? 824.23 Do I Need to Verify Everything I Develop? 824.24 Do I Need to Make Sure the Steps in My Processes Are in the Right Order? 834.25 Do I Need to Make Sure Process Descriptions Are Not Redundant? 844.26 Can Requirements Be Captured in an Email or PowerPoint Slides? 854.27 Do Requirements Need to Be Captured in Single "Shall Statements"? 864.28 Formalizing Informality 864.29 Summary 884.30 Summary: How Agile Helps CMMI 88 Chapter 5: Bringing Process Maturity to Agile Organizations-Part II 915.1 What You Will Learn in This Chapter 915.2 BOND Case Study Background 925.3 Project Management at BOND 955.4 Starting with Roles and Responsibilities at BOND 965.5 Growing Project Leaders from the Inside 985.6 Example Stretch Point: Adding a Project Management Plan per Agreed Template 995.7 "The What"-Scoping the Effort 1015.8 "The Who"-Managing Your Resource and Skill Needs 1025.9 Common "Undocumented-Super-Spreadsheet" Resource Management Process 1045.10 "The When" 1045.11 Life Cycle-It's Your Choice 1065.12 "The How"-Team Meetings, Task Monitoring, and Course Correction 1085.13 Senior Management Briefings: An Area in Which the CMMI Can Help Agile 1085.14 Example of Senior Brief Evolution: Backup Slides for Efficient Use of Time 1095.15 "The How Much"-Don't Force the Team to Perform "Unnatural Acts" 1105.16 Lessons from Formalizing Planning at BOND 1115.17 The Plan as a Living Document at BOND 1135.18 The Power of Templates 1135.19 Do I Need to Write Down Meeting Minutes and Action Items? 1165.20 Involving Relevant Stakeholders 1185.21 Involving Relevant Stakeholders -Additional Help Sometimes Needed 1195.22 Sharing Across the Organization 1205.23 A Measurement and Analysis Process That Fits an Agile Organization 1235.24 Training All Project Personnel in the Organization 1265.25 Technical Solution in an Agile Organization 1275.26 Product and Process Quality Assurance 1285.27 Mitigating the Risk of Your CMMI Appraisal in an Agile Organization 1295.28 Lost Momentum Risk After Reaching Your CMMI Goal 1305.29 Party Time! We're Level 3! The Meeting a Year Later with Ethan 1315.30 Summary 1325.31 Summary: How CMMI Helps Agile 133 Part IV: CMMI Helping Address Agile Misapplications 135 Chapter 6: Common Misunderstandings of Defined Processes and Agility 1376.1 What You Will Learn in This Chapter 1386.2 NANO Case Study Background and Problem Faced 1396.3 How NANO Achieved Success and Then Got in Trouble 1396.4 The Positive Side of NANO's Agility 1406.5 Where NANO's Agile Approach Broke Down 1406.6 Complicating Factors at NANO 1416.7 Preparing for the Gap Analysis at NANO 1416.8 Gap Analysis Findings at NANO 1426.9 Example of a Generic Practice 1426.10 How Some View Process in Agile Organizations 1436.11 An Example of Process Misunderstanding 1446.12 Another Example of Process Misunderstanding 1456.13 The Good and Not So Good Sides of Distributed Process Ownership 1466.14 Priority Recommendations at NANO 1466.15 Develop an OPF and OPD Process at NANO 1476.16 Using the CMMI Framework as a Process Roadmap at NANO 1486.17 Example of Using CMMI Framework as a Roadmap 1496.18 Addressing the Stakeholder Weakness at NANO 1496.19 Maintaining a Successful Agile Culture as You Grow Requires Training 1506.20 You Can't Just Use Another Organization's Processes and Get the Intended Value 1526.21 Another Example of Formalizing Informality 1526.22 Addressing Risk in the Process Improvement Plan at NANO 1546.23 The NANO Process Improvement Plan 1566.24 Priority-Based Incremental Deployment Supported by Scenario Training 1566.25 More on GP 2.7 and Clarifying Roles and Responsibilities at NANO 1576.26 The NANO Roles and Responsibilities Off-Site Meeting 1586.27 "White Space" Tasks 1596.28 An Alternative Approach to Defining Roles and Responsibilities 1616.29 An Alternative Approach to Tailoring at NANO 1626.30 Planning with Uncertainty Using an Agile and CMMI-Compliant Approach 1636.31 CMMI Project Planning Consistent with Agile Planning 1666.32 Summary: How CMMI Helps Agile 1676.33 Summary: How Agile Helps CMMI 168 Chapter 7: Bringing Process Maturity to an R&D Culture 1697.1 What You Will Learn in This Chapter 1697.2 GEAR Case Study Background 1707.3 Common Patterns at GEAR 1717.4 The Common Pattern of Unclear Process Asset Requirements 1717.5 Criteria and Product Content Templates 1727.6 Writing Processes for People in "My Department" 1737.7 Stakeholder Matrix and Product Template Recommendations 1747.8 OPF and OPD for Agile Organizations 1747.9 At GEAR, "No One Has a Hammer" 1757.10 Another Advantage to Keeping the "How-to" Guidance Separate 1757.11 Aligning Engineering and Project Management at GEAR 1767.12 At GEAR, "It Depends on Who Shows Up" 1777.13 Does the Written and Trained Process Match the Real Process? 1787.14 Requirements Change Approval Alignment with Real Work 1797.15 Asking the Intent Question Leads to Behavior Change 1807.16 Process Development and Deployment Optimizations at GEAR 1817.17 Advantages and Disadvantages to the "Thread" Approach 1867.18 Process Tailoring 1887.19 Strengths and Weaknesses of Tailoring at GEAR 1887.20 Tailoring Recommendations at GEAR 1887.21 Agile Process Tailoring Guidance: Always Tailor Up 1897.22 Tailoring Down-The Wrong Approach but Used in Many Organizations 1907.23 Why Tailoring Up Makes Sense 1907.24 Will Tailoring Up Solve All Your Tailoring Issues? 1907.25 The Purpose of Criteria and How They Can Help Tailoring 1917.26 Process Compliance Issues at GEAR-The Problem 1927.27 Process Compliance from a CMMI Model Perspective 1937.28 Product and Process Quality Assurance (PPQA) 1937.29 GP 2.8 Monitor and Control the Process 1947.30 Options to Achieve GP 2.8 1947.31 Keeping an Organization "Balanced" Versus Shifting a Culture 1947.32 An Option to Help Achieve GP 2.8 Through Gates 1957.33 "How to" Options to Implement PPQA 1957.34 Recommendations at GEAR: First Step Is, Define the Rules 1977.35 Recommendations at GEAR: Second Step Is, Compliance Checks 1977.36 The Power of Criteria to Aid Agility 1987.37 A True Story about the Abuse of Criteria 2007.38 Summary: How CMMI Helps Agile 2027.39 Summary: How Agile Helps CMMI 203 Chapter 8: People Challenges Implementing a "Hybrid" Agile Approach in a CMMI Process Mature Organization 2058.1 What You Will Learn in This Chapter 2068.2 Introduction 2068.3 DART Case Study Background 2078.4 DART Post-Mortem Project Assessment 2088.5 More Case Study Background 2088.6 The Way an Agile Approach Should Work with Respect to Task Management 2098.7 Mistakes Made on DART 2108.8 Why Didn't We Prepare Al for His Collaboration Challenges? 2118.9 More on the DART Case Study 2128.10 Technique 1: 10 Percent Rule 2138.11 Technique 2: Scope and Collaboration Management 2148.12 More on the DART Case Study 2158.13 How Did I Make the Decision Each Day on What Was Most Important? 2168.14 More about "Less Visible" Tasks That Require More Time on Agile Projects 2178.15 More about the Importance of Using a Scope Document 2188.16 Technique 3: Push-Pull 2198.17 How Can the CMMI Help Us Implement an Effective Hybrid Agile Approach? 2218.18 Examples of CMMI Helping Agile Teams Self-Manage 2218.19 How Is Management Affected by an Agile Approach? 2278.20 The Importance of Personal Safety to Establishing a Culture of Trust 2318.21 Summary: How CMMI Can Help "Hybrid" Agile 2348.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 2399.1 What You Will Learn in This Chapter 2409.2 Motivation and Objective 2409.3 Using the Same Approach I Use to Help Clients 2419.4 Determining the "As-Is" State of My Golf Game 2419.5 The Stages of Mastering a New Skill 2429.6 A Few Simple, but Critical Steps 2459.7 My Golf Swing Repeating Specific Weaknesses 2469.8 Repeating Specific Weakness Lessons 2479.9 Golf Weaknesses and Analogies to Business 2499.10 Agile Approach 2509.11 Selecting Specific Checkpoints 2509.12 Measurement Objectives and Aligned Measures 2519.13 Another Checkpoint on the Golf Improvement Project 2519.14 A Critical Distinction: Traditional CMMI and Agile Approach 2519.15 Were the Checkpoints for the Three Repeating Weaknesses Sufficient? 2559.16 Analysis 2569.17 How Did I Address the Problem of My Golf Swing Getting Shorter? 2579.18 Rhythm in Golf and High-Tech Organizations 2579.19 What Business People Can Learn from Golf Professionals 2599.20 How the Checkpoints Helped to Achieve the Golf Project Goal and More 2609.21 Revisiting CMMI Level 4/5 Practices and Their Relationship to Agility 2629.22 Summary: How Agile Can Help CMMI 263 Chapter 10: Summary and Conclusion 26510.1 What You Will Learn in This Chapter 26510.2 What Can We Learn from the Case Studies in This Book? 26510.3 What Have We Learned from NANO and GEAR? 26810.4 What Have We Learned about Measurement? 26910.5 What Have We Learned by Thinking Out of the Box (Golf Project)? 27010.6 The Value of Small Changes to Aid Real and Consistent Performance 27110.7 Supporting Small Changes in Business: The Two Sides of Tailoring and Criteria 27210.8 Conclusion 274 Epilogue: What Does Passion Have to Do with Performance? 279 Appendix A: Twelve Principles Behind the Agile Manifesto 285Appendix B: Example Agile Project Management Plan (PMP) Template 287Appendix C: Example Agile Organizational Process Asset Guidelines 293Appendix D: Example Agile Process Asset Approval and Release Process 297Appendix E: Example Agile Organizational Process Focus Process 299Appendix F: Example Agile Organizational Process Definition Process 303Appendix G: Terminology Used in This Book 307 References 309About the Author 313Index 315
Paul E. McMahon, Principal, PEM Systems, has been an independent consultant since 1997, helping companies increase agility and process maturity. He has taught software engineering at Binghamton University, State University of New York; has conducted workshops on engineering processes and management; and has published more than 35 articles, including several on Agile development. His insights reflect 24 years of engineering and management experience working for companies such as Link Simulation and Lockheed Martin.
Praise for Integrating CMMI (R) and Agile Development "When Alistair Cockburn gave the keynote for our Software Engineering Process Conference in San Jose, I knew that the issues that had separated CMMI and Agile were far more about perceptions than about principled development. This book fills a critical need in bridging two communities that share a common purpose-producing high-quality software systems that excite the customer and win repeat business opportunities."-Mike Phillips, CMMI Project Manager, Software Engineering Institute; coauthor, CMMI (R)-ACQ: Guidelines for Improving the Acquisition of Products and Services "The client cases Paul describes are easily relatable and can be extrapolated to many organizations. He spends most of his efforts in these cases on the basics that are common to CMMI and Agile. In particular, he dutifully applies Lean principles and practices to empower Agile practices and facilitate CMMI practices. . . . Chapter 9 is the book's best stuff-not because it's about golf, but because this is the point at which you get answers to your key question: What's in it for me?"-Hillel Glazer, Principal and CEO, Entinex, Inc.; Certified High Maturity SCAMPI Lead Appraiser; CMMI Instructor "This book will measurably improve how systems and software systems are developed."-Bob Epps, Program Management Senior Manager, Lockheed Martin Corporate Engineering and Technology "Having experience with both CMMI and Agile, I find this book very insightful. I keep taking notes. I think it is a great aid to anyone who has been through the process."-Jim Convery, Director, Alion Science & Technology Corp., BMH Advanced Modeling & Simulation Technology Operation, a CMMI Maturity Level 3 Organization "I consider the discussion of model-based improvement in the early chapters of this book to be one of the best I have seen. Paul has great insight into effective software process improvement and is articulate in describing both the issues and ways in which they should be considered."-Dr. Mark Paulk, Senior Systems Scientist, Institute for Software Research, Carnegie Mellon University; Development Lead, Software Capability Maturity Model (CMM for Software) "This is a good topic presented with lots of practical points, helpful summaries, and interesting case studies. The idea of `Doorway Risk Management' in Chapter 4 is great!"-John Troy, Program Manager, Rockwell Collins, Inc. "I found several really nice nuggets throughout the book (lessons, cautions, insights, etc.). I also liked the summary sections at the end of each chapter and the extensive use of case studies. Finally, I discovered some real gems in the Epilogue, which provides a very nice conclusion for the book."-Kyle Gabhart, Director of Emerging Technologies, Web Age Solutions; coauthor, Service Oriented Architecture: A Field Guide for Executives