Groucho Marx once famously said “outside of a dog, a book is man’s best friend. Inside of a dog, it’s too dark to read”
The amusement is that the word “outside” is semantically ambiguous. What’s less funny is the SOA Manifesto stating that they will follow the principle of “Pursue uniformity on the outside while allowing diversity on the inside.” Much like the Groucho Marx quote, the antecedent for “outside” is ambiguous. Outside of what?!
(Picture of Groucho Marx looking a bit like Ron Schmelzer)
Why is this statement problematic?
First and foremost, I chastise this statement because it is sloppy. Sloppy architecture is what got us into this mess in the first place. But more importantly, this statement reflects a narrow, IT centric view of the scope of Architecture which leads down a dangerous path. Complexity theory has a term called a “holon”. A holon is something that appears to be a whole–yet is a part of something larger (e.g an organism is part of a biosphere). By confusing the antecedent for “outside”, the SOA Manifesto focuses on the holon of the service interface. If so, the reworded principle would be “Pursue uniformity on the outside (of the service interface) while allowing diversity on the inside (of the service interface).” The problem with this statement is that it ignores the concept of diversity on the outside (of the service interface).
Diversity on the outside solves the business complexity problem
Lest you think I’m splitting dog hairs here, why is this of any importance?
Because everyone is presently overfocused on the complexity of the IT Supply rather than the complexity of Demand on IT. The business is driven to compete, innovate and requires Internet style services that scale and can be consumed on any device in any language, anywhere and any time. They demand self-service, personalized, localized, mass-customized and differentiated customer experiences, and they require access to the same information whether it’s in a customer contact center, on a web browser, an internal application, on a mobile device or at a branch office. Business demands complex consumption patterns on the outside of the service interface.
By ignoring the consumption pattern diversity, attention is only drawn to the IT problem of managing complex IT supply. One of the biggest flaws in SOA implementation, and arguably the reason why Anne Thomas Manes declared “SOA is Dead” is the lack of connection between SOA and the business solution. The ability to dynamically compose solutions into composite applications, mash-ups or business processes using business services is the central underpinning for agility and business transformation.
Managing Business AND IT Complexity
This requires the ability to solve the problems of Business Complexity and IT Complexity. Services are just tools that allow you to trade consumer complexity for trust, thereby improving manageability. Processes are tools that take full responsibility for complexity, thereby enabling optimization. The primary function of Services in this context is to manage the interaction between two specialized organizational subgroups. This allows one group such as business unit to consume the services of another group say, IT without having to know the gory details of the implementation of the service. Insulating the business from the complexity of IT is helpful, since the IT subgroup is highly specialized and therefore hard to understand. However, two implications arise, firstly that the business group is also highly specialized and therefore complex. Secondly that IT cannot abdicate its responsibility for IT Process, unless of course it is prepared to outsource the service. The provider view of a service is process-oriented, only the consumer view of service is service-oriented.
The “new normal” Business Environment
A good example of this complex consumption pattern is Software AG’s recent partnership with Tom Tom Work–who are now able to offer fleet management as-a-service to their business customers. The ability to offer outsourced transportation and logistics management enables Tom Tom to provide a new differentiated service on top of the core competencies of their organization, namely location-based services. The power to dynamically recombine core capabilities into new product and service offerings while simultaneously offloading non-core competencies to partners reflects a “new normal” business environment. Complexity should be seen as a function of specialization, and organizations should identify which sources of complexity they want to embrace through process-orientation, and which sources of complexity they want to eschew through service orientation. Eschewing complexity through service-orientation requires the discipline of segmenting specialized Enterprise subgroups and actively deciding whether your organization wants to invest in world-class processes or divest services to outsourcers. No single person in the Enterprise can understand the total complexity of the value chain, but this does not lead to weakness as long as you can align internal and external subgroups through trust or by developing a trusted framework of operation.
A trusted framework allows you to manage complexity housed in many discrete silos without requiring explicit trust between specific providers and consumers. By externalizing trust into policies that are uniformly enforced, we create a trusted environment. An example is automobile traffic. Automobile traffic is exceedingly complex, and no single driver can understand what is in the minds of all the other drivers. In fact, when one goes on the road, it is not because one trusts each and every driver explicitly, rather that there are enforceable rules of the road that have been declared and enforced. Individual trust relationships between drivers is not scalable. So a driver trusts in the framework of policy enforcement. Similarly, trusted environments hold the key to enabling spontaneous networks of collaboration between Enterprise subunits and external partners and suppliers.
As such, the business and IT functions need to develop a framework of trust that creates the possibility of continuous improvement–an evolutionary paradigm that at the Enterprise scale requires continuous measurement, continuous optimization, continuous alignment and continuous collaboration. If SOA and Enterprise IT are going to bury their heads on the “inside of a dog”, it will be much too dark to read the intentions of the business.
My 2 cents,