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 visibility, 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, find it on O’Reilly’s learning platform, or purchase it at your favorite bookseller. Print and ebook editions are available.

Translations and Special Editions

Book cover for the German translation of “The Art of Agile Development, Second Edition” by James Shore. The title reads, “James Shore: Die Kunst der agilen Entwicklung: Grundlagen, Methoden und Praktiken.“ Below the title are two bullet points: “Mit einem Geleitwort von Martin Fowler” and “Aus dem Englischen von Wolf-Gideon Bleek und Tim Müller Übersetzung der 2., vollständig überarbeiteten Auflage.” It’s published by dpunkt.verlag. The top third of the cover shows the English edition artwork (a water glass containing a goldfish and a small sapling with green leaves). The rest of the cover is white with a goldfish below the text.

German

Book cover for the traditional Chinese translation of “The Art of Agile Development, Second Edition” by James Shore. The title reads, “敏捷開發的藝術”. It’s translated by 盧建成 and published by 蓉舝 (www.gotop.com.tw). Other than translated text, the cover is the same as the English edition, showing a water glass containing a goldfish and a small sapling with green leaves.

Traditional Chinese

Book cover for the Indian edition of “The Art of Agile Development, Second Edition” by James Shore. It’s the same as the normal edition, showing a water glass containing a goldfish and a small sapling with green leaves, except that the publisher is listed as SPD as well as O’Reilly. There’s also a black badge labelled “Greyscale Edition” that reads, “For Sale in the Indian Subcontinent and Selected Countries Only (refer back cover).”

India and Africa (English)

Book cover for the Korean translation of “The Art of Agile Development, Second Edition” by James Shore. The title reads, “[국내도서] 애자일 개발의 기술 2/e”. It’s translated by 김모세 and published by O’Reilly. Other than translated text, the cover is the same as the English edition, showing a water glass containing a goldfish and a small sapling with green leaves.

Korean

Russian and Simplified Chinese editions are currently in development.

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 James Shore and Diana Larsen.

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 Forum

Discuss the book in our Discord forum!

Art of Agile Development Book Club

The Art of Agile Development Book Club used the book as a jumping-off point for wide-ranging discussions about Agile ideas and practices. It had a star-studded guest list that sparked deep and interesting conversations. Recordings are available in the book club index or by clicking the microphone links in the table of contents below.

Watch more here.

Table of Contents

Follow the links for an excerpt from each section.

📖 Links marked with a book have the full text available.

🎙 The microphones link to a book club session discussing that topic. Click the microphone to see the video, or visit the book club index.

  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