- Success and Failure of Projects and Strategies
- Core Competencies
- The Need for Understanding: Abstraction, Precision, Explicitness
- Abstraction: The Way to Put Management in Control
- Basic Structuring Constructs
- Business Rules: Precision vs. Handwaving
- Tacit Assumptions and "Evident Truths"
- Specifying Problems and Solutions
- Where to Start and Why: Business Domains
Where to Start and Why: Business Domains
Making business decisions (including decisions about automation or otherwise of some business processes) requires, first and foremost, an understanding of the business problem to be solved. Many, and varied, business problems ought to be solved in running a business. These problems are often determined by the business environment that is never fixed. It appears that everything in business changes, and that "the only constant is change." But is it true? Clearly, many properties of business things, relationships, and actions change with time, and competitive advantage is obtained by means of advantageous changes. At the same time, some fundamental properties of a business have remained the same for a long time.
When we create or read business requirements, we always referimplicitly or explicitlyto the appropriate fragments of the business domain. We use the nomenclature of the domain that refers to the things, relationships, and actions of that domain, and we need to assure that all stakeholders have the same understanding of the domain. To do that, all stakeholders must be able to refer to the same clear and explicit specification of the business domain, in the same manner that, for example, the parties to a contract refer to that contract (and possibly to contextual documents) in cases of doubt or disagreement. Thus, in the same manner as we rely on an explicit contract when we want to improve our future conditions44 by opening a bank account or buying an annuity, we also rely on an explicit business domain specification when we want to discuss how an IT system (or a different arrangement of business processes) can improve some properties of that business. Most importantly, we must rely on the basic structure of the business domain. Unfortunately, in some circles this reliance may be considered unfashionable, and other approaches and buzzwords may be promoted.
As in modern economics, "[p]rominent, distinguished practitioners seem often to find it difficult to resist the vagaries and winds of fashion, even when they are ephemeral or blow them off course" [B2000]. Submitting to these vagaries may lead to serious failures, both in economics and in other areas of human endeavor. And as in economics, submitting to the vagaries of fashion in information management is made possible by the disregard of reality. For example, an analyst hired as a consultant by a large insurance company initiated several sessions with the business people of that companyas opposed to their IT surrogatesand determined that for a long time the IT departments communicated only with the IT surrogates of the business SMEs who were supposed to know the business better than these business SMEs. An outsider who ignored the fashionable was needed for the return to reality that was eventually highly praised by both the business and the IT departments.
In some cases, we encounter fashionable proposals to define a new information management system with, and rely on, stories, scenarios, and the like that are supposed to characterize that system. (These proposals often also make an implicit, or even explicit, condescending suggestion that business experts cannot understand the precision required for other approaches; apparently, "only IT experts can do that.") Such proposals are plainly wrong. They make a very unlikely assumption that the business terminology used and implied in the storiesas well as the structure of these storiesis understood uniformly and correctly by all stakeholders, from business managers to developers. Even if this were the case, an IT system based on these approaches is brittle and often cannot be changed when circumstances warrant, for example, when security-related considerationswhich often have been in the domain for a long timeshould be introduced in a more vigorous manner. This may lead to serious problems, including potential for loss of human life.
A business domain specification defines things and the relationships between them. We specify the invariant properties of those things and relationships, that is, those properties that remain the same no matter what is being done to these things and relationships.45 In this manner, we abstract out the differences among specific processes, steps, requirements, and so on, and retain only the commonalities. The resulting specification is simpler and easier to understand than a specification based on process details that were different yesterday and that may change tomorrow. At a more detailed abstraction level, we recognize that invariants themselves are not frozen and may change (the RM-ODP concept of epoch may be used to specify that; see below), and we structure our specifications accordingly. Further, we specify business operations (also known as processes and their steps, or tasks in a workflow, and known in RM-ODP as actions) and relationships in which those operations, together with things, participate.
These are the foundations of any business specification. They let us avoid polluting the specification with "too much stuff" such as IT-specific constructs (data flow diagrams, objects exchanging messages, responsibilities, screen shots, database records, and so on). They also let us avoid anthropomorphism: for example, in business an account never sends a message to a transaction, or vice versa. And they let us avoid premature decisions: for example, the semantics of an operation is defined by its pre- and postconditions, and we do not have to choose the owner46 of that operation.
On Communicating a Model
The Bellman himself they all praised to the skies
Such a carriage, such ease and such grace!
Such solemnity, too! One could see he was wise,
The moment one looked in his face!
He had bought a large map representing the sea,
Without the least vestige of land:
And the crew were much pleased when they found it to be
A map they could all understand.
"What's the good of Mercator's North Poles and Equators,
Tropics, Zones, and Meridian Lines?"
So the Bellman would cry: and the crew would reply
"They are merely conventional signs!"
"Other maps are such shapes, with their islands and capes!
But we've got our brave Captain to thank:"
(So the crew would protest) "that he's bought us the best
A perfect and absolute blank!"
This was charming, no doubt; but they shortly found out
That the Captain they trusted so well
Had only one notion for crossing the ocean,
And that was to tingle his bell
Lewis Carroll, The Hunting of the Snark [C1876]
A model must be communicated to and discussed with the recipients of that model. This requires some shared foundations, that is, some commonalities between the writer of a model and its readers, commonalities that are essential to establish a communication. To quote Joseph Goguen [G2001], "speech is carefully crafted to match the needs and capabilities of recipients, taking account of such varied factors as shared background information, shared values, linguistic competence, attention span, shared past history, and much more." This clearly applies to any kind of speech including business models.
Two kinds of commonalities are essential for communication. First, the syntactic onesa model has to be readable by its recipients. Therefore, the languages used to represent a model should be as clear and simple as possible: the complexity of a language should never be added to the (intrinsic) complexity of the subject matter. Second, the semantic onesthe meaning of the concepts and constructs used in a model should be understood by the model's recipients.
Business models are used by very different recipients including business SMEs, analysts, decision makers, IT experts, testers, and so on. The amount of background business-specific knowledge that these recipients implicitly share is rather limited, and different stakeholders often perceive this knowledge in different and mutually inconsistent ways. Therefore the background business-specific knowledgethe basics of the business domainshould be explicitly included in business models. The same considerations apply to the specifications of technological infrastructurethe virtual machine on top of which various IT solutions have been, or will be, built. At the same time, the shared background generic knowledge needed to understand business and other specifications is small and can be explained without serious problems.
A systematic presentation of these foundations follows. You have already encountered most of them in this chapter.