Scaling software agility : best practices for large enterprises

Author(s)

    • Leffingwell, Dean
    • Kruchten, Philippe

Bibliographic Information

Scaling software agility : best practices for large enterprises

Dean Leffingwell ; [foreword by Philippe Kruchten]

(The agile software development series / Alistair Cockburn and Jim Highsmith, series editors)

Addison-Wesley, c2007

  • : pbk

Available at  / 1 libraries

Search this Book/Journal

Note

Includes bibliographical references (p. 327-330) and index

Description and Table of Contents

Description

"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

Table of Contents

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

by "Nielsen BookData"

Related Books: 1-1 of 1

Details

  • NCID
    BB0602572X
  • ISBN
    • 9780321458193
  • LCCN
    2006038344
  • Country Code
    us
  • Title Language Code
    eng
  • Text Language Code
    eng
  • Place of Publication
    Upper Saddle River, NJ
  • Pages/Volumes
    xxix, 349 p.
  • Size
    24 cm
  • Classification
  • Subject Headings
  • Parent Bibliography ID
Page Top