The Art of Agile Development

The second edition is now available! The Art of Agile Development has been completely revised and updated with all new material. Visit the Second Edition page for more information, or buy it on Amazon.

Art of Agile Development book cover

Welcome to the The Art of Agile Development, First Edition site! Here, you'll find a cornucopia of bonus material, such as downloadable posters, behind-the-scenes material, and new insights.

For bonus features and online text, follow the links in the table of contents below. Sections that include full text are marked with a book 📖.

Table of Contents

  1. Preface
  2. Part I: Getting Started
    1. Why Agile?
    2. How to Be Agile
    3. Understanding XP
      1. The XP Lifecycle
      2. The XP Team
      3. XP Concepts
    4. Adopting XP
      1. Is XP Right For Us?
      2. Go!
      3. Assess Your Agility
  3. Part II: Practicing XP
    1. Thinking
      1. Pair Programming
      2. Energized Work
      3. Informative Workspace
      4. Root-Cause Analysis
      5. Retrospectives
    2. Collaborating
      1. Trust
      2. Sit Together
      3. Real Customer Involvement
      4. Ubiquitous Language
      5. Stand-Up Meetings
      6. Coding Standards
      7. Iteration Demo
      8. Reporting
    3. Releasing
      1. "Done Done"
      2. No Bugs
      3. Version Control
      4. Ten-Minute Build
      5. Continuous Integration
      6. Collective Code Ownership
      7. Documentation
    4. Planning
      1. Vision
      2. Release Planning
      3. The Planning Game
      4. Risk Management
      5. Iteration Planning
      6. Slack
      7. Stories
      8. Estimating
    5. Developing
      1. Incremental Requirements
      2. Customer Tests
      3. Test-Driven Development
      4. Refactoring
      5. Simple Design
      6. Incremental Design and Architecture
      7. Spike Solutions
      8. Performance Optimization
      9. Exploratory Testing
  4. Part III: Mastering Agility
    1. Values and Principles
    2. Improve the Process
      1. Understand Your Project
      2. Tune and Adapt
      3. Break the Rules
    3. Rely on People
      1. Build Effective Relationships
      2. Let the Right People Do the Right Things
      3. Build the Process for the People
    4. Eliminate Waste
      1. Work in Small, Reversible Steps
      2. Fail Fast
      3. Maximize Work Not Done
      4. Pursue Throughput
    5. Deliver Value
      1. Exploit Your Agility
      2. Only Releasable Code Has Value
      3. Deliver Business Results
      4. Deliver Frequently
    6. Seek Technical Excellence

Media Reviews

I can't think of a better XP practitioner-guide to date that conveys both the practices and principles of XP for novices and intermediate-level readers, and also goes beyond explaining them to provide quintessential insights, tips, contraindications, alternatives, and organizational strategies for how to overcome the many technical and organizational barriers that can stall an otherwise successful attempt adopting XP.

Brad Appleton, Agile Journal

The Art of Agile Development by James Shore and Shane Warden is the most definitive description of agile development that I have seen. It is ultimately very readable and very detailed. It's quite obvious that the authors put a lot of experience and research into developing this practical guide to agile development...[T]his is an exceptional book and I recommend it to anyone who wants to be a modern developer of quality software.

Tim Dugan, StickyMinds.com

Interviews

Corrections

Release Announcement

I'm happy to announce the availability of The Art of Agile Development, by Shane Warden and myself. Our goal for this book was to provide a complete how-to guide and starter kit for beginning and intermediate agile practitioners. To keep the book concrete and practical, we focus on XP. If you're new to agile and are looking for a simple, direct, and comprehensive "how to" guide, I think you'll like our book.

Experienced practitioners will find a lot to like as well. We have detailed coverage of areas that often challenge teams: how to involve testers; how to have nearly zero bugs; how to mix design and architecture with incremental, customer-focused development; and release planning strategies and tactics. I'm particularly happy with our inclusion of risk management practices that allow you to make specific release commitments.

Experts--you know who you are--won't find much new in our book. You might be interested in our approach to functional testing (see the "No Bugs" practice), the risk-adjusted burn-up chart ("Risk Management" practice) and our discussion of agile principles (Part III). Our goal was to help our readers "master the art of agile development"--to have a intuitive understanding of the principles underlying XP and agile development. If you're an expert, you're already there. The primary value for experts, I think, will be as a reference for the teams you're coaching. Brian Marick said, "I will leave a copy of this book with every team I visit." Perhaps that's the value the book brings for you, too.

Shane and I packed everything we knew about the day-to-day practice of agile development into 400 pages. I'm very proud of the result. I hope you like it.