Thursday, May 31, 2007

Business Process

An interesting debate behind the scenes at Wikipedia about the nature of the Business Process [article, discussion] involving Keith Swenson (Fujitsu and WfMC), Kai Simon (Gartner) and myself.

Kai had contributed a definition of Business Process to Wikipedia: "A business process is a set of linked activities that create value by transforming an input into a more valuable output."

Keith objected that this definition assumed an "information system" view of the world, and was not necessarily valid for office work. How do activities such as document approval or answering the telephone fit into this definition? What happens if two people approve a document for different purposes?

Document approval and answering the telephone are presumably useful to the business - otherwise why would the business employ people to perform them? Perhaps they create value in some way - an approved document is worth more than an unapproved document; an answered telephone more than an unanswered telephone.

But Keith is correct to point out the potential complexities of this way of viewing business process. If there are n people who may approve a document, then there are potentially 2-to-the-power-n approval states of the document. (In this case it might be easier to regard the approval instead as a separate entity.) And once the document has been approved (by manager A), does a second act of approval (by manager B) confer any additional value?

Understanding the business process as a chain of value-adding activities is a popular and useful view, often attributed to Michael Porter and not only found in IT. But this view (modelling perspective) has some limitations, and it is certainly not the only way of understanding the business process. It is particularly problematic with management processes, such as command and control or strategic planning, whose value depends on some indirect calculation.

For developing service-oriented architectures and systems, it is often useful to think of the business process more abstractly in terms of events and capabilities, rather than a particular value chain. Even within IT this view provides a useful alternative to the value-chain perspective, and allows us to analyse the requirements for management systems (including business intelligence) as well as transaction systems.

Labels: ,

Friday, February 16, 2007

BPM and SOA 4

An interesting discussion this week with some of the top BPM people at IBM, on the nature of the relationship between BPM and SOA.

One of the critical elements of this relationship is the way the business case for BPM is connected with the business case for SOA. One of the ways to get the business interested in SOA is to promise BPM-related benefits.

But why do we need SOA to deliver BPM benefits? It may be technically possible to deliver many of these BPM benefits without using full SOA. Indeed, there may be people who claim to have produced similar benefits in the past, before SOA technology was available. So the business case for SOA in this context reduces to a technical argument about the greater efficiency or flexibility of SOA in delivering BPM benefits.

If an organization has a broken business process, which requires a single one-off effort to fix, then the case for using SOA is based on a simple comparison of two alternative development projects. But if an organization has a volatile business process, which requires constant modification, then the case for using SOA is based on an expectation of frequent modification. We would normally expect the business case for SOA to become stronger as the volatility increases.

We can use a simple spreadsheet model to compare costs and timescales and risks between two technical alternatives. We can produce graphs that show how the cost-benefit curve shifts as we vary the assumptions about volatility.

But the spreadsheet models, useful though they are, only tell half the story. The critical element of the business case is the architectural dependency between BPM and SOA. How much does BPM need SOA? In order to get the spreadsheet to calculate the synergy between BPM and SOA, we need to be able to quantify the architectural dependency - pick a number that is greater than zero and less than one.

But where does the number come from? There are three possibilities.
  1. Guesswork. If you don't know any better, one number is as good as another.
  2. Statistics. If you have a large quantity of historical data, you may be able to demonstrate some degree of correlation between SOA expenditure and BPM expenditure.
  3. Algebraic reasoning. Infer the level of synergy from the structural characteristics of the architecture.
The business case as a whole is extremely sensitive to this number, and we need to develop better ways of determining it.

Technorati Tags:

Labels: ,

Monday, July 10, 2006

BPM and SOA 3

In my previous post BPM and SOA 2, I identified two propositions.
  1. BPM and SOA are not tightly coupled. It is possible to have BPM without SOA; and it is possible to have SOA without BPM.
  2. There is synergy between BPM and SOA. There are some potential advantages from combining BPM with SOA, which are not available from BPM alone or SOA alone.
One way of analysing these two propositions is to identify the dependencies between BPM capabilities and SOA capabilities, expressed within the respective capability maturity models.

BPM Maturity and SOA Maturity

What this picture shows is that there is a fair amount of latitude - an organization may choose to push ahead with SOA first or push ahead with BPM first. But ultimately, the BPM adoption programme needs to converge with the SOA adoption programme.

[Sources for SOA Capability/Maturity]
CBDI Forum SOA Adoption Roadmap

[Selected discussion of BPM Capability/Maturity]
Peter Abrahams (Bloor) quoting Howard Smith (CSC), Jesper Joergensen (BEA), Jim Sinur (Gartner) with comments by Sandy Kemsley and Bruce Silver.

Previous Posts: BPM and SOA, BPM and SOA 2, SOA Maturity Models
Technorati Tags:

Labels:

Tuesday, July 04, 2006

BPM and SOA 2

Lots of interesting debate about the relationship between BPM and SOA: Phil Gilbert (Lombardi), Jesper Joergensen (BEA), Steve Jones, Mike Rosen (BPTrends, pdf), (via Sandy Kemsley). And loads by Bruce Silver: Phoney War, Still the Exception, Will Deliver. See also Sandy Kemsley's BPM lens.

So what is the relationship between BPM and SOA? In a series of articles entitled "BPM inside the belly of the SOA whale" (1, 2, 3), Colleen Frye of SearchWebServices collects a range of ideas from different experts:
  • BPM is putting a business face on SOA
  • BPM and SOA as ... two sides of the same coin
  • BPM and SOA are ... orthogonal
  • BPM sits on top
  • BPM is one of the main entry points for the business side of SOA
  • BPM ... hand-in-hand with SOA
Do any of these metaphors have a precise meaning? If so, do they contradict one another? And how can we tell? (This is a prevailing problem in the IT industry, where experts commonly try to explain abstract structural relationships using vague metaphors. I confess: I have done it myself sometimes.)

And what about the "Inside the Whale" metaphor used in the title of the articles? This metaphor is commonly associated with George Orwell's essay Inside the Whale, where it was used to denote (and criticize) a disengagement or decoupling between the writer (inside) and the political environment (outside). Salman Rushdie wrote an article called Outside the Whale, which called for a reengagement (alignment, tight coupling) between the writer and the political environment.

The separation between Inside/Outside (or Private/Public) is of course a crucial element of the component/service story. The belly of the whale is a metaphor for encapsulation. In Frye's version, BPM is on the inside and SOA is on the outside. From a business perspective we might have expected this to be the other way around. (There is a story here about business/IT alignment that I have blogged about separately. Update: URL added.)

So I think I can identify two propositions that I think many people would agree with.
  1. BPM and SOA are not tightly coupled. It is possible to have BPM without SOA; and it is possible to have SOA without BPM.
  2. There is synergy between BPM and SOA. There are some potential advantages from combining BPM with SOA, which are not available from BPM alone or SOA alone.
Previous Post: BPM and SOA
Technorati Tags:

Labels:

Tuesday, March 07, 2006

BPM and SOA

At the BCS Business Information Systems SIG last night to hear a talk by Howard Smith of CSC. Meanwhile, I've been listening to an ACM Queue podcast with Mike Vizard and Edwin Khodabakchian (formerly Collaxa, now Oracle).

I have spoken to Edwin and his (present and former) colleagues in the past. I hadn't met Howard before, but I was already familiar with his work and I am in contact with some of his associates in the BPMI world.

The following post is something I've been thinking about for a while. I am happy to acknowledge the influence of Howard and Edwin, who both know a lot more about the BPM side than I do. But there are some things I'm saying here that I haven't heard either of them say, so blame me (not them) if you don't understand or agree.

What is the relationship between Business Process Management and SOA?

A good place to start is with the idea that SOA gives you the decomposition of functionality into (standardized) services, while BPM gives you the assembly of these services into (flexible) business solutions.
  1. We can decouple the specification of the process from the specification of the units of work making up the process. (In my Business Modelling for SOA material, I describe this as separating WHAT from HOW.)
  2. We can put the specification of the process into a standard process language. (The preferred choice here is BPEL, for various reasons, although there are some known issues.)
  3. We can automate and distribute the assembly of the process. (With appropriate tools, the assembly of the process or the selection of an appropriate process variant can be done either in real-time or dynamically at the point of need.)
  4. We can then take power to the edge - delegating process management to the people working at the edge of the organization.
  5. Ultimately, not just the process but the process management becomes event-driven. This gives us requisite variety at the process level.
  6. Process architects now need to work at a higher level of abstraction. Instead of specifying a standard one-size-fits-all process, they need to produce what we might call a metaprocess - frameworks and patterns that support process management. They need to pay attention to architectural process issues, such as coordination and interoperability risk.
These ideas are probably some way from mainstream adoption; but there seem to be enough early adopters experimenting with some of these ideas to keep the BPM market moving forward.


Business Process Innovation

The second part of Howard's talk was about Business Process Innovation. If we imagine that BPM plus SOA gives us a reasonable way of automating the business process, then the next challenge is that of automating business process change.

Howard's working hypothesis is that business process change is driven by problems. CSC has adopted a Russian problem-solving methodology called TRIZ, and has been working on a process-oriented version of TRIZ called P-TRIZ.

Most of the audience (including myself) were not familiar with TRIZ, and there was a lively discussion about its strengths and weaknesses. My first impression is that TRIZ would not be suitable for all types of business problem, as it seems to lack adequate constructs for modelling complex dynamic systems. However, it does have some interesting characteristics that may make it particularly amenable to automation. Firstly, there is a systematic approach to problem decomposition. Secondly, there is a complete enumeration of solution strategies, and a useful collection of abstract solution patterns.

Howard showed us a stand-alone prototype tool that supported a simple version of TRIZ. What would be really interesting (and this is presumably CSC's plan) would be to have this functionality integrated into the BPM tools. Then we would be able to have local process-oriented problem-solving, with process architects able to concentrate on the emergent properties of the whole.

This looks like a significant contribution to the overall BPM/SOA vision outlined above.

Technorati Tags:

Labels: