The failure of Agile

The failure of Agile
Photo by Lala Azizli / Unsplash

I've had a rant bouncing around my head for a while about "Agile".

In tech it's a given. Every job ad requires 'agile experience' whatever that might mean. But the purpose of agile is lost and has come an almost dogmatic adherence to doing things a certain way, primarily some variation of 'scrum'. Scrum of Scrums, kill me now.

You're just splitting work up into fortnightly blocks and for what? To either consistently over estimate or encourage your engineers to work longer hours to get the sprint done. Not to mention a whole bunch of tedious meetings. When was the last time someone actually read a [Manifesto for Agile Software Development](https://agilemanifesto.org/) (which I also note isn't written by the most representative group of older white men)?

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 just want to get shit done with as little in between me writing a [12 factor application](https://12factor.net/) as possible. Retros are a good idea - we should always be reflecting and improving. Kanban isn't a bad idea either - the key there is the autonomy of the engineer, and tracking the work.

CI/CD should be a given. Get value to customers as quickly as possible, deploy small deltas, use feature toggles to make sure that features are production ready. Ship continuously and reduce as many barriers to doing that as possible. Shift left, have good cultures around code reviews, TDD and some basic end-to-end tests to make sure you're not braking anything too critical.

It's a cringe-worthy thing to say, but agile is a mindset. It's about responding to change, collaboration and embracing the social nature of software development.