If you’re an engineer I can already hear you letting out a sigh.
As long as I’ve been in the world of building software I’ve heard the term “agile” and I’ve never really dug into it too much.
It’s always had connotations of “work” and project management and, to be honest, Jira.
Yuck!
It was only recently when someone shoved the core principles of the Agile Manifesto under my nose that I thought to take a closer look.
If you haven’t come across the Agile Manifesto before, you can find it on a website that appears to be unchanged since the 90s. It’s gloriously old school.
But the words are as relevant as ever. If anything they feel more relevant and important.
For convenience, here are the principles, with a little interpretation of my own.
Satisfy the customer
Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
Satisfy the customer. Satisfy the customer.
If nothing else, this is the most important principle of all. If this was the only principle, and every single organisation and individual adopted it, I think software would be perceived in a much more positive light by people. And I think we would perhaps have a lot less, but better, software.
Embrace change
Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.
Changing your mind when new information emerges is a good thing.
Working software in weeks
Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
I'd argue this should now be hours, or days, in the age of AI.
Don't ignore the business
Business people and developers must work together daily throughout the project.
By "business" people I'd include customer service, marketing, sales, and leadership.
Trust motivated people
Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
Speak to each other
The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
Technically Google Meet and Zoom are face to face. But nothing beats being in person.
Actual working software is the priority
Working software is the primary measure of progress.
Yes you can get a fancy dashboard to measure user numbers, activity, and more. In fact, I am inclined to believe analytics can be very helpful! But don't lose sight of the top priority: working software.
In an age of tokenmaxxing, and having witnessed previous phases of optimising for "lines of code written", this feels like a rather important goal to keep in mind.
Sustainable development is sustainable
Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
You can only move fast and break things


