"Guerrilla SOA" brings to mind scruffy freedom coders fighting corporate analysis paralysis to bring the benefits
of service-oriented architecture (SOA) to embattled departmental end users. And for sex appeal it beats the previous term, little SOA, the same way Ajax beat DHTML.
But beyond the buzzword semantics, the concept of Guerrilla SOA, which was coined by Jim Webber, Ph.D., SOA practice lead for the ThoughtWorks Inc. consultancy, has captured the attention of analysts, who, with some caveats, like the idea.
Joe McKendrick, analyst for Evans Data Corp., brought Webber's concept to the attention of fellow analysts this past week in his blog on ZDNet.com. Defining the term, McKendrick wrote: "Guerrilla SOA is all about well-targeted, lightweight engagements to address specific business problems, versus the Big SOA approach promoted by many vendors."
Neil Ward-Dutton, research director, Macehiter Ward-Dutton, who read McKendrick's blog calls Guerrilla SOA "interesting stuff." Researching Webber's concept further, Ward-Dutton said, "I don't think many people would argue with what Jim Webber is saying at a high level - in layman's terms, start small, look for well defined projects with identifiable business value and make choices based on delivering against those projects. Approach SOA in a stepwise fashion rather than trying to boil the ocean in one overarching barrel-over-Niagara-Falls kind of initiative."
Tony Baer, principal analyst at onStrategies, read McKendrick's piece and wrote in his own blog that Guerrilla SOA is "a reaction to the heavyweight, top-down approaches to SOA deployments which tend to feature liberal doses of app servers, ESBs, registries and repositories, and of course, a large dollop of architecture."
Jason Bloomberg, senior analyst with ZapThink LLC., said the basic concept of Guerrilla SOA was something his firm was already advocating.
"ZapThink has long espoused taking an iterative approach to SOA that focuses on delivering business value with each iteration," Bloomberg said when asked about the new term. "In many ways, that's the same approach as Guerrilla SOA."
However, Bloomberg had a warning for developers thinking of trying the guerrilla style approach.
"If all you're doing is Guerrilla SOA, without an overall plan and governance in place, then you run the risk of building incompatible or redundant services," he said. But despite that caveat, he didn't want to scare coders away from the concept. "By all means, tackle high-value, low risk SOA projects first and build up to more complex ones, as long as they're part of an iterative roadmap."
Baer also expressed concern that poorly handled Guerrilla SOA could result in the dreaded "spaghetti" code.
Asked about these potential problems, McKendrick said he argues the risk is worth it because it helps promote SOA in organizations where it does not have a lot of upper management support.
"Guerrilla SOA is a direct response to an organization's unwillingness or inability to actively support an SOA effort," McKendrick explained. "What will happen is the proliferation of unconnected SOA efforts across the enterprise will result in a spaghetti code of differing interfaces and standards. It will not be a smooth, united process. Many services will not be adaptable or customizable to be reused or shared with another application or business unit."
In McKendrick's view that potential downside is part of the SOA evolutionary process where there is a leadership vacuum.
"Many organizations will not support -- or simply are not ready to support -- enterprise-wide SOA," he said. "So it's more likely that we will see islands of SOA develop. For many SOA proponents, this may be the only way SOA will be brought into the organization, with the hope that things will eventually percolate upward."
McKendrick sees the possibility that Guerrilla SOA projects will eventually win over the larger change-adverse enterprise.
"What will advance these efforts is as they show their advantages, such as cost savings through a standardized interface, the business units will be attracted to SOA-enabled services," he said. "I'll call that phase 1. In phase 2, there will be a recognition -- hopefully from management -- that these islands will need to be brought together in some way to better serve the enterprise as a whole."
Guerrilla SOA, while anarchic by nature, may still be able to take the first steps toward governance, McKendrick said, in response to concerns that it might spawn rogue Web services.
He believes that SOA guerrillas can start governing early in their projects. "If possible, put a governance structure in place as soon as possible," he advises. "By governance I mean an organizational committee that can set policies and push for, or vet new services, as well as tools that can automate this process. Try to gain support as high up in the organization as possible, with an executive sponsor if one is willing and available. SOA needs its evangelists in every organization to move things forward. Unfortunately, SOA won't sell itself."