Agile's 20th anniversary

In February 2001, 17 senior software developers got together in a ski resort in the mountains of Utah to discuss software development methods. While having different experiences and having used different methods the attendees agreed that there were many shared values and beliefs. This resulted in the 12 Principles of Agile Software.

Below, I enlist these 23 year old principles literally, as I think that each and every one of them still holds true today in general. This is quite remarkable, as technology and its possibilities have grown in unforeseeable ways.


  1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
  2. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.
  3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
  4. Business people and developers must work together daily throughout the project.
  5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
  6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
  7. Working software is the primary measure of progress.
  8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
  9. Continuous attention to technical excellence and good design enhances agility.
  10. Simplicity – the art of maximizing the amount of work not done – is essential.
  11. The best architectures, requirements, and designs emerge from self-organizing teams.
  12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

[February 11-13, 2001]

However, many principles require increased emphasis at scale, while others need a more expanded perspective.

For example, Principle number 6 states that the most efficient and effective method of conveying information to a development team is a face-to-face conversation. Not having face-to-face interactions does not mean a business isn’t implementing Agile correctly, or that they won’t be able to achieve real value. In today’s pandemic world, we need to expand our thinking of what it means to be face-to-face and ensure that we are valuing “people and interactions” by providing the tools people need in order to collaborate better, such as Zoom, electronic white boards and more.

From experience, we also now know what doesn’t work when practicing the Agile Manifesto. Organizations that embrace Agile in name only and don’t embrace the underlying principles won’t get the key value an agile way of working can bring. There is no benefit in changing terminology without resolving root cause issues. Savvy companies are realizing this and making decisions to address these failure patterns.

Furthermore, most businesses struggle with adequate transparency, a lack of predictability, speed to market, lack of quality, etc. These are all things Agile can improve, however, instead of just doing Agile, I believe companies are better suited to explicitly focus on key business outcomes and in that context, leverage agile principles to bring that value into being.

  • content/12_principles_of_agile_software.txt
  • Last modified: 2021/10/05 08:28