Improving the reusability of business process and technology assets helps businesses get to market faster, reduce costs and achieve more consistent results. This important concept has recently been receiving attention because Service Oriented Architectures (SOA) are enabling businesses to achieve much more frequent and extensive reuse of business services, software and data.
One of the main drivers for the adoption of SOA is the business need to be more flexible and responsive to change. Change is part of the business ecosystem. A long time business partner can suddenly become a fierce competitor as the result of a merger. The dynamic between partners, suppliers and customers is in constant flux. A business loses the ability to adapt if its software and supporting IT infrastructure is inflexible. And to become more flexible, a comprehensive strategy for reuse is needed.
The Nature of Reuse
Reuse is by no means a new concept in IT. It has been tried in various ways and at many levels from the use of source code libraries to the building of software components within object oriented architectures. When left to their own devices, experienced developers usually find ways to reuse the code they have previously written or even use open source code that is freely available on the Internet. But such reuse is never consistent throughout software development teams and the IT industry has never implemented reuse effectively in this way.
Within the SOA environment reuse is different because it is woven into the architecture. Components of models, software, rules, and data are made available for reuse in a way that ensures their accuracy, consistency and predictability. This amounts to the business governance of all the reusable assets. It isn’t easily achieved, but it is a worthwhile goal.
The reuse of IT assets is not so different from the reuse of components in manufacturing. Automobile manufacturers do not make a different engine for each model of car they sell; they make a small range of engines and install them in a wide variety of models. Once a new engine has been tested and documented, its reuse in a wholly new model gets the new car to market much faster. The same is true of even quite small components. Nowadays cars are designed to maximize reuse at every level – and to everyone’s benefit. And just as the reuse of components in a production facility needs to be managed carefully, so must the reuse of business services in a SOA environment. Reuse without governance can be more destructive to the business than no reuse at all.
Hurwitz & Associates has identified three major risks to the business associated with reuse:
• Poor Process. This typically occurs when the level of collaboration between business and IT is inadequate. Within SOA the business and data services should accurately represent the business processes followed by the organization. Collaboration between business and IT needs to result in the business having a clear understanding of which definitions of data make sense and when to use them, how to apply rules and what level of granularity is appropriate for business services. Effective reuse will be much harder to achieve unless there is a framework in place that ensures that business and IT are singing from the same song sheet.
• Poor Management of Code. Business processes are nearly always in a state of flux, so it goes without saying that the software code that codifies a specific business service may also change frequently. When software components are changed then the changes apply everywhere – often resulting in unintended consequences. Clear ownership of reusable software/business services needs to be agreed to among all business users. A strategy for reuse of business services must include an approval process for changes which begins with the “owner” of the business service.
• Lack of Overall Control. Without a structured process around the governance of SOA, it is difficult if not impossible to maintain a consistent set of rules for the enterprise as a whole. What if, for example, each business unit in a transportation services company follows a different process for extending credit to customers? Let us imagine that the business wants to create a shared business service for this process. The following questions must be answered: Who owns the business process and how will changes be controlled? Who is responsible for maintaining the consistency and quality of a shared data source on customer credit information?
The first step to reaping the rewards of reuse is to understand the risks involved. In order to ensure a successful strategy for reuse, business and IT must first collaborate to understand, evaluate and model the business process at their organization. The level of reuse that can be achieved within a SOA environment increases when a comprehensive approach to governance is applied at all levels of the organization.
When you build business services based on services oriented approach, you create modular and standardized building components that can be linked together in various ways following a predictable set of rules. These modular components can be reused in other situations and for other departments or to meet other business needs. When this all comes together a business can expect to benefit by increasing its speed to market, trust of information, and flexibility to change.