Monday, December 03, 2007

Christmas SOA

I've been reading some things lately that talk about business people being "in control" of BPMN diagrams so I thought it was worth while reprising something I wrote back in 2005 and which is in the book around how there is a big difference between the perceived business process and the actual execution process.

Now I have two kids and its coming up to Christmas and their view of what happens at Christmas is of course completely different to what actually happens. The kids are the business at Christmas its all about meeting their business expectations and goals. Heather and I as the parents have only one job to do and that is to deliver Christmas in the manner the business expects to see it. This means that we have to hide from the business the technical delivery elements and just show Lana and Louis the vision they want to see... now of course the question is how do we deliver an SOA Christmas?

At the top level 0 its all pretty simple all the business wants to see is presents coming from as many different channels as possible. As the kids are both still young the metric that will matter is volume of presents and its by this that success will be judged.

At Level 1 they have the concept that Santa Claus is the centre of the present giving universe and it is to Santa that the list of request should be made. Santa is then responsible for distributing the list to everyone else for the things he doesn't want to get.

So at a process level the business view is that the list goes to Santa, who sends it on, there is a view that there are things called shops out there involved in some way, but that isn't important to the business. Santa then delivers presents to the stocking while the parents deliver to the tree. Any person coming through the door over this period is also expected to enable the business to get presents.

This is the perceived business process and its this that the kids want to be able to effect. Can the list be delivered in person? Emailed? Sent via some slightly dubious chat service? Or maybe posted the old fashioned way? There is a, reluctant, acceptance from the business that the 25th December is the delivery date and that this isn't movable and that some suppliers will miss the delivery date and provide presents at the first available point after the main day. Santa however is never late.

Now the goal of the parents (IT) is to deliver Christmas in the way that the kids expect and to ensure a successful and happy Christmas period. Unfortunately the parents also know that Santa needs some manual intervention to get things moving. So first of all they have to provision the infrastructure, namely Santa and the Tree, then they have to co-ordinate the present buying to minimise duplicates. A spree of present buying is then underway, as is an increase in debt, followed by delivering the presents in the right manner to the places the business expect them to be.

This therefore is the execution process. This process might get much more complex if you have to add in balancing acts between the business people so there is the perception of present equivalence or if the parents are actually hosting Christmas this year so the workload goes through the roof. This all demonstrates that within SOA, there might be a commonality in an understanding of the services being provisioned, but the actual manner of provisioning and the additional actions are only of interest to the implementors and should be hidden from the business, and other consumers as they are irrelevant to them as long as their objectives are being met. This is one reason why SOA makes good BPM but BPM makes bad SOA

This is just one of the reasons I tend to say that business process is an IT myth. You need to understand both the business view of what must be achieved (often goal driven) and how it is measured (the implicit process) and then map this down to how IT will deliver that goal and measures (sometimes via an explicit process). In this world of separation its nonsense to argue that the business is "in control" of the execution processes beyond the level of defining the important elements of KPIs, goals and implicit process. Having this explicit process implemented within the services rather than across them (for a blog outline there is chapter on this in the book) also helps to scale as the services are coordinating effort rather than having to have a process per child.

Switching back to more normal IT should the sales director worry that that simple two steps of "check fraud then get payment" might require a complex series of processes and integration to external 3rd parties? Should the LOB manager who wants to get their current key suppliers need to know that this integrates with 20 backend systems and has a complex Master Data Management solution? No that is the reason IT is there to take the business goals and KPIs and best surface them in the way that the business wants. This is why business people shouldn't care about their BPMN diagrams being what are being executed they should just care that they are being delivered.

Remember folks, SOA isn't just for Christmas.

Technorati Tags: ,


Antoine said...

Hi, those diagrams are UML sequence diagrams, not BPMN diagrams.

I get the idea anyways.

Steve Jones said...

Good point. The ones in the book around process design (but not Christmas SOA) are BPMN, but these as you say are UML.

helghareeb said...

Dear Steve Jones

It took me alot till I decided I will add this comment, the main thing I want to say is 'Thank You for being so dedicated to SOA and being so helpful to everyone around the world to understand and know much more about SOA'

I did not want to send this 'Thank You' personally to your mail, or to the wonderful group of service-oriented-architecture [at] yahoogroups, I am happy to add this comment here...

This is one more decent wonderful article that clarifies SOA much more..

The use of Sequence Diagram to illustrate the idea is perfect, the article is not about BPMN as the most suitable notations to illustrate business processes, it is about depicting the difference between apparent vs. hidden details of business processes.

Thank you for providing one more magnificent clarification Steve, guys of SOA Yahoo! Group (including you ofcourse) helped; and still helping me understanding SOA. Currently, I am seeking a PhD. research point within SOA, I am following the group emails (as I used to during my master) hopefully I will come out with one soon, I will let you know once I do so...

Thank You