Monday, March 23, 2009

Business Capability Modelling

Picked up some fragments of a discussion between Colin Jack and Udi Dahan (Twitter, March 3rd-4th).

Colin Jack: Somehow our attempts at business capability modelling ended up producing a list of entities (Customer/Order). Meh.

Udi Dahan: When doing BC modeling, focus more on use cases

Colin Jack: I think I see what you mea, but I still think complexity cost of BC's is rel high so sometimes modules are enough

Udi Dahan: Complexity of BCs isn't that high - simple, straightforward pub/sub

I may be missing some of the pieces and context that might make these fragments more intelligible, but I'm going to comment anyway, on what I imagine they might be talking about.

A key challenge of any kind of business modelling or system model is to decompose into things that make sense. For many analysts, the things that make most sense are ... things. Objects. Entities. Assets.

If these things are important to the business, they need to be looked after. So when Colin identifies Customer and Order as business capabilities, he presumably means customer-management and order-management. The customer-management capability is typically going to be responsible for discovering and managing all aspects of all instances of CUSTOMER; and the order-management similarly for all instances of ORDER.

(Gunnar Peterson adopts a similar approach for security requirements - understanding security as the protection of a range of assets. Thus security capabilities are all asset-related. See my discussion Business Model Drives Security.)

Is there anything wrong with this as a capability model? Well, it tells us what needs to be managed or protected, but doesn't exactly tell us what needs to be done.

Udi offers a radically different approach: look at the process model. Not the whole processes, but broken down into Use Cases. What we'd expect from this approach is a much larger number of much smaller and simpler capabilities, and this is confirmed by the exchange between Colin and Udi.

When I do business capability model, I want to identify capabilities with certain characteristics - meaningful and self-contained chunks, with high cohesion and low coupling. Generally this means looking at both the entities and the process. In a complex situation it is useful to draw a matrix of the interactions between entities and processes, in order to work out the clusters.

There is growing interest in capability modelling and capability management, including through-life capability management, and the capability model is a powerful tool for thinking strategically about the loosely-coupled enterprise, so I guess I shall need to write some more on this topic soon.

No comments: