(book cover)

Buy it now from Amazon!

The Art of Agile Development

Welcome to the The Art of Agile Development book 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. Sections that include full text are marked with a star **.

Table of Contents

  1. Preface (** Full text!)
  2. Part I: Getting Started
    1. Why Agile?
    2. How to Be Agile
    3. Understanding XP
      1. The XP Lifecycle
      2. The XP Team (** Full text!)
      3. XP Concepts
    4. Adopting XP (** Full text!)
      1. Is XP Right For Us? (** Full text!)
      2. Go! (** Full text!)
      3. Assess Your Agility
  3. Part II: Practicing XP
    1. Thinking (** Full text!)
      1. Pair Programming (** Full text!)
      2. Energized Work (** Full text!)
      3. Informative Workspace (** Full text!)
      4. Root-Cause Analysis (** Full text!)
      5. Retrospectives (** Full text!)
    2. Collaborating (** Full text!)
      1. Trust (** Full text!)
      2. Sit Together (** Full text!)
      3. Real Customer Involvement (** Full text!)
      4. Ubiquitous Language (** Full text!)
      5. Stand-Up Meetings (** Full text!)
      6. Coding Standards (** Full text!)
      7. Iteration Demo
      8. Reporting
    3. Releasing (** Full text!)
      1. "Done Done" (** Full text!)
      2. No Bugs (** Full text!)
      3. Version Control (** Full text!)
      4. Ten-Minute Build (** Full text!)
      5. Continuous Integration (** Full text!)
      6. Collective Code Ownership (** Full text!)
      7. Documentation (** Full text!)
    4. Planning (** Full text!)
      1. Vision (** Full text!)
      2. Release Planning (** Full text!)
      3. The Planning Game (** Full text!)
      4. Risk Management
      5. Iteration Planning (** Full text!)
      6. Slack (** Full text!)
      7. Stories (** Full text!)
      8. Estimating (** Full text!)
    5. Developing (** Full text!)
      1. Incremental Requirements (** Full text!)
      2. Customer Tests (** Full text!)
      3. Test-Driven Development (** Full text!)
      4. Refactoring (** Full text!)
      5. Simple Design (** Full text!)
      6. Incremental Design and Architecture (** Full text!)
      7. Spike Solutions (** Full text!)
      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.

Bonus Features and Full Text

The Art of Agile Development: Preface - 26 Nov, 2010

The Art of Agile Development: Refactoring - 19 Nov, 2010

The Art of Agile Development: Release Planning - 05 Nov, 2010

The Art of Agile Development: Version Control - 22 Oct, 2010

The Art of Agile Development: Stand-Up Meetings - 15 Oct, 2010

The Art of Agile Development: Go! - 08 Oct, 2010

The Art of Agile Development: Simple Design - 24 Sep, 2010

The Art of Agile Development: Vision - 17 Sep, 2010

The Art of Agile Development: Continuous Integration - 10 Sep, 2010

The Art of Agile Development: Coding Standards - 03 Sep, 2010

The Art of Agile Development: Chapter 4: Adopting XP - 27 Aug, 2010

The Art of Agile Development: Is XP Right For Us? - 27 Aug, 2010

The Art of Agile Development: Customer Tests - 20 Aug, 2010

The Art of Agile Development: Stories - 06 Aug, 2010

The Art of Agile Development: Ten-Minute Build - 30 Jul, 2010

The Art of Agile Development: The XP Team - 23 Jul, 2010

The Art of Agile Development: Informative Workspace - 16 Jul, 2010

The Art of Agile Development: Incremental Requirements - 09 Jul, 2010

The Art of Agile Development: The Planning Game - 02 Jul, 2010

The Art of Agile Development: Documentation - 25 Jun, 2010

The Art of Agile Development: Real Customer Involvement - 18 Jun, 2010

The Art of Agile Development: Energized Work - 11 Jun, 2010

The Art of Agile Development: Spike Solutions - 04 Jun, 2010

The Art of Agile Development: Iteration Planning - 28 May, 2010

The Art of Agile Development: Collective Code Ownership - 21 May, 2010

The Art of Agile Development: Ubiquitous Language - 14 May, 2010

The Art of Agile Development: Retrospectives - 07 May, 2010

The Art of Agile Development: Incremental Design and Architecture - 30 Apr, 2010

The Art of Agile Development: Estimating - 23 Apr, 2010

The Art of Agile Development: No Bugs - 16 Apr, 2010

The Art of Agile Development: Trust - 09 Apr, 2010

The Art of Agile Development: Root-Cause Analysis - 02 Apr, 2010

The Art of Agile Development: Chapter 9: Developing - 26 Mar, 2010

The Art of Agile Development: Test-Driven Development - 26 Mar, 2010

The Art of Agile Development: Slack - 19 Mar, 2010

The Art of Agile Development: Chapter 8: Planning - 19 Mar, 2010

The Art of Agile Development: Chapter 7: Releasing - 12 Mar, 2010

The Art of Agile Development: "Done Done" - 12 Mar, 2010

The Art of Agile Development: Chapter 6: Collaborating - 05 Mar, 2010

The Art of Agile Development: Sit Together - 05 Mar, 2010

The Art of Agile Development: Chapter 5: Thinking - 28 Feb, 2010

The Art of Agile Development: Pair Programming - 26 Feb, 2010

The Art of Agile Development: Risk Management - 10 Oct, 2008

The Art of Agile Development: Reporting - 11 Jun, 2008

The Art of Agile Development: Iteration Demo - 04 Jun, 2008

The Art of Agile Development: Assess Your Agility - 27 Feb, 2008

The Art of Agile Development: XP Concepts - 06 Feb, 2008

The Art of Agile Development: The XP Lifecycle - 23 Jan, 2008

The Art of Agile Development: How to Be Agile - 16 Jan, 2008

The Art of Agile Development: Why Agile? - 09 Jan, 2008

The Art of Agile Development: Performance Optimization

The Art of Agile Development: Exploratory Testing

The Art of Agile Development: Values and Principles