Scaling Software Agility: Best Practices for Large Enterprises (Agile Software Development Series)

Paperback
from $0.00

Author: Dean Leffingwell

ISBN-10: 0321458192

ISBN-13: 9780321458193

Category: Programming Methodology

Search in google:

“Companies have been implementing large agile projects for a number of years, but the ‘stigma’ of ‘agile only works for small projects’ continues to be a frequent barrier for newcomers and a rallying cry for agile critics. What has been missing from the agile literature is a solid, practical book on the specifics of developing large projects in an agile way. Dean Leffingwell’s book Scaling Software Agility fills this gap admirably. It offers a practical guide to large project issues such as architecture, requirements development, multi-level release planning, and team organization. Leffingwell’s book is a necessary guide for large projects and large organizations making the transition to agile development.”–Jim Highsmith, director, Agile Practice, Cutter Consortium, author of Agile Project Management“There’s tension between building software fast and delivering software that lasts, between being ultra-responsive to changes in the market and maintaining a degree of stability. In his latest work, Scaling Software Agility, Dean Leffingwell shows how to achieve a pragmatic balance among these forces. Leffingwell’s observations of the problem, his advice on the solution, and his description of the resulting best practices come from experience: he’s been there, done that, and has seen what’s worked.”–Grady Booch, IBM FellowAgile development practices, while still controversial in some circles, offer undeniable benefits: faster time to market, better responsiveness to changing customer requirements, and higher quality. However,agile practices have been defined and recommended primarily to small teams. In Scaling Software Agility, Dean Leffingwell describes how agile methods can be applied to enterprise-class development.Part I provides an overview of the most common and effective agile methods.Part II describes seven best practices of agility that natively scale to the enterprise level.Part III describes an additional set of seven organizational capabilities that companies can master to achieve the full benefits of software agility on an enterprise scale.This book is invaluable to software developers, testers and QA personnel, managers and team leads, as well as to executives of software organizations whose objective is to increase the quality and productivity of the software development process but who are faced with all the challenges of developing software on an enterprise scale. Foreword Preface Acknowledgments About the Author  Part I: Overview of Software Agility Chapter 1: Introduction to Agile Methods Chapter 2: Why the Waterfall Model Doesn’t Work Chapter 3: The Essence of XP Chapter 4: The Essence of Scrum Chapter 5: The Essence of RUP Chapter 6: Lean Software, DSDM, and FDD Chapter 7: The Essence of Agile Chapter 8: The Challenge of Scaling Agile Part II: Seven Agile Team Practices That Scale Chapter 9: The Define/Build/Test Component Team Chapter 10: Two Levels of Planning and Tracking Chapter 11: Mastering the Iteration Chapter 12: Smaller, More Frequent Releases Chapter 13: Concurrent Testing Chapter 14: Continuous Integration Chapter 15: Regular Reflection and Adaptation Part III: Creating the Agile Enterprise Chapter 16: Intentional Architecture Chapter 17: Lean Requirements at Scale: Vision, Roadmap, and Just-in-Time Elaboration Chapter 18: Systems of Systems and the Agile Release Train Chapter 19: Managing Highly Distributed Development Chapter 20: Impact on Customers and Operations Chapter 21: Changing the Organization Chapter 22: Measuring Business Performance Conclusion: Agility Works at Scale Bibliography Index 

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