Defining Agile: Results, Characteristics, Practices

I think it’s important to define “Agile” when I talk about “Agile Testing.”

Agile is one of those capitalized umbrella terms, like Quality, that means many things to many people. And given that Agile Testing involves testing in an Agile context, it’s hard to talk about it if we have not established a shared understanding of the term “Agile.”

I define Agile in terms of results. Specifically, Agile teams:

  • Deliver a continuous stream of potentially shippable product increments
  • At a sustainable pace
  • While adapting to the changing needs and priorities of their organization


(Tip ‘o the hat due to various sources that inspired my definition, including the APLN’s Declaration of Interdependence for the phrase “continuous flow of value”, Scrum for the phrase “potentially shippable product increment”, XP for the core practice of “Sustainable Pace”, and Jim Highsmith plus too many other people/sources to mention for the idea of adapting to changing needs.)

Teams that are consistently able to achieve those results typically exhibit the following characteristics:

  • A high degree of Communication and Collaboration.
  • Seeking and receiving fast Feedback.
  • Seeking mechanisms to support Visibility so everyone knows what’s going on at any given time.
  • A high degree of Alignment so everyone is working toward the same goals.
  • A shared Definition of Done that includes Implemented, Tested, and Explored before being Accepted by the Product Owner.
  • A relentless Focus on Value.

And teams that manifest these characteristics typically have adopted a combination of Agile management and engineering practices including:

  • Prioritized Backlog
  • Short Iterations (or Sprints)
  • Daily Stand-ups (or Scrums)
  • Integrated/Cross-Functional Team
  • Continuous Integration
  • Collective Code Ownership
  • Extensive Automated Tests
  • etc.

Too many people equate practices (e.g. Prioritized Backlog) and methods (e.g. Scrum) with Agile. But that’s backwards. Agile practices and methods increase the odds of achieving Agility, but they’re not a guarantee. The practices serve the desired outcome, not the other way around.

Subscribe

Subscribe to our e-mail newsletter to receive updates.

2 Responses to Defining Agile: Results, Characteristics, Practices

  1. Alessandro Collino May 28, 2009 at 4:57 am #

    Elisabeth, I completely agree with you.

    I should add to your list of agile teams characteristic, also Adaptability, as the “ability to embrace change”.

    I still found so many people that try to manage or control “change”. But it’s impossible since we don’t live in a perfect world.
    AAMOF, change is inevitable, and I think that nobody can claim the opposite.

    Another agile teams characteristic IMHO is the “ability to reduce waste”. Lean “thinking” emphasizes this concept, but it is naturally present in agile teams DNA.

  2. Bill Albing June 2, 2009 at 7:08 am #

    Great summary! I think you would agree with me that the concept of Agile is as much about collaboration (customer and company) as it is about speed of delivery. While the word agile connotes nimbleness in delivery it is also about getting that feedback and the almost continuous discussion with the customer about what they need. I’m glad your bullet list has Communication and Collaboration first. Testing is so integral to that too; not as a separate activity but as a matter of showing that you’ve done what the customer asked for. Keep writing about Agile Testing — it’s new and we want to hear more.