Foreword xvii Preface xxi Acknowledgments xxvii About the Author xxix Part I: Overview of Software Agility 1 Chapter 1: Introduction to Agile Methods 5 <p style="MARGIN: 0px">Achieving Competitive Advantage in a Software Economy 5</p> <p style="MARGIN: 0px">Enter Agile Methods 6</p> <p style="MARGIN: 0px">Agile at Scale 7</p> <p style="MARGIN: 0px">A Look at the Methods 8</p> <p style="MARGIN: 0px">The Trend to Agile Adoption 10</p> <p style="MARGIN: 0px">Business Benefits of Software Agility 11</p> <p style="MARGIN: 0px">A Brief Look at XP, Scrum, and RUP 13</p> <p style="MARGIN: 0px">Summary 15 Chapter 2: Why the Waterfall Model Doesn’t Work 17 </p> <p style="MARGIN: 0px">Problems with the Model 19</p> <p style="MARGIN: 0px">Assumptions Underlying the Model 20</p> <p style="MARGIN: 0px">Enter Corrective Actions via Agile Methods 26 Chapter 3: The Essence of XP 29 </p> <p style="MARGIN: 0px">What Is XP? 29</p> <p style="MARGIN: 0px">What’s So Controversial about XP? 30</p> <p style="MARGIN: 0px">What’s So Extreme about XP? 30</p> <p style="MARGIN: 0px">The Fundamental Tenet of XP 31</p> <p style="MARGIN: 0px">The Values, Principles, and Practices of XP 33</p> <p style="MARGIN: 0px">The Process Model for XP 38</p> <p style="MARGIN: 0px">Applicability of the Method 39</p> <p style="MARGIN: 0px">Suggested Reading 40 Chapter 4: The Essence of Scrum 41 </p> <p style="MARGIN: 0px">What Is Scrum? 41</p> <p style="MARGIN: 0px">The Roles in Scrum 42</p> <p style="MARGIN: 0px">The Philosophical Roots of Scrum 42</p> <p style="MARGIN: 0px">The Values, Principles, and Practices of Scrum 43</p> <p style="MARGIN: 0px">Key Practices of Scrum 44</p> <p style="MARGIN: 0px">The Fundamental Tenet of Scrum: Empirical Process Control 45</p> <p style="MARGIN: 0px">The Process Model for Scrum 46</p> <p style="MARGIN: 0px">On Scrum and Organizational Change 48</p> <p style="MARGIN: 0px">Applicability of the Method 48</p> <p style="MARGIN: 0px">Suggested Reading 49 Chapter 5: The Essence of RUP 51 </p> <p style="MARGIN: 0px">What Is RUP? 51</p> <p style="MARGIN: 0px">Key Characteristics of RUP 51</p> <p style="MARGIN: 0px">Roots of RUP 52</p> <p style="MARGIN: 0px">Agile RUP Variants 60</p> <p style="MARGIN: 0px">Applicability of the Method 61</p> <p style="MARGIN: 0px">Suggested Reading 62 Chapter 6: Lean Software, DSDM, and FDD 63 </p> <p style="MARGIN: 0px">Lean Software Development 63</p> <p style="MARGIN: 0px">Dynamic Systems Development Method 65</p> <p style="MARGIN: 0px">Feature-Driven Development 70 Chapter 7: The Essence of Agile 75 </p> <p style="MARGIN: 0px">What Are We Changing with Agile? 75</p> <p style="MARGIN: 0px">The Heartbeat of Agile: Working Code in a Short Time Box 81</p> <p style="MARGIN: 0px">Summary 85 Chapter 8: The Challenge of Scaling Agile 87 </p> <p style="MARGIN: 0px">Apparent Impediments of the Methods 88</p> <p style="MARGIN: 0px">Impediments of the Enterprise 90</p> <p style="MARGIN: 0px">Summary 94 Part II: Seven Agile Team Practices That Scale 95 Chapter 9: The Define/Build/Test Component Team 101 </p> <p style="MARGIN: 0px">What Is the Define/Build/Test Component Team? 102</p> <p style="MARGIN: 0px">Eliminating the Functional Silos 104</p> <p style="MARGIN: 0px">The Roles and Responsibilities of an Agile Component Team 106</p> <p style="MARGIN: 0px">Creating Self-Organizing, Self-Managing Define/Build/Test Teams 109</p> <p style="MARGIN: 0px">Distributed Teams 114 Chapter 10: Two Levels of Planning and Tracking 115 </p> <p style="MARGIN: 0px">A Generalized Agile Framework 116</p> <p style="MARGIN: 0px">Summary: Two Levels of Planning 120 Chapter 11: Mastering the Iteration 123 </p> <p style="MARGIN: 0px">Iteration: The Heartbeat of Agility 123</p> <p style="MARGIN: 0px">The Standard, Two-Week Iteration? 123</p> <p style="MARGIN: 0px">Planning and Executing the Iteration 124</p> <p style="MARGIN: 0px">Iteration Planning 125</p> <p style="MARGIN: 0px">Iteration Execution 129</p> <p style="MARGIN: 0px">Iteration Tracking and Adjusting 132</p> <p style="MARGIN: 0px">Iteration Cadence Calendar 135 Chapter 12: Smaller, More Frequent Releases 139 </p> <p style="MARGIN: 0px">Benefits of Small Releases 139</p> <p style="MARGIN: 0px">Defining and Scheduling the Release 141</p> <p style="MARGIN: 0px">Planning the Release 144</p> <p style="MARGIN: 0px">Release Tracking 147</p> <p style="MARGIN: 0px">The Release Roadmap 149</p> <p style="MARGIN: 0px">Agile at Scale Preview: Release Planning and Tracking in the Large 150 Chapter 13: Concurrent Testing 155 </p> <p style="MARGIN: 0px">Introduction to Agile Testing 155</p> <p style="MARGIN: 0px">Agile Testing Principles 156</p> <p style="MARGIN: 0px">Unit Testing 158</p> <p style="MARGIN: 0px">Acceptance Testing 160</p> <p style="MARGIN: 0px">Component Testing 162</p> <p style="MARGIN: 0px">System and Performance Testing 162</p> <p style="MARGIN: 0px">Summary: Agile Testing Strategy in a Nutshell 164 Chapter 14: Continuous Integration 169 </p> <p style="MARGIN: 0px">What Is Continuous Integration? 169</p> <p style="MARGIN: 0px">Continuous Integration 171</p> <p style="MARGIN: 0px">The Three Steps to Continuous Integration 172</p> <p style="MARGIN: 0px">What Is Continuous Integration Success? 175 Chapter 15: Regular Reflection and Adaptation 179 </p> <p style="MARGIN: 0px">Iteration Retrospective 180</p> <p style="MARGIN: 0px">Release Retrospective 184 Part III: Creating the Agile Enterprise189 Chapter 16: Intentional Architecture 195 </p> <p style="MARGIN: 0px">What Is Software Architecture? 195</p> <p style="MARGIN: 0px">Agile and Architecture 197</p> <p style="MARGIN: 0px">On Refactoring and Systems of Scale 201</p> <p style="MARGIN: 0px">What Are You Building? 202</p> <p style="MARGIN: 0px">An Agile Architectural Approach for Enterprise Class Systems 203</p> <p style="MARGIN: 0px">Building Architectural Runway 204 Chapter 17: Lean Requirements at Scale: Vision, Roadmap, and Just-in-Time Elaboration 213 </p> <p style="MARGIN: 0px">Overview: The Requirements Pyramid 213</p> <p style="MARGIN: 0px">What’s Different About Requirements in Agile? 217</p> <p style="MARGIN: 0px">A Scalable, Agile Requirements Approach: Vision, Roadmap, and Just-in-time Elaboration 222</p> <p style="MARGIN: 0px">Summary 235 Chapter 18: Systems of Systems and the Agile Release Train 237 </p> <p style="MARGIN: 0px">An Agile Component Release Schedule 238</p> <p style="MARGIN: 0px">The Agile Release Train 242</p> <p style="MARGIN: 0px">Release Train Retrospective 247 Chapter 19: Managing Highly Distributed Development 249 </p> <p style="MARGIN: 0px">At Scale, All Development Is Distributed Development 249</p> <p style="MARGIN: 0px">Case Study 1. Ping Identity: The Distributed Define/Build/Test Component Team 251</p> <p style="MARGIN: 0px">Case Study 2. BMC Software, Incorporated: An Agile Transformation in a Highly Distributed, Large-Scale Enterprise 255</p> <p style="MARGIN: 0px">Emphasizing Communications 261</p> <p style="MARGIN: 0px">Tooling Infrastructure for Enterprise Agility 265</p> <p style="MARGIN: 0px">Summary 269 Chapter 20: Impact on Customers and Operations 271 </p> <p style="MARGIN: 0px">The Benefits of Agile Methods to Sales and Marketing 272</p> <p style="MARGIN: 0px">Impact on Product Marketing/Product Management 273</p> <p style="MARGIN: 0px">Smaller and More Frequent Releases 275</p> <p style="MARGIN: 0px">Optimizing the Agile Release Process 276</p> <p style="MARGIN: 0px">Real Challenges and Misconceptions Regarding Agility from Real Sales and Marketing Executives 284 Chapter 21: Changing the Organization 289 </p> <p style="MARGIN: 0px">Overview 289</p> <p style="MARGIN: 0px">Why Does Agile Require Organizational Change? 290</p> <p style="MARGIN: 0px">Preparing for Scrum and Agility 295</p> <p style="MARGIN: 0px">Eliminating Impediments to Software Productivity 298</p> <p style="MARGIN: 0px">An Agile Model for Executive Management 299</p> <p style="MARGIN: 0px">Rolling Out Scrum/Agile in a Large Organization 304</p> <p style="MARGIN: 0px">Summary 309 Chapter 22: Measuring Business Performance 311 </p> <p style="MARGIN: 0px">Agility Measures: The Key Difference 311</p> <p style="MARGIN: 0px">Measuring Team Performance 312</p> <p style="MARGIN: 0px">On Metrics, “Process Police,” and Team Self-Assessment 318</p> <p style="MARGIN: 0px">Scaling to Organizational Performance: A Balanced Scorecard Approach 319</p> <p style="MARGIN: 0px">Agile Metrics at Scale: Implementing a Flexible, Automated, and Meaningful BSC for the Enterprise 322 Conclusion: Agility Works at Scale 325 Bibliography 327 Index 331</p>