Scaling Software Agility

by Dean Leffingwell

Published 6 February 2007
“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 Fellow

Agile 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 



“We need better approaches to understanding and managing software requirements, and Dean provides them in this book. He draws ideas from three very useful intellectual pools: classical management practices, Agile methods, and lean product development. By combining the strengths of these three approaches, he has produced something that works better than any one in isolation.”

–From the Foreword by Don Reinertsen, President of Reinertsen & Associates; author of Managing the Design Factory; and leading expert on rapid product development

Effective requirements discovery and analysis is a critical best practice for serious application development. Until now, however, requirements and Agile methods have rarely coexisted peacefully. For many enterprises considering Agile approaches, the absence of effective and scalable Agile requirements processes has been a showstopper for Agile adoption. In Agile Software Requirements, Dean Leffingwell shows exactly how to create effective requirements in Agile environments.

  • Part I presents the “big picture” of Agile requirements in the enterprise, and describes an overall process model for Agile requirements at the project team, program, and portfolio levels
  • Part II describes a simple and lightweight, yet comprehensive model that Agile project teams can use to manage requirements
  • Part III shows how to develop Agile requirements for complex systems that require the cooperation of multiple teams
  • Part IV guides enterprises in developing Agile requirements for ever-larger “systems of systems,” application suites, and product portfolios

This book will help you leverage the benefits of Agile without sacrificing the value of effective requirements discovery and analysis. You’ll find proven solutions you can apply right now–whether you’re a software developer or tester, executive, project/program manager, architect, or team leader.