Monday, May 25, 2009

What's Wrong with Layered Service Models?

@JohanDenHaan pointed me at a couple of articles by Bill Poole

Bill takes a particular layered service model, a plausible combination of layers such as you might find in any number of popular SOA books, and shows how he can use this model to produce an inefficient and inflexible design. 

Of course, all this shows is that there are problems with a particular layered service model, as interpreted by Bill. (The authors of the books from which Bill has taken this model might claim that Bill had misunderstood their thinking, but whose fault is that?) It doesn't show that all layered service models are bad. 

As Bill points out, one reason commonly cited in support of the layered service model approach is the hope that services will be highly reusable. But there is a much more important reason for layering - based on the expectation that each layer has a different characteristic rate of change. (This principle is known as pace layering.) 

When done properly, layering should make things more flexible. When done badly (as in Bill's example) then layering can have the opposite effect. 

One of the problems is that the people inventing these layered service models often confuse classification with layering. We can identify lots of different types of service, therefore each type must go into a separate layer. A deeper problem with these models is that their creation is based purely on clever thinking rather than systematic and empirical comparison of alternatives. Too much architectural opinion is based on "here's a structural pattern that seems to make sense" rather than "here's a structural pattern that has been demonstrated to produce these effects". 

See my post on Layering Principles. You can't just take an SOA principle ("loose coupling is good", "layering is good"), apply it indiscriminately and expect SOA magic to occur.

Friday, May 15, 2009

Customer Orientation

@adamshostack objects to something I quoted from Clayton Christensen: Understanding your customer isn't enough.

What Christensen is saying, and I absolutely agree with this, is that understanding the customer is the wrong level of analysis (granularity). What we need to focus on is the job the customers are trying to get done when they use your product or service.

Adam thinks this is "fascinating & wrong. W/o understanding customer orientation, you can't from job" (via Twitter).

I think pharmaceutical sales and marketing provides an excellent example of why Christensen is correct. As I have explained before, a typical twentieth-century business model involved drug company representatives making personal visits to doctors. To support this kind of model, you collected lots of information about the doctor - not just professional (size of practice, specialization, and so on) but also personal (ethnic group, sexual preference, ages of children, golf or squash). The drug company employed a range of representatives of different types, and selected the appropriate rep to visit a white gay squash-playing doctor.

The trouble with this business model is that it is not aligned with the products and services of the drug company. Doctors increasingly regard these kind of sales visits as a complete waste of time; even if they accept the hospitality of the drug companies, they have learned to be resistant to the sales messages.

What the drug company needs to focus on is how to provide more value to the doctor. For this purpose, you don't need information about the doctor, you need information about what the doctor actually does. In particular, you have to understand the decision process in which the doctor thinks about prescribing particular drugs to a particular patient, as well as the collaborative process in which the doctor and other healthcare practitioners discuss alternative courses of treatment with a patient.

Understanding the doctor is missing the point. The opportunity to create business value comes from understanding the work of the doctor. Different doctors may have different styles and habits, and may approach similar cases in different ways (although this is increasingly constrained by procedure and protocol imposed by health authorities or health insurance companies). That's the right level of analysis.

One technique we use for this analysis is business process modelling. But we're not interested in the company's own processes, we're interested in the customers' processes, and in the variations in these processes. Business survival depends on providing products and services that add value to these customer processes, so it's the customer processes we need to understand. Not the customer as a passive and indivisible entity (as in many CRM systems) but as an active bundle of behaviour and capability and purpose.


See also Clayton Christensen on jobs needing to get done (via Anders Sundelin).

Related post

Misunderstanding CRM and big data (November 2014)

Update: I have removed links to tweets by Chris Lawer and Gunnar Peterson, who were part of the original conversation, because the URLs in their tweets now point to irrelevant and NSFW content.

Sunday, May 10, 2009

Semi-structured processes 2

@jonerp (Jon Reed) kindly sends me a link to an article on the SAP community network website, Value Scenarios and the BPM continuum, discussing the requirement for semi-structured processes. 

 

The author of the article, one Dan Woods of Evolved Media, places "processes automated and supported by BPM" at the "loosely-structured" point of the continuum, but he also talks about "more advanced and structured process design using BPMN and other such techniques"; I don't fully understand his taxonomy of processes, but he certainly seems to understand the need to support semi-structured processes as well as the fully structured processes described by Ann Rosenberg. 

Dan's starting point is the SAP book written by Ann Rosenberg and others, but his own analysis goes a lot further. He picks up on a reference to the Geoffrey Moore core/context distinction (which CBDI Forum members will be familiar with - see link below), and takes this distinction to its logical conclusion. 

Dan also makes clear his opinion that SAP doesn't currently support this continuum. "SAP's integrated story about BPM, SOA, and Value Scenarios will have to be extended to include more unstructured collaboration." Dan is not an official spokesman for SAP, although it's worth noting that his opinion article is published on an SAP website.

 


 

CBDI Forum, SOA Fundamentals (2009) - key extract from page 222

Richard Veryard, Towards the Agile Business Process (CBDI Journal July/August 2007) 

Related posts: Activity-Based Computing (March 2006), Semi-Structured Processes (April 2009)

Friday, May 08, 2009

From Business Intelligence to Organizational Intelligence

#orgintelligence ...

Business Intelligence (BI) is one component of what I'm calling Organizational Intelligence, so let's look at some useful trends within the BI world that are relevant to Org Intelligence, as well as some criticisms of the current state of the art in BI.

Real-time, event-driven process-driven BI

Over the past couple of years, we've seen the emergence of real-time BI platforms such as SeeWhy. Champions of realtime BI suggest that it can address weakness of conventional BI, including
  • out-of-date information
  • failure to identify process problems
  • lack of suitability as predictors
[source: Three Weaknesses in Business Intelligence Today, CIO magazine, October 2007)

Last month Charles Nicholls (SeeWhy CEO) attacked IBM in his blog for (as he claims) neglecting the web: What about the web, IBM? At eBizQ, Michael Dortch offers a more balanced view: Some Shafts of Light. The real proof will be if IBM's new Business Analytics and Optimization Services unit will address the kind of real-time process issues identified by SeeWhy a couple of years ago.

Nari Kannan also criticizes conventional BI for its lack of connection to the business process. Drawbacks of Business Intelligence Tools When Handling Business Processes.

"When it comes to Process or Operational Intelligence, the problem becomes slightly different. Post mortem, rear view mirror kind of information is not very useful. Knowing that you screwed up a patient's surgery experience or the Automobile Insurance Claim, after the fact is not as useful as getting real-time information as and when it is happening and you have a chance to set things right."

Collaborative decision-making

In January, Gartner published some forecasts about the BI market for the next three years, including this.

In 2009, collaborative decision making will emerge as a new product category that combines social software with BI Platform capabilities. The emergence of social software presents an opportunity for savvy IT leaders to exploit the groundswell of interest in informal collaboration. Instead of promoting a formal, top-down decision-making initiative, these IT leaders will tap people's natural inclination to use social software to collaborate and make decisions.

Dave Linthicum agrees.
"This is occurring now, and is a huge area of growth in BI, if you ask me. With all of that good data being placed on the social networks these days, the BI applications around mining that data is going to be extremely valuable."

Collaborative BI

I predicted the emergence of collaborative business intelligence nearly four years ago (Service-Oriented Business Intelligence). So I am very happy to see early signs that this might now be moving into the realm of practical application. If you are a BI toolmaker or advanced user, I'd be delighted to talk to you.

Sunday, May 03, 2009

Business Concepts and Business Types

cross-posted from SOA Process blog


One thing I keep getting asked why the CBDI Service Architecture and Engineering method distinguishes between the Business Concept Model (describing things as they are in the real world) and the Business Type Model (describing things as they are represented within the enterprise systems).

Here's a simple example. As I mention in my post Will Libraries Survive? there is a conceptual difference between book title and book copy. Some libraries identify each physical copy individually, while other libraries merely count the physical copies of a given book title. The physical copies are distinct in the real world, but may be indistinguishable in the library systems. Information strategy includes making this kind of choice.

Let's suppose a library buys ten copies of a book. To start with these copies are physically indistinguishable. The library then attaches some identifying marks to the book, including an ID number. This marking depend on the information strategy - the library could choose to give all ten copies the same number or could choose to give each copy a different number.

If we assume that this ID number is used throughout the library systems, then it is clearly important to know whether the ID number identifies the book title or the book copy. So this is a critical element of the Business Type Model, which reflects a whole series of strategic decisions of this nature, and then feeds into the identification of core business services.

One important form of business improvement is to increase the differentiation in the Business Type Model. For example, a library that previously didn't distinguish between physical copies could decide to make this distinction in future. But this business improvement doesn't change the underlying reality of books, so the Business Concept Model stays the same.

Extract from Business Information Improvement (CBDI Journal, May 2009)

Saturday, May 02, 2009

Will Libraries Survive?

Following my post on Library Collaboration, Anders Jangbrand commented
"Book available on net do not have same limitation. No phys copies. Will libraries survive?"

That's an excellent question for two reasons. Anders always asks good questions, but another reason I like this one is because I am already working on an answer. But first a little history. 

In the dim and distant past when I first learned data modelling, one of the standard exercises in books and training courses was to model a library. These were of course models of the library as an information processing system. Before computing, libraries were managed with cabinets full of hand-written cards. There would be one or more cabinets containing the library catalog, there would be cabinets for members' names and addresses, outstanding loans, reservations, books awaiting repair, and so on. 

So it was an apparently straightforward task to model this lot; but there are some hidden traps for the beginner. For example, BOOK sometimes means the book title (as when you reserve a book) and sometimes means the physical copy (which is what you borrow and return). When I teach data modelling, I generally give students the freedom to fall into these traps so I can show them how to get out again. 

(Some libraries identify each physical copy individually, while other libraries merely count the physical copies of a given book title. The physical copies are distinct in the real world, but may be indistinguishable in the library's card or computer systems. Information strategy includes making this kind of choice. See Business Concepts and Business Types to see how this is handled in the CBDI SAE method.) 

The great advantage of using a library as a teaching example was that most people had used libraries and had some idea how they operate. However, some people started to think that the example was a bit old-fashioned, so they developed a Video Rental example instead. Video rental has pretty much the same information processing structure as a library, so all they needed to do was take the library example and change some of the words on the diagrams. And nothing much changed when video tapes were replaced by DVDs, although there were some minor complications if you wanted to handle both tapes and discs during the transition period. 

 The traditional library is indeed threatened, but it will probably outlive video rental, which is threatened by much the same forces to an even greater extent. If we want to manage these forces, we need to move away from an information processing model onto a different kind of model. 

Libraries and video rental operate a very similar information processing model. But if we want to think about the survival of libraries and video rental, we need a model that shows how libraries and video rental are different from one another, and to what extent libraries or video rental can play a valuable role in the service economy of the future. 

The first point to note here is that the book plays a much more varied role in people's lives than the video, even today. The vast majority of DVDs are either feature films or collections of TV programmes, consumed as entertainment, and video rental essentially caters for this market. Books are also consumed for entertainment, but they are also used for reference, study, research and other purposes, and most libraries support a broad range of purposes. If we want to forge a sustainable role for the library of the future, we need to engage with these purposes, and possibly explore some newly emerging purposes as well. 

Some people may argue that the business model should be technologically neutral. Anything you can do with a book, you can do with a DVD as well. For example, if you want to learn Spanish, it shouldn't matter whether you borrow a book from the library or rent a DVD. But until video rental gears itself up to support this kind of market, there will continue to be a real difference in the business model between books and DVDs. 

The next point to note is that we can open up the idea of the consumer. A lot of people like to read books in groups. The whole group reads the same book (see ambiguity of BOOK above), and then the members meet once a month to discuss the books. This represents an interesting opportunity for the librarian - to provide services to the whole reading group rather than to individual readers. For example, if the library has a dozen copies of a recent novel, then this novel can be offered to the local reading group for next month's meeting. 

Now suppose we have a network of a couple hundred libraries around the region, supporting a thousand reading groups between them. Recent novels can circulate around the libraries in sets, to support the needs and interests of the reading groups. 

 See what we've done here. All sorts of interesting business opportunities emerge by these two conceptual shifts. Firstly changing the concept of READER from individual to reading group (and creating a new composite service for the whole group). Secondly changing the concept of LIBRARY from single library to a network of libraries (and creating new kinds of collaborative process). 

Once we've identified these conceptual shifts, we can go back into the information processing model to work out the practical logistics. But the point I'm making here is that conceptual shifts of this kind (and the business opportunities that are associated with them) don't appear unless you step outside the information processing perspective and look at the business through a different lens. 

Of course I haven't quite answered Anders' question yet. But I'm working towards an answer ...

Friday, May 01, 2009

Library Collaboration

University libraries typically have a major resource scheduling problem, as I mentioned in my post on Collaboration and Context.

"Let's suppose that in the first week of February, sixty students suddenly want to read Kant. The university library possesses twenty copies of Kant's Critique of Pure Reason, so most of the students will have to wait or share. By the end of February, nobody wants to read Kant any more, and the twenty copies sit idle on the shelf until the same time the following year."

My first impractical idea for solving this problem was to get collaboration between the library and the teaching staff. Would it be possible to coordinate the teaching, so the students don't all need the same books at the same time? (Anyone who has worked in a university will know why I reckon this is impractical.)

My second idea might be a little more practical: to get collaboration between university libraries. Perhaps fifteen universities can share two hundred copies of Kant and ship them around as required. Possibly not as much scope for efficiency as my first idea, but it may be easier to implement, as it only involves librarians cooperating with other librarians rather than with professors.

However, the most plausible idea for solving the problem is to involve the paying customers - the students. In many countries higher education is subsidized by the state, but students and their parents are now being asked to pay a much higher contribution, and this makes them stakeholders in the economics of the university and the quality of its services.

So instead of thinking of this kind of business improvement purely as an optimization problem based on a series of information transactions, we need to think of it as a problem of power and influence - how can the interests of the students be mobilized to achieve better distribution of scarce resources.