Sunday, November 09, 2008
Precise business modelling
Category: IT Topic: Business Modelling
In the previous two entries, I talked about using observational semantics when modelling a business domain, and about modelling large domains from a number of different points of view.
Here, I want to talk about a third key ingredient of the approach to domain modelling developed by staff of Mitchell Horvath Ltd and InferData Ltd. That ingredient is precision.
Businesses run according to rules. These rules are for business people to prescribe. Yet, in many businesses, the only people who work with precise ways of expressing the business's rules are the developers writing program code.
Let me take quite an extreme example. When a bank converts a sum of money from one currency to another, the result will depend on how many places of decimals are used to express the exchange rate and any intermediate calculations. Because the result depends on the number of places of decimals, that number is something the business should decide. In the banks I've worked with, there are experts in the foreign exchange part of the business who understand these issues, and who employ mathematicians to help them make the necessary decisions.
But in many kinds of businesses, it's common for such precise details to be omitted from business models. There's a widespread opinion amongst business and IT professionals that precise details are somehow "low-level," and only a matter for developers. We think that opinion needs challenging. Much of the precision captured in program code is also a concern for business professionals.
In the book we're writing, we show how to make domain models precise. We're not going to argue that all parts of all domain must be mathematically precise. But we would argue that most business models suffer from too much imprecision.