Categories
code development lifehacks programming

Agile Is Dead

As a follow up to DDD Scotland 2011, I want to thank everyone who joined in. It’s time to reveal my ulterior motive : I did it all so I could get a blog post 🙂 So thanks to everyone who helped write the Agile Is Dead Mind Map – please feel free to join in the discussion below.

Agile’s been bouncing around in my head for a while given that it’s reached its tenth birthday, and a lot of people are talking Agile, but its not the agile I see in The Agile Manifesto. It’s a silver-bullet snake-oil leech that throws out agile words and terminology but without the guts to actually make agile work. It’s an agile that doesn’t challenge managers or clients, that sticks to deadlines and a list of features, but promises faster, cheaper development.

It doesn’t work.

And don’t call it agile.

Agile works when the customer understands that it’s an interactive process, when there is a functional feedback loop and when the plan is flexible enough to adapt to changes by dropping features or extending deadlines. If you’re not doing that, you’re not agile.

But, you can be successful without being agile, you can do functional testing, you can have a CI server, you can do team priorities, and stand-up meetings. But until you have feedback loops, for each developer, for each feature, and for the project, you’re still playing the old game. It’s an easier route. It’s more comfortable for everyone to have a defined role, for everyone to work from a fixed position. And that’s fine. Just don’t call it agile.

Procedures and tools provide comfort, I know that, you know that. Budgets drive your business, procedures help you budget, and procedures mitigate risk. If it’s signed off, it’s not your fault. But then, someone must have signed off the Ariane 5 too. Would you rather deliver software or paperwork? Is paperwork your protective shield?

If you’re a manager, do you trust your developers? Do you trust them to take decisions, to talk to the client, to deliver professional quality? As a professional developer, that’s the teams I want to work in, and I feel privileged when I get that chance, because those projects always work out smoothest in the end, although they can be the hardest to set up.

If you’ve tried agile and failed, did you really try it? Did you trust the developers to deliver, did you trust your manager to keep things running, did you trust the client to give you the feedback you needed? Did you trust yourself and your team to be honest?

Agile, the word, has been hijacked. It’s dead but still walking. What matters is the philosophy behind it. And it’s not easy. No profession is. Are you a professional or an unskilled cog in an assembly line?

I don’t give easy answers. I wanted to become a developer because the thing that drives me is solving problems. And these aren’t problems that stay solved. HTML 1.0 didn’t solve everything, that’s why we have HTML5. Project management is a problem you need to solve on every project. Every project you’ll learn something new, and you’ll face new challenges. I cannot prescribe a solution, because I don’t know your project, and that’s how agile works. You have to adapt to your surroundings. After all, you’re only human.

If you want to be agile, talk to your team, and don’t let your ego stifle peer reviews, paired programming or feedback sessions. And if anyone does let things get in the way, staple a copy of the Agile Manifesto to their head and blow raspberries at them. Or go and find out about Programmer Anarchy and ask if you or your team could cope with self-directed project management, just like anyone volunteering for open source. If not, why not?

Advertisement

12 replies on “Agile Is Dead”

Nice post and totally agree. I was really happy when I interviewed at GFI Software and found they really were using Agile properly, it’s one of the reasons I quit being freelance and took the job.

Like

Although I think there is plenty of snake oil to go around, I don’t think that “agile” is a binary, all or nothing endeavor.

There is a continuum to it, as there is with most things.

If you are looking for shops where everyone pair programs, and even line developers that mostly code sprocs all day speak with customers, I think that is going to be quite rare.

Jordan

Like

You’re reading my mind! There are values that should stand behing any agile organization – including management and customers. You can use all elements of agile, but still not be agile. Agility is cultivated, not enforced (although some people believe that’s the way it works …).

Cheers!
KaTe

Like

[…] I have seen it before. It’s an attitude I see when an incumbent supplier loses a renewal to a rival company, and tries to frustrate them, to make it look like the new team are incompetent, without grasping why they lost the contract in the first place. I see it with certain managers who have trouble relinquishing control. I’ve seen it with the customer who said “if you could only write bug free code, we wouldn’t need to test”. I can see where their thinking is coming from, but each example breaks down the trust between the customer and the supplier, and causes barriers to go up, which inevitably make deadlines trickier to meet, increase procedural safeguards, and kill any hope of agility. […]

Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.