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

&nbsp
; 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.