- Home
- Scott Ambler
Disciplined Agile Delivery
Disciplined Agile Delivery Read online
Disciplined Agile Delivery
A Practitioner’s Guide to Agile Software Delivery in the Enterprise
Scott Ambler and Mark Lines
IBM Press
Pearson plc
Upper Saddle River, NJ • Boston • Indianapolis • San Francisco
New York • Toronto • Montreal • London • Munich • Paris • Madrid
Cape Town • Sydney • Tokyo • Singapore • Mexico City
Ibmpressbooks.com
The authors and publisher have taken care in the preparation of this book, but make no expressed or implied warranty of any kind and assume no responsibility for errors or omissions. No liability is assumed for incidental or consequential damages in connection with or arising out of the use of the information or programs contained herein.
© Copyright 2012 by International Business Machines Corporation. All rights reserved.
Note to U.S. Government Users: Documentation related to restricted right. Use, duplication, or disclosure is subject to restrictions set forth in GSA ADP Schedule Contract with IBM Corporation.
IBM Press Program Managers: Steven Stansel, Ellice Uffer
Cover design: IBM Corporation
Publisher: Paul Boger
Marketing Manager: Stephane Nakib
Publicist: Heather Fox
Acquisitions Editor: Bernard Goodwin
Managing Editor: Kristy Hart
Designer: Alan Clements
Project Editor: Betsy Harris
Copy Editor: Geneil Breeze
Indexer: Erika Millen
Compositor: Nonie Ratcliff
Proofreader: Debbie Williams
Manufacturing Buyer: Dan Uhrig
Published by Pearson plc
Publishing as IBM Press
IBM Press offers excellent discounts on this book when ordered in quantity for bulk purchases or special sales, which may include electronic versions and/or custom covers and content particular to your business, training goals, marketing focus, and branding interests. For more information, please contact:
U. S. Corporate and Government Sales
1-800-382-3419
[email protected]
For sales outside the U. S., please contact:
International Sales
[email protected]
The following terms are trademarks or registered trademarks of International Business Machines Corporation in the United States, other countries, or both: IBM, the IBM Press logo, Rational, developerWorks, Rational Team Concert, Jazz, Rhapsody, Build Forge, Global Business Services, WebSphere, Sametime, and Lotus. A current list of IBM trademarks is available on the web at “copyright and trademark information” as www.ibm.com/legal/copytrade.shtml.
IT Infrastructure Library is a registered trademark of the Central Computer and Telecommunications Agency which is now part of the Office of Government Commerce.
Java and all Java-based trademarks and logos are trademarks or registered trademarks of Oracle and/or its affiliates. Microsoft, Windows, Windows NT, and the Windows logo are trademarks of Microsoft Corporation in the United States, other countries, or both.
Other company, product, or service names may be trademarks or service marks of others.
Library of Congress Cataloging-in-Publication data is on file.
All rights reserved. This publication is protected by copyright, and permission must be obtained from the publisher prior to any prohibited reproduction, storage in a retrieval system, or transmission in any form or by any means, electronic, mechanical, photocopying, recording, or likewise. For information regarding permissions, write to:
Pearson Education, Inc.
Rights and Contracts Department
501 Boylston Street, Suite 900
Boston, MA 02116
Fax (617) 671-3447
ISBN-13: 978-0-13-281013-5
ISBN-10: 0-13-281013-1
Text printed in the United States on recycled paper at R.R. Donnelley in Crawfordsville, Indiana.
First printing June 2012
Praise for Disciplined Agile Delivery
“Finally, a practical down-to-earth guide that is true to agile values and principles while at the same time acknowledging the realities of the business and the bigger picture. You will find no purist dogma here, nor any hype or hyperbole. Ambler and Lines show how to navigate the varied contexts and constraints of both team-level and enterprise-level needs to hit the agile ‘sweet spot’ for your team and attain the real benefits of sustainable agility. I wish I’d had this book ten years ago!”
—Brad Appleton, agile/lean development champion for a large fortune 150 telecommunications company
“We have found the guidance from Disciplined Agile Delivery to be a great help in customizing our PMO governance for agile projects at CP Rail. The book will definitely be on the must-read list for teams using agile delivery.”
—Larry Shumlich, project manager coach, Canadian Pacific Railway
“This book is destined to become the de facto standard reference guide for any organization trying to apply agile/scrum in a complex environment. Scott and Mark provide practical guidance and experiences from successful agile teams on what it takes to bring an end-to-end agile delivery lifecycle to the enterprise.”
—Elizabeth Woodward, IBM agile community leader, coauthor of A Practical Guide to Distributed Scrum
“There are many ways to achieve the benefits of agility, so it’s really encouraging to see a pragmatic and usable ‘umbrella’ description that encapsulates most of these without becoming a diluted kind of ‘best of’ compilation, or a one-size-fits-all. Great reading for anyone orientating themselves in an ever-growing and complex field.”
—Nick Clare, agile coach/principal consultant, Ivar Jacobson International
“Scott and Mark have compiled an objective treatment of a tough topic. Loaded with insights from successful application under game conditions, this book strikes a good balance between progressive agilists looking to accelerate change and conservative organizational managers looking for scalable solutions.”
—Walker Royce, chief software economist, IBM
“Disciplined Agile Delivery, a hybrid and experience-based approach to software delivery, reflects the growing trend toward pragmatism and away from the anti-syncretism that has plagued the software development industry for over 40 years. I commend Scott and Mark for writing this book and showing the leadership necessary to take our profession to the next level.”
—Mark Kennaley, CTO, Software-Development-Experts.com; author of SDLC 3.0: Beyond a Tacit Understanding of Agile
“I’ve seen ‘certified agile’ run rampant in an organization and create more severe problems than it solved. Finally, we have a definitive source on how to apply agile pragmatically with discipline to deliver success. Thanks, Scott and Mark.”
—Carson Holmes, EVP, service delivery, Fourth Medium Consulting, Inc.
For Olivia, who will always be my little pumpkin. —Scott
To my beautiful family, Louise, Brian, and Katherine,
for your love and support. I am truly blessed... —Mark
Contents
Part 1: Introduction to Disciplined Agile Delivery (DAD)
Chapter 1 Disciplined Agile Delivery in a Nutshell
Context Counts—The Agile Scaling Model
What Is the Disciplined Agile Delivery (DAD) Process Framework?
People First
Learning Oriented
Agile
A Hybrid Process Framework
IT Solutions over Software
Goal-Driven Delivery Lifecycle
Enterprise Aware
Risk and Valu
e Driven
Scalable
Concluding Thoughts
Additional Resources
Chapter 2 Introduction to Agile and Lean
Toward a Disciplined Agile Manifesto
Disciplined Agile Values
Disciplined Agile Principles
Lean Principles
Reality over Rhetoric
Concluding Thoughts
Additional Resources
Chapter 3 Foundations of Disciplined Agile Delivery
The Terminology Tar Pit
Scrum
Extreme Programming (XP)
Agile Modeling (AM)
Agile Data
Lean Software Development
IBM Practices
Open Unified Process (OpenUP)
And Others
Those Who Ignore Agile Practices Put Their Business at Risk
Concluding Thoughts
Additional Resources
Part 2: People First
Chapter 4 Roles, Rights, and Responsibilities
The Rights of Everyone
The Responsibilities of Everyone
The DAD Roles
Concluding Thoughts
Additional Resources
Chapter 5 Forming Disciplined Agile Delivery Teams
Strategies for Effective Teams
The Whole Team
Team Organization Strategies
Building Your Team
Interacting with Other Teams
Concluding Thoughts
Additional Resources
Part 3: Initiating a Disciplined Agile Delivery Project
Chapter 6 The Inception Phase
How the Inception Phase Works
Aligning with the Rest of the Enterprise
Securing Funding
Other Inception Activities
When Do You Need an Inception Phase?
Inception Phase Patterns
Inception Phase Anti-Patterns
Concluding Thoughts
Additional Resources
Chapter 7 Identifying a Project Vision
What’s in a Vision?
How Do You Create a Vision?
Capturing Your Project Vision
Bringing Stakeholders to Agreement Around the Vision
Concluding Thoughts
Additional Resources
Chapter 8 Identifying the Initial Scope
Choosing the Appropriate Level of Initial Detail
Choosing the Right Types of Models
Choosing a Modeling Strategy
Choosing a Work Item Management Strategy
Choosing a Strategy for Nonfunctional Requirements
Concluding Thoughts
Additional Resources
Chapter 9 Identifying an Initial Technical Strategy
Choosing the Right Level of Detail
Choosing the Right Types of Models
Choosing a Modeling Strategy
Architecture Throughout the Lifecycle
Concluding Thoughts
Additional Resources
Chapter 10 Initial Release Planning
Who Does the Planning?
Choosing the Right Scope for the Plan
Choosing a General Planning Strategy
Choosing Cadences
Formulating an Initial Schedule
Estimating the Cost and Value
Identifying Risks
Concluding Thoughts
Additional Resources
Chapter 11 Forming the Work Environment
Forming the Team
Choosing Your Toolset
Organizing Physical Work Environments
Organizing Virtual Work Environments
Visual Management
Adopting Development Guidelines
Concluding Thoughts
Additional Resources
Chapter 12 Case Study: Inception Phase
Introducing the AgileGrocers POS Case Study
Developing a Shared Vision
Requirements Envisioning
Creating the Ranked Work Item List of User Stories to Implement the Solution
Architecture Envisioning
Release Planning
Other Inception Phase Activities
Alternative Approach to Running Your Inception Phase
Concluding the Inception Phase
Concluding Thoughts
Part 4: Building a Consumable Solution Incrementally
Chapter 13 The Construction Phase
How the Construction Phase Works
The Typical Rhythm of Construction Iterations
The Risk-Value Lifecycle
When Are You Ready to Deploy?
Construction Patterns
Construction Anti-Patterns
Concluding Thoughts
Chapter 14 Initiating a Construction Iteration
Why Agile Planning Is Different
Iteration Planning
Visualizing Your Plan
Look-Ahead Planning and Modeling
Concluding Thoughts
Additional Resources
Chapter 15 A Typical Day of Construction
Planning Your Team’s Work for the Day
Collaboratively Building a Consumable Solution
Ongoing Activities Throughout the Day
A Closer Look at Critical Agile Practices
Stabilizing the Day’s Work
Concluding Thoughts
Additional Resources
Chapter 16 Concluding a Construction Iteration
Demonstrate the Solution to Key Stakeholders
Learn from Your Experiences
Assess Progress and Adjust Release Plan if Necessary
Assess Remaining Risks
Deploy Your Current Build
Determine Strategy for Moving Forward
Concluding Thoughts
Additional Resources
Chapter 17 Case Study: Construction Phase
Continuing Our Scenario with the AgileGrocers POS Case Study
Planning the Iteration’s Work
Subsequent Construction Iterations
Other Construction Phase Activities
Concluding the Construction Phase Iterations
Concluding Thoughts
Part 5: Releasing the Solution
Chapter 18 The Transition Phase
How the Transition Phase Works
Planning the Transition Phase
Ensuring Your Production Readiness
Preparing Your Stakeholders for the Release
Deploying the Solution
Are Your Stakeholders Delighted?
Transition Phase Patterns
Transition Phase Anti-Patterns
Concluding Thoughts
Additional Resources
Chapter 19 Case Study: Transition Phase
Planning the Phase
Collaborating to Deploy the Solution
AgileGrocers’ Delight
Concluding Thoughts
Part 6: Disciplined Agile Delivery in the Enterprise
Chapter 20 Governing Disciplined Agile Teams
What Should Governance Address?
Why Is Governance Important?
Why Traditional Governance Strategies Won’t Work
Agile Governance
Agile Practices That Enable Governance
Fitting in with the Rest of Your IT Organization
Measuring Agile Teams
Risk Mitigation
Concluding Thoughts
Additional Resources
Chapter 21 Got Discipline?
Agile Practices Require Discipline
Reducing the Feedback Cycle Requires Discipline
Continuous Learning Requires Discipline
Incremental Delivery of Consumable Solutions Requires Discipline
Being Goal-Driven Requires Discipline
Enterprise Awareness Requires Discipline
Adopting a Full Lifecycle Requires Discipline
Streamlining Inception Requires Discipline
 
; Streamlining Transition Requires Discipline
Adopting Agile Governance Requires Discipline
Moving to Lean Requires Discipline
Concluding Thoughts
Additional Resources
Index
Foreword
The process wars are over, and agile has won. While working at Forrester, we observed that agile methods had gone mainstream, with the majority of organizations saying that they were using agile on at least 38% of their projects. But the reality of agile usage, as Scott and Mark point out, is far from the original ideas described by the 17 thought leaders in 2001. Instead, agile is undermined by organizational inertia, politics, people’s skills, management practices, vendors, and outsourced development. I observed that the reality of agile was something more akin to water-scrum-fall—water-scrum describing the inability of an organization to start any project without a lengthy phase up front that defined all the requirements, planning the project in detail, and even doing some of the design. Scrum-fall defines the release practices operated by most organizations in which software is released infrequently, with costly and complex release practices that include manual deployments and testing. Water-scrum-fall is not all bad, with some benefits to the development team working in an iterative, scrum-based way, but water-scrum-fall does not release the power of agile. Enterprise agile not only creates the most efficient software development process but more importantly delivers software of greater business value. It is my assertion that scaled, enterprise-level agile is therefore not just important for your software-delivery organization but crucial for business success. Fixing water-scrum-fall will increase business value and enable organizations to compete. And this book provides a framework to make that happen.
In this book, Scott and Mark, two very experienced software-delivery change agents, describe a detailed framework for how to scale agile to the enterprise. They show how change leaders can amplify agile, making it not just about teams but about the whole value stream of software delivery. In many books about agile adoption, the really tricky problems associated with governance and organizational control are often side-stepped, focusing on why it is stupid to do something rather than how to change that something. Scott and Mark have not done this. They have focused clearly on the gnarly problems of scale, describing practical ways of fixing governance models, staffing issues, and management approaches. Their use of lean positions their framework in a broader context, allowing change leaders to not only improve their delivery capability but also connect it directly to business value. But be warned: These problems are not easily solved, and adopting these ideas does not just require agile skills but also draws on other process models, change techniques, and good engineering practices.