SOA Agility: Does it really exist?
By Harish Gaur on Nov 04, 2010
Every time I talk about SOA, I couldn't resist the use of 2 terms: reusability and agility. Claims like SOA promotes agility or SOA makes your applications agile or SOA can help your business become agile are now generally accepted without any skepticism. Control+F through any SOA article and you would find 20 hits on agility!
It's worth investigating this further. To keep things simple, let's focus on 3 areas: what is agility, how do you measure agility and how does SOA promote agility
Let's start with what is agility?
Agility is the ability to quickly respond to external stimuli. More agile you are, faster you can respond to external changes. For human beings, for example, agility is how fast can you react you ball thrown at you. As for organizations, agility is ability to respond to competitive pressures, adapt to macro and micro economic changes or bring new products to market faster.
So, how do you measure agility?
Agility is an abstract concept. But, authors did a good job at quantifying agility in their book "Enterprise Architecture as a strategy". You can quantify agility by asking one simple question - what percentage of overall revenue comes has come from products/services launched in last 3 years? Higher the percentage, more agile you are. As per the book, most agile companies hover around 25%. This question transcends down the organization and allows getting a handle on agility across 3 critical dimensions - process, people and technology
- How fast can you build new products? How quickly can a sales force be trained to sell new products? (People agility)
- How quickly can you sell new product through a new channel? How fast can you transform your order2cash process to handle this new product? (Process agility)
- How quickly can you ramp up your application infrastructure (hardware and software) to handle new user traffic requirements? (Technology agility)
So, where does SOA fit in? How does it help with people, process and technology agility?
For sure, SOA can make your processes agile. If some of your processes are driven by paper and manual interventions, think about automation. Automation is one step closer to agility than manual processes. But, that's not it, SOA based processes are easier to change. Why? In SOA world, process details are not hidden in thousands of line of code. Processes are represented in graphical models - models which are easier to understand and faster to change. So, adding a new sales channel or tweaking how an order is processes about tweaking a model vs. manipulating code.
You might ask - is it real?
Let's investigate this further. In my next blog, we will probe Oracle SOA Suite customer to get to the bottom of this abstract beast. If you have any questions you would like to ask him, please leave a comment.