I know that’s a pretty bold statement but here’s why. This morning I went to a vendor’s presentation morning, it was the usual game of buzzword bingo from the very first slide on. All the usual enterprise2.0, social-networking, portal-compliant, content-management, vertically-integrated, SOA-BPM-UCM-JEE-ESB-WS-BPEL platform-framework-enabling scalability-enhancing fun-lovin’ don’t write code but manage-the-enterprise-blog-wiki-twitter-facebook-youtube shopping cart drag-n-drop non-content that we have all come to expect from the big vendors was fully in attendance.
But the real kicker was a presentation on Agile Integration, by one of the vendor’s partners (and in the interests of disclosure, a competitor to my own employer). A few slides in and there’s the inevitable “what is agile” slide with a standard dictionary definition and some lip-service to previous history. Now the thing here of course, is that the word Agile in software development parlance is by now a well-entrenched piece of jargon – it has a specific meaning to most people that is fairly precise and different to just the garden-variety common English usage. This is the purpose of jargon in a discipline: to be precise in communication. And the agile manifesto, nearly 10 years old, just means in effect, if you’re in the software development game you just can’t redefine the term to mean something else.
Except of course, you can, if you do, and you’re big enough and enough people listen to your incredibly mangled marketoid-speak. But implementing a SOA solution is not Agile, no matter how many times you make an incredibly weak case that it is or how many times you repeat any other platform-orientated mantra. Yes, you read it right, according to the vendor’s partner at least, SOA is Agile.
This banality made me so angry, it was very lucky that straight after there was the morning coffee break because I was seething and it took all my self-discipline not to launch into an attack during the questions (easy picking, because there were no other questions asked!). I had to vent at my poor colleagues in the break.
Anyway, on my admittedly pessimistic reading it means that Agile Is Dead, as pretty soon we are going to find clients telling people, “Yeah we do agile, we bought the million-dollar SOA package off that vendor”, and then they’ll be saying the reason their integration projects are still failing is because they haven’t installed the very latest patchset, or upgraded to all-new LEANsuite 17.4.15.8 release B with the optional drag-n-drop Super-Agility add-in for Portals, Release 16f (the “f” is for “fail”).
At sushi train lunch afterwards, we made the observation that pretty much the vendor wants to be all the food groups all at once. Kind of like this bit of gluggy sushi I mistakenly lifted off the train:
Now I’m not saying that you can’t do “SOA” with an agile process, if that’s your preferred architectural style, then if you are committed you can certainly develop it in an Agile fashion. You can’t afford however, to confuse the two things. If you do, that picture above isĀ what your enterprise will look like too if you mistake the buzzword bingo offered by vendors for actual insight into agile development process. Talk to an expert instead.
Sorry to be so negative, the whole morning pretty much sapped my will to live.

16 Comments
What you experienced is not untypical for overused language. The term ‘Agile’ has been tossed around long enough to accumulate meaning it doesn’t actually have. Also don’t expect vendors to differentiate between their products or service offerings and underlying concepts (sad I know).
I have a feeling the fans of agile practices will strike back by rebranding their efforts sooner or later
Yes, the current buzzword addiction is unbearable. I am sure, that most people don’t even know what they’re talking about. Reminds me somehow of a recent post on The Old New Thing: http://blogs.msdn.com/oldnewthing/archive/2009/06/16/9756461.aspx
Yep, I see this all the time. Same with RUP, or anything else, like SOA, BPM, LEAN, whatever. There is an attachment to the word or acronym that people, especially vendors, want to be associated with, which I’m sure they ultimately want to say that it’s just better.
Where I work (can’t disclose this, but let’s just say it’s a really really big bank), there are the same cornucopia or initiatives around these tag lines, led by people who are entrenched in the original “outdated” way of thinking, and somehow things are supposed to change, when the problem is part culture, part organization, and everyone plays the same instruments but a different song and it’s still out of tune. I myself refuse to even use the word ‘Agile’ anymore, or even ‘Scrum’, although I am leading efforts in those areas, just to sidestep the inevitable. Instead, I let them call it whatever they want so there isn’t any emotional attachment to the phrase, and help place practices and facilitating tools into groups and projects so that they are behaving in an agile way. I’ll tell them what they were doing once they can do it without coaching and want to own it psychologically after it is internalized
Sneaky, but effective!
Heh, this was worth reading just for the third sentence alone! When I think of “agile SOA” I think of using (REST or XML-RPC) and (WebDAV or AtomPub) instead of the middleware or ESB du jour.
What, they didn’t mention cloud?
I just received a deja vu while reading your post.
If i wouldn’t know it better, I would bet it was the same powerpoint cunning company with a big A in their name …
It’s called cooptation. Anything good gets diluted by institutions until all the goodness is sucked out. They did it to the hippies too…
Yeah, how long until we can drop all the monikers and just be able to say to each other “we just get stuff done and make the customer happy”? Though naturally a few weeks after that we’ll be talking about the Getting Stuff Done methodology and taking advanced courses in Making The Customer Happy.
*Sigh*
But yes.. the SOA vendor seems to have no shame.
So, you can imagine my disappointment and building frustration as I’ve watched this happen again and again over twenty years, with a long string of technologies, movements and methodologies. Some things never change, do they?
Someday, when we get beyond all of this, we might actually be able to replace our COBOL mainframes with something else that is actually better. Someday.
Yes, it’s frustrating to have something that you’re proud to be associated with prostituted for personal gain by people who really have no clue about what they’re destroying. It happens to just about every good or innovative idea at some point. Some people get on the bandwagon, and some people just ride the coattails.
What this really means is that the concept that you’ve known for years is great has finally received the recognition it deserves. But along with that upside comes the downside: unwanted imitation, where copycats can not only dilute the meaning of a terrific concept, but could also sully its good name forever. Basically, you have no choice but to ride it out for a while until the imitators find a new buzzword to start leeching the life force out of. That’s when the “XYZ” that you love so much becomes “XYZ Classic” or “The Real XYZ.” And even if its good name is irreparably damaged, as Jin Chun mentions above, the same practices can be implemented without ever referring to their names at all.
What happens with really strong concepts, though, is that they weather the storm and, if need be, reinvent themselves. The word “Agile” might’ve taken a pretty decent hit in your vendor’s presentation, but that really just means that Agile is very much alive and and will come out stronger for it no matter what it’s called.
Agile started as a grass roots movement, against the backdrop of the corporate nonsense of RUP, waterfall, etc. Time to wrest it back.
Agile is dead. Long live Agile!
“Agile is dead. Long live Agile!”
I considered using that very title for the piece but went for the more fatalistic short-hand version after I had finished writing it.
SOA (in the way it is being implemented by a lot of vendors) is the exact opposite of Agile. They promote the idea of starting at the integration level to create integration services, then – when you’re done- move upwards to create the business services, then -when you’re done here- move upwards again and start building the composite apps.
To do this well, you should know exactly what integration services you will need to create all the business services you need to create the composite applications. Doesn’t that sound waterfall to you? A lot of analysis gathering, months (or even years) of implementation of stuff that will never get into the hands of users…. and after 18 months they pull out a composite application… success! NOT!
An Agile approach is what will save SOA implementations from doom. Starting with a limited set of requirements to quickly create the services-chain that will allow you to deploy an application that you can give users, gather feedback and then fine-tune, extends, create another app, and so on.
Although I also feel that the Agile word is being killed by misuse, Agile per se is not dead and will not be anytime soon. How to talk about SOA and Agile? I’d say that “SOA is dead – Agile to the rescue” could be a good title
Michel
Software is “also” an industry. Some people will assess their importance by the budget they manage/spent or the price of the tool they sell. If you say to your manager: I want to implement a new process for the software development department and I just need to spend 10 dollars/euros buying 3×5 cards, most of the time he will think that something is wrong with you ;o)
Man.. something is stirring in the meme pool..
Michel: Bingo! SOA takes over *everything*, even where it’s not needed. Even the industrial automation industry is afflicted with the SOA disease, but some friends of mine and I are fighting back. See http://rest-pca.org
Franco: You’re absolutely on the mark. The old Toyota Production System that sparked off ‘lean’ (and indirectly ‘agile’) actively discourages complex, expensive, technological solutions in favour of stuff that just works – preferring systems that give feedback to a process without imposing too much of an administrative overhead. Who said we need all these tricky tools to manage our development processes? I’m giving up on Mingle, Jira, etc and just going back to the old card system – knowing I can walk into the development room and see exactly where the team is up to. See http://rubyredbricks.com/2009/6/26/requirements-are-transient-artifacts
Sorry for putting the links in here Scott, but I think you’ve started something and the momentum needs to keep on building.
Ladies and gentlemen, may I suggest that a revolution is underway. It may not be televised, but it will be blogged.
It’s 2x funny, because SOA has been “meaning less” for years now as well. Now, when people say they are doing Agile, you have to follow that up with a series of questions…
Sadly, most people have reduced agile to the “value responding to change over following a plan” aspect because that is closest in meaning to the English word ‘agile’. In it’s most degenerate form it simply becomes, “don’t plan (just buy our stuff)”. This is why Scrum and XP don’t suffer the same fate as much, they don’t have a dictionary definition to fall back on.
Now, logically speaking, Agile isn’t dead, of course. More broadly we can say that people are poorly applying the label.
What is SOA really anyway? It’s really a form of code reuse which differs from library oriented code reuse in that you connect to a running instance of the reused code over the network, thus creating unnecessary live interdependencies between systems. Or is it that systems should have well defined, technology stack independent, APIs to share data using verbose formats?
One Trackback/Pingback
[...] appropriate to yesterday’s Agile is Dead rant – because certain vendors are now out and about flogging that “SOA is Agile” in the [...]