SOA, Agile, Lean, etc. are The Answer, but What was The Question Again?

There have been a lot of good posts about SOA lately. Gestalt’s CTO, Jim Stogdill, points to both an article by Cynthia Rettig and Nicholas Carr’s follow up on Rettig’s article. The take away from these articles and posts seems to be that just as ERP software implementations have been plagued with mind numbing complexity, SOA is likely only adding another layer of complexity (or more!) on top of a fragile foundation.

Nick Malick, a Microsoft Enterprise Architect, also has some interesting thoughts on how we in the IT biz sell SOA to our customers. Nick has this to say regarding selling SOA to customers:

We do talk about SOA, just not with the business. It’s not that the business doesn’t understand SOA, or wouldn’t if we told them… it’s just that they are not incented to care. If I walk into a business meeting with the head of the Volume Licensing organization, I have to realize that his operational team books a little over $1B in revenue to Microsoft’s bottom line every month. Let’s say I take an hour of his time. During that hour, his organization has closed on $6M in revenue. If I ask for $200,000 for SOA, when SOA is basically good design done well, using modern tools, many of them free… I’ve wasted his time.

Well said Nick! While it’s easy to pile on SOA, I think all things “agile” and “lean” in the IT world need to be put under the same scrutiny. When a buzzword becomes the focus of the conversation with customers, be weary. Just as we in the IT biz often throw around SOA as the solution to just about any problem we come across, I’m finding that the terms “agile” and “lean” are treated in much the same way. I cringe when I hear about organizations that believe they’ve turned the titanic 180 degrees almost on a dime since they adopted agile/lean processes and best practices. It’s as if reality goes out the window and the buzzwords act as some sort of mind altering drug that makes things magically better.

How do we prevent the hysteria that inevitably arrives around new technologies and software development processes? I can think of some but they’re never as easy as saying a buzzword or two. For instance, we need to focus on the problems that we’re trying to solve, not the other way around. Who knows, maybe the problems require much more than SOA, agile, lean, etc. can solve. I think once we focus on the problem first and solutions second we then need to be more specific when we talk about these buzzword solutions. SOA, agile, lean, etc. likely mean one thing to me and quite another to you. By being more specific in what we’re really talking about we combat the one word answers that only build the buzz.