Agile Principles: Progress Requires Working Software

Pixel perfect design mockups, UML diagrams, detailed user stories, automated tests, thousands of lines of code and hours of discussions. These are just a few examples of the endless amount of stuff we can spend time creating, tweaking, editing, testing and reviewing. However, nothing shows progress quite like working software.

So what is working software? That’s going to be different for every team, but a good starting point might be “software that is deployed to and delivers value to the customer”. This means it might be ugly, imperfect, not-absolutely-intuitive and likely somewhat incorrect and that’s okay; you’re one step closer to making it meaningfully better.

This post is part of my series on the principles behind the agile manifesto. You can find the others here: