My first thought was: What do you mean, code is not your friend?
Might this compendium of blogs be IBM putting some some distance between its own approach and Microsoft People Ready? I thought I would Google the phrase, and there is an explanation. The tagline for IBM’s architect central comes from a blog post by Marc Colan.
The reason for SOA is to build change into your design, to take a proactive approach that allows IT flexibility to support changing business and technical needs. That’s the whole point of using loose coupling: to avoid rigid infrastructures. Point-to-point brings back rigid infrastructures. ESB enables adaptive infrastructures and adds a lot of valuable capabilities.
And sure, you could write code that does all of this and more. But code is not your friend: the more you have, the more maintenance costs, the more complexity is a problem. That’s why using supported middleware to simplify your IT makes financial and practical sense. [italics mine]
I am good with everything until the final statement, which I don’t think follows. Surely lesscode should mean using tools that do indeed rely on less code, that are built using lesscode? Just because middleware is "supported" doesn’t mean it is low maintenance: that is an assumption, not a conclusion.
It is really important that IBM’s architecture visionaries internalise some thinking about simplicity. Simplicity is not a spontaneous emergent function of abstraction. Abstraction doesn’t create simplicity, it often just hides complexity. Hiding complexity can be a good thing, certainly, but its also good to try and drive it out where possible.
Why is it important that IBM continue more aggressively down the road to lesscode, with better installation mechanisms, more effective default configurations, and "less function meaning good" codebases? Well, for one thing, the key FUD message from pretty much every IBM Software Group competitor is that WebSphere and other IBM tools are hard to configure and manage, and require "support", from IBM, in the shape of armies of technical consultants to install and maintain the software. The "IBM Services Tax".
Grassroots developers meanwhile can smell complexity from a download away, they can smell it wafting over that little wall called developerworks registration. I appreciate that IBM supports legacy environments with religious zeal, which is one of the reasons it is a great company. But most developers dont want to deal with other people’s cruft – they don’t even want to deal with their own cruft… and developers choose platforms.
Lesscode, as Marc Colan seemingly understands, leads to lessconfig, which is where real economic savings come in. "Code is not your friend": I wonder what IBM’s Sam Ruby or 37Signals David Heinemeier Hannson make of the idea? Perhaps the real answer is to choose your friends more carefully. How much has really changed since Business 2.0 wrote this piece three years ago, other than Oracle acquiring key application partners?
IBM is making some substantive moves towards lesscode and lessconfig – as the work of people such as the aforementioned Mr Ruby, Rod Smith (why doesn’t Rod have a blog, he’d be a must read?) and the Jazz team makes clear. IBM is getting it in patches and in many areas doing great work. I still think Software Group needs more design and less architecture though. Harsher editing is required.
Note then to Software Group: like you say, code is not your friend.
disclaimer: IBM Software Group is a RedMonk client.