Cutter Consortium

SERVICE-BASED TECHNIQUES

9 October 2001

by Paul Allen

A service-based approach involves a shift in the way business processes are analyzed and solutions designed. Function decomposition approaches based on top-down analysis of business processes as function blobs that must be divided and conquered are not conducive to identifying business capabilities.

Instead, business processes are examined in different contexts. E-business systems can be rapidly adapted and extended to cover new business requirements. In extreme cases, new virtual businesses can be set up. Increasingly, e-business systems work within the context of a business process. It's imperative to clarify how the business process as a whole will operate with the new Internet piece. For example, in an electronics store, the process might have links to internal processes (invoicing), external processes (inventory and shipping), internal components (customer relationship), and external components (credit check). Exceptions must be identified -- for example, what happens if the item is out of stock or the customer relationship component is down? Prototypes, storyboarding, and scenario playing (and the people who create and run them) are essential to ensure that the correct requirements are addressed and the entire process runs smoothly.

To ensure that the software can adapt to possible changes in the business, future scenario playing is immensely useful. This technique is not new. When Royal Dutch Shell applied the technique back in the 1970s, one scenario suggested that in certain circumstances OPEC might unilaterally raise oil prices. How painful it was when we learned about that! Shell, however, had thought the scenario through extensively. As a result, it was able to respond more effectively than other, larger firms and became the first to move millions of barrels of oil a day through the spot markets; in the process Shell rose to be the third-largest oil company (from seventh). The value of individuals able to apply this kind of imaginative thinking increases by an order of magnitude for anticipating the changes that can occur in Internet time.

A perhaps more familiar technique is to "time slice" business processes by events that denote essential constraints imposed by the business, not by technology. This helps in knowing when to stop modeling and in achieving good granularity at the lowest level of business process. That can help us achieve well-defined sets of interfaces providing services.

Another useful strategy is to approach analysis of business process in terms of degrees of reusability. There are various ways of doing this. A leading UK bank I worked with spent several months embarked on an ambitious business process analysis that distinguished several different types of business processes, ranging from the highly generic (currency conversion) to the extremely specialized (private client advice). Other organizations, with less patient management, opt for a simpler scheme such as the following three-part split:

  • A customer process provides value-added deliverables to the external customer (for example, Market Vehicle or Service Vehicle).

  • A sustaining process adds value to the external customer, but it does not exchange information or material directly with the customer (for example, Price Vehicle or Administer Warranty).

  • An enabling process has internal customers. It provides the services necessary to support the core processes and manage the business (for example, Legal Management or Financial Management).

If we follow a layered approach, the concepts of customer business process, sustaining business process, and enabling business process map naturally to the layers of business components. A reasonable job on the business process analysis will expedite the process of creating a first-cut service-based component architecture.

-- Paul Allen, Editor, Component Development Strategies

[For more information on service-based component architecture, see the June 2001 issue of Component Development Strategies, available from Cutter Information Corp. at +1 800 492 1650 or +1 781 641 9876, fax +1 800 888 1816 or +1 781 648 1950, or e-mail service@cutter.com.]



Service-Based Techniques