Can software succeed even if Agile failed?

I’ve got very interesting feedback for my last post about the decline of agile. I strongly believe that producing quality software, regardless of how it is produced is the most important thing we can do, regardless if we’re developers, managers or anything in between.

But is it enough to save agile?

Maybe it’s the wrong question. Does “agile” matter if we’re still pushing out quality software?

I’ve thought a lot about it, mainly because of Bob Martin’s comment:

I take solace in the fact that while TDD is no longer a conference draw, my classes in TDD are enjoying ever larger attendance. More and more people are _adopting_ TDD, and getting serious about good software practice. And _that_ is the thing that will advance the software industry, no matter what happens to the "Agile movement".

If TDD succeeds, we’ll get what we want – working software. That will bridge the gap between developers and the business, and everyone lives happily ever after.

I see a small problem with that plan (although I really wish it came true).

For the last decade, people have adopted TDD. They went through many obstacles that the business had put in front of them. That’s why successful adoption was despite management, rather than with their support.

It’s different now, isn’t it? More organizations are “doing” agile, and it’s easier to get support for agile practices. It’s easier to get funding for TDD classes. Less obstacles means more adoption.

What happens if (and when) the backlash begins?

Organizations that implemented agile poorly, would cry foul. “You stupid people, you’ve done agile without supporting software practices. What did you expect? You can’t have working software without software practices!” We’d say. But it will be too late. The press will cry out “AGILE IS DEAD! Get off the ship before it sinks!”.

The business people who supported agile will make a U-turn. And the team leader who wants to do TDD will need to go back to working in guerilla mode. At night, when no one is watching. And she will do TDD. Only this time, there will be more obstacles than before, because of that “failed-agile-thingy”.

I’m sure the righteous people will continue to promote the software practices. It’s just going to be a tougher battle than it used to be.

So where does that leave “the agile movement”? A very small, disbanded group of heroes, who thought they found the bridge between software and business. Instead, they lost all hope in ever getting trust between the two parties.

I’d rather have that bridge than lose it. Even if I had Working Software.

2 comments on “Can software succeed even if Agile failed?”

  1. Jeremy Reply
  2. Gil Zilberfeld Reply

    @Jeremy,

    Thanks for the comment!

    I believe we’re thinking the same (assuming you have the same problem with the quoted statement as well.)

    Unfortunately, there is no holy grail. For some cases, code reviews have better impact in finding bugs and transferring knowledge than unit testing. I would recommend both though.

    But if you look at the long term, having a code review between two people that in two years are out of the company and no test around it and then there’s a bug there… well you see where I’m going.

    Ultimately you need to take as many precautions as possible to not just make sure you find the bugs, but also have the capability to fix them quickly.

    Oh, and by the way – TDD DOES make for less bugs. It makes you think before you code.

Leave a Reply to Gil Zilberfeld Cancel reply

Your email address will not be published. Required fields are marked *

%d bloggers like this: