Agile - In Theory
The current Agile backlash is getting a lot of traction on the web lately. We’ve been contacted by or come across lots of people who agree with us and this site has got more hits in the last two months then it has since it was started.
I’ve also read several blog posts, articles and comments attempting to define Agile in one way or another and they all sound so good. Here’s a small sample:
From Andy Hunt of the Pragmatic Programmers in a recent SD Times article:
“Agile development uses feedback to make constant adjustments in a highly collaborative environment.”
From SteveH:
Hi, I’m Steve Hayes, and I do agile development. It’s an inclusive, people-centred approach to doing iterative, incremental software development. It uses a combination of technical and social practices to increase collaboration and reduce feedback cycles. Agile development works best with an experienced team, as do most development methodologies. For the best results, agile practices should be customised to suit the strengths and weaknesses of your team, and the peculiarities of your domain. Agile development is not suitable for every project, or even every team. It has strengths, and it has weaknesses. There is no silver bullet.
From a comment by Kerry Buckley on Obie Fernandez’s blog.
It seems to me that discarding and adding practices to suit a specific project is the very essence of agile, providing you’ve worked with the “standard” practices enough to know why you’re changing them.
These are all great comments. I only wish they reflected what Agile development has become in the real world. These are great theoretical statements about Agile, and indeed they capture my original thinking and excitement when I first encountered Agile. However, they are theory only and as noted elsewhere on this and other sites, Agile development has become much less about being agile and more about following a certain set of practices that have been deemed “Agile”.
on July 25th, 2006 at 12:25 pm
I think that it doesn’t really matter what you call it - as long as you have a process that is responsive to change, people centered etc.
If some agile zealot or another think you are a “traditionalist” so be it.
It is funny, when you think about it, that agelist seem to be so hung on a “Process” where the practice of sticking to a prescribed process was exactly the wrong thing that started all this
Arnon
on July 25th, 2006 at 2:03 pm
Any thoughts on the Agile Manifesto? How does pliant differ from those statements?
on July 25th, 2006 at 4:18 pm
The Agile Manifesto is great. I couldn’t agree more with it. The problem is that “Agile development” has strayed away from the statements in it. Especially “Responding to change over following a plan.” The fact is that with Agile, there is a plan. The plan is to do XP (or SCRUM or whatever)in its entirety without taking into account the context you find yourself in and if you fail, then that means you didn’t implement the process correctly. Again, the manifesto is one of those things that sounds good in practice, and totally excited me when I first read it, but in reality has been a disappointment. If “Agile” really followed the Agile Manifesto, then Pliant likely wouldn’t exist.
on July 25th, 2006 at 10:22 pm
I suppose I disagree then with the need for a new term, especially a term that at its heart agrees with the manifesto of the term it’s trying to replace. If the Pliant Manifesto had some significant difference - then I could see the need to make a distinction (Extract Term refactoring).
on July 26th, 2006 at 5:28 am
The reason we need a new term is because “Agile” no longer reflects the Agile Manifesto, at least in my opinion (and the opinion of some people I’ve talked with). Agile is just a marketing term made up to entice people to buy books and dogmaticly implement new processes. There is some debate as to whether or not that was the original intention of “Agile”, but in any case, that seems to be how it is now. A new term is needed because “Agile” is now meaningless.
on July 26th, 2006 at 12:21 pm
I just discovered this site and I like it. The idea of doing whatever makes sense to deliver genuine value is really what the whole “agile” thing was supposed to be about in the first place. Pliantalliance is an understandable response to the buzzword abuse that’s been occurring with the word “agile”.
One of your peeves seems to be about people who get dogmatic about specific agile practices. Let me add one of mine: Vendors and consultants who re-cast whatever they’re selling as “agile”, no matter what it really is. When the next buzzword sweeps the industry, you can bet they’ll re-cast the same products and services under that name, too.
I’m going to keep using the word agile because it’s the word people relate to (at least for now), but the concept is definitely in line with what you’re writing about here.
I look forward to the day when IT work is routinely done in this common-sensical way, so that there’s no need for special buzzwords to describe it.
on July 26th, 2006 at 12:26 pm
I think “agile” is a way better word than pliant. I’d like to continue to use it, but I don’t want to give people the impression that I’m going to enforce a specific process in my software development regardless of the situation I’m in. It is somewhat unfortunate that pliantalliance.org even exists.
Anyway, welcome to the site.
on July 27th, 2006 at 12:29 pm
I wouldn’t necessarily say that “Agile” is meaningless, but I do agree that “Agile” is now ambiguous. Does it mean you should be agile, do agile, follow agile? The movement toward “doing Agile” has really turned into an excuse to not do a lot of things that are seen to be in the way, even if they are there for good reason.
on July 28th, 2006 at 8:12 am
Granted. But ambiguity is the drunk uncle of meaningless. :)
on August 10th, 2006 at 10:09 pm
My description of agile, quoted above, isn’t “theoretical”, and it is “real world”. I have been doing agile development, consistently with what I wrote, since 1999. The attempted hijacking/misunderstanding/misuse of the word won’t change what I do, it will still be agile, and I won’t abandon the term. Moving to another term will just beg for the whole process to be repeated anyway.
This is political, in that a word is being co-opted the way that “liberal” has been in the USA, and almost turned on it’s head. Instead of the people corrupting the word agile being on the defensive, I feel like I’m being criticised for sticking with the word. I was here first :-)
on August 10th, 2006 at 10:32 pm
If we thought that it was at all possible to get the word “agile” back to what it really means, or at least get rid of the confusion that has been created by those who are corrupting it, that would be our first choice. Unfortunately, there is too much at stake for those who have created the industry behind “Agile”. Getting the agile back in all meanings of “Agile Software Development” just isn’t going to happen.
I commend you for sticking with the word. No criticism was intended. What you are doing, based on your description, is agile in the truest sense of the word. All I was pointing out was that the prevailing definition, from what I’m seeing, does not agree with you.