Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
I like the values of the agile manifesto:
They are concrete. They do not a paint a gauzy vision of vague outcomes, they tell you how the world with be different.
They are actionable. They tell you what to do differently.
They are comparative. As much about what they are not as about what they are.
Above all, they are short. Not a single word is wasted. There is no space for fluff.
I like them a bit less than I used to but that is not the manifesto’s fault.. Everyone seems to be jumping on the agile bandwagon now. It is a solution to all organizational ills and a necessary part of "digital transformation" (whatever that is). But while you are probably performing "agile", are you really agile? And do you need to be?
To understand why I ask this, it is important to understand the context of agile. It arose because previous approaches to software development treated software like building construction or submarine manufacture. You created a comprehensive design that you then handed to a bunch of people to build. Then the constructed would be tested. Then it’s done.
But software is not like that. You can take it apart and rewrite it like magic. You can treat it like Lego blocks (or amino acids) and use the same pieces to make a startling variety of larger things that customers ask for. And after you have built what your customers have asked you to build, you find out they told you a pack of lies. That's a little harsh, they didn't mean to lie. Rather they told you what they thought they wanted which may be different to what they actually want which may be different to what they actually need.
Software developers grew tired of the endless gathering of lie-, er, requirements and so they developed techniques that focused on building software quickly, getting feedback from those using it, and then rebuilding it to be actually useful. Marc Andressen said that "software is eating the world" but it would be also be true to say that "software companies are eating the business press, the stock market, and the brains of non-tech execs".
These execs have been told they need to be "agile". And they have also been told that the way to be agile is to create lots of teams with scrum masters, have kanban boards (either on whiteboards with post-its or on Trello), create product backlogs in a thing called Jira, run sprints, and do lots of stuff. There's a "Spotify model". There are lots and lots and lots of training courses. But you need all these things to be agile or else you will die a thousand business deaths in the Pit of Disruption.
How is that working for you?