The Art of Agile Development

James Shore has totally upgraded The Art of Agile Development with new tools, techniques, and lessons from the past decade. This gem of a book will help you evolve your way of working to a truly Agile and effective way.

Bill Wake, XP123, LLC

Most companies developing software employ something they call “Agile.” But there’s widespread misunderstanding of what Agile is and how to use it. If you want to improve your software development team’s agility, this comprehensive guidebook’s clear, concrete, and detailed guidance explains what to do and why, and when to make trade-offs.

In this thorough update of the classic Agile how-to guide, James Shore provides no-nonsense advice on Agile adoption, planning, development, delivery, and management taken from over two decades of Agile experience. He brings the latest ideas from Extreme Programming, Scrum, Lean, DevOps, and more into a cohesive whole. Learn how to successfully bring Agile development to your team and organization—or discover why Agile might not be for you.

This book explains how to:

  • Improve agility: create the conditions necessary for Agile to succeed and scale in your organization

  • Focus on value: work as a team, understand priorities, provide visibilitym, and improve continuously

  • Delivery software reliably: share ownership, decrease development costs, evolve designs, and deploy continuously

  • Optimize value: take ownership of product plans, budget, and experiments—and produce market-leading software

Buy it from Amazon or find it on O’Reilly’s learning platform.

What’s New in the Second Edition

This second edition of The Art of Agile Development is a complete, ground-up rewrite of the first edition. It retains the down-to-earth, practical approach of the first edition, along with most of the first edition’s practices. But nearly all of them have been rewritten to take advantage of 14 years of advancements in Agile practice—not to mention 14 more years of experience on the part of the author.

James has completely restructured the book to allow for incremental adoption of Agile ideas and to better reflect teams’ real-world Agile usage. The principles and customization discussed in Part III of the first edition have been distributed among the practices to make them more prominent and accessible, and James has expanded every practice with suggestions for experimentation.

Notable additions include:

  • An in-depth guide to adopting Agile and customizing your adoption to your company’s needs, based on the Agile Fluency1 Model James created with Diana Larsen.

  • A new chapter on scaling Agile, based on James’ experience helping companies large and small.

  • A new chapter on DevOps, with new content about working with operations and security, as well as DevOps-inspired updates throughout the rest of the book.

  • Guidance on making Agile work with remote teams; many new practices, stories, and ideas; and too many other improvements and changes to mention.

1“Agile Fluency” is a registered trademark of Agile Fluency Project LLC.

Reviews

From code to product delivery, this book has it all. Decades of hard-earned knowledge made readable and digestible—a must-have for anybody working with or on a software development team.

Avi Kessner, Staff Engineer, Forter

The Art of Agile Development, Second Edition achieves quite a feat, condensing modern software delivery into a short, readable, and enjoyable book.

Gojko Adzic, author of Running Servless, Impact Mapping, and Specfication by Example

One of the most comprehensive books in agile software development I’ve ever read. Very pragmatic, with powerful examples easily applicable to any software development project regardless of tech stack, team size, or industry domain.

Luiza Nunes, Program Manager, ThoughtWorks

James has been around since early-agile days and knows his stuff. This book cuts through the crap in our industry, the meaningless “agile” that is all around, and provides a thorough, holistic approach.

Bas Vodde, Co-creator of LeSS

About the Author

James Shore has led teams in practicing Agile development since 1999. He combines a deep understanding of Agile ideas with decades of in-the-trenches development experience. James is a recipient of the Agile Alliance’s Gordon Pask Award for Contributions to Agile Practice, host of several software development screencasts, and co-creator of the Agile Fluency Model.

Discussion Forums

Discuss the book online! There are two options available:

Mailing listGoogle Groups sign-up
Live discussionDiscord invite

Art of Agile Development Book Club

Join the Art of Agile Development book club! We discuss a chapter of the book every Friday from 8-8:45am Pacific time. For details, see the book club event page. Recordings of past sessions are available on that page.

Table of Contents

Follow the links for an excerpt from each section.

📖 Links marked with a book have the full text available. Discuss them in the Art of Agile Development book club.

🎙 Links marked with a microphone have been the subject of a past book club session. Click the microphone to see the video, or visit the index of past book clubs.

  1. Preface
  2. Part I: Improving Agility
    1. 🎙 What is Agile?
    2. 🎙 How to Be Agile
    3. 🎙 Choose Your Agility
    4. 🎙 Invest in Agility
    5. 🎙 Invest in Change
    6. 🎙 Scaling Agility
  3. Part II: Focusing on Value
    1. Teamwork
      1. 🎙 Whole Team
      2. 🎙 Team Room
      3. 🎙 Safety
      4. 🎙 Purpose
      5. 🎙 Context
      6. 🎙 Alignment
      7. 🎙 Energized Work
    2. Planning
      1. 🎙 Stories
      2. 🎙 Adaptive Planning
      3. 🎙 Visual Planning
      4. 🎙 The Planning Game
      5. 🎙 Real Customer Involvement
      6. 🎙 Incremental Requirements
    3. Ownership
      1. 🎙 Task Planning
      2. 🎙 Capacity
      3. 🎙 Slack
      4. 🎙 Stand-Up Meetings
      5. 🎙 Informative Workspace
      6. 🎙 Customer Examples
      7. 🎙 “Done Done”
    4. Accountability
      1. 🎙 Stakeholder Trust
      2. 🎙 Stakeholder Demos
      3. 🎙 Forecasting
      4. 🎙 Roadmaps
      5. Management
    5. Improvement
      1. Retrospectives
      2. Team Dynamics
      3. Impediment Removal
  4. Part III: Delivering Reliably
    1. Collaboration
      1. 🎙 Collective Code Ownership
      2. 🎙 Pair Programming
      3. 🎙 Mob Programming
      4. 🎙 Ubiquitous Language
    2. Development
      1. 🎙 Zero Friction
      2. 🎙 Continuous Integration
      3. 🎙 Test-Driven Development
      4. 🎙 Fast, Reliable Tests
      5. 🎙 Refactoring
      6. 🎙 Spike Solutions
    3. Design
      1. 🎙 Incremental Design
      2. 🎙 Simple Design
      3. 🎙 Reflective Design
    4. DevOps
      1. 🎙 Build for Operation
      2. 🎙 Feature Flags
      3. 🎙 Continuous Deployment
      4. Evolutionary System Architecture
    5. Quality
      1. No Bugs
      2. Blind Spot Discovery
      3. Incident Analysis
  5. Part IV: Optimizing Outcomes
    1. Autonomy
    2. Discovery
    3. Into the Future