Enabling Operational Excellence
Enabling Operational Excellence
Enabling Operational Excellence
Enabling Operational Excellence


We systemize tacit knowledge into explicit knowledge

Blog Enabling Operational Excellence

Data Modeling: Art or Science?

A practitioner recently commented: “Everyone has their biased view of what a data model is. Data modeling is art – not science. Give 6 data modelers one set of requirements and you’ll get 7 solutions all distinctively different.” My response: To me that’s a huge problem. No, ‘data’ modeling is not a science, but nor should it be an art. Actually, it should be engineering. Engineered solutions have to stand up to rigorous tests. But we lack that in ‘data’ modeling. Why? Because ‘data’ modeling is divorced from its initial business context, which is operational business communication, including business rules. You need nouns and verbs for that, and those nouns and verbs should stand for well-structured concepts. Give me a model of well-structured concepts that has been ‘proven’ by verbalizing business rules and other formal business communications and I guarantee I can come up with the best data model. I’m talking of course about concept models (sometimes called fact models).

Continue Reading 1 Comment

More on Concept Model vs. Conceptual Data Model

As part of a continuing dialog, I recently asked these questions: What does the term “conceptual data model” really mean? Is it the best term for what is meant? To me, it sounds like “conceptual data model” might be about “conceptual data”. Surely not(?). What exactly then? (Some of my thoughts on the matter: http://goo.gl/8GX5o.) A practitioner responded with the following 3-part challenge below. With each challenge is my response. Challenge part 1: Which of the following, if any, would you see in a conceptual data model: primary keys, foreign keys, abstract keys, constraints, nulls, non-nulls, 1:1s, 1:Ms, optionality, cardinality, etc.? My response: Wrong approach. Bad definition practice one three counts. 1. Things should be defined in terms of their essence, what they are, not in terms of what are allowed or disallowed. 2. Suppose none of the above were allowed. You’d end up simply with a description of what the thing is not, not what it is. Since you can’t possibly list everything it’s not, the definition is woefully incomplete. 3. The list attempts to describe something in terms of an implementation or design of the thing, not in the thing’s own terms. That’s simply backwards. Challenge part 2: So let’s turn the question around. What would be the minimum types of objects you need to explore a concept, produce a mini model, and convey knowledge about the concept and its relationship to other concepts? My response: To develop a concept you need: 1. A concise definition for the concept, which distinguishes the concept from all other concepts and conveys its essence to the business. 2. A business-friendly signifier (term) for the concept that has only that one meaning (or is properly disambiguated by context). 3. A set of facts that indicates the place of the concept within a structure of other concepts (e.g., classification, categorization). 4. A set of verbs that permits the business to communicate unambiguously about how the concept relates to other concepts (e.g., customer places order). 5. A set of structural rules for the concept and its relations to other concepts, as needed. Why the verbs? Because you can’t write sentences without verbs and business rules can always be written in sentences. ‘Requirements’ should be too(!). Challenge part 3: When you are finished do you call that a ‘conceptual data model’? My response: You notice that I didn’t say anything, directly or indirectly, about “data”. That term is irrelevant. Taking away “data” leaves “conceptual model”. But that term suggests what the model is made of (concepts), not what it is about. Of course the kind of model we’re talking about is made up of concepts – it’s certainly not made of physical material (e.g., wood, plaster, etc.) or through use of math (some formula). That leaves “concept model” (also sometimes called “fact model”). Bingo. Is there a standard for this kind of model? Indeed there is: SBVR (Semantics of Business Vocabulary and Business Rules). See the SBVR Insider section on www.BRCommunity.com for more information.

Continue Reading 2 Comments

Why Data Models Can’t Be Verified … and Why Data Modelers Remain Under-Empowered – Data Model Week

In the real world, we communicate with sentences … just like we are doing now. If a “data model” can’t support writing meaningful and consistent sentences, then surely something is amiss. Business rules are always sentences, so you can see where I’m going with this. So I come to this radical and provocative suspicion: The reason data models remain so often disconnected from other things in the business and IT, and why data modelers generally so under-empowered, is that data modeling practices have been removed them from direct engagement with business logic. Shouldn’t be that way. Won’t ever work well. I’m sure there are a whole lot of people who disagree with me. So I am going to write a series of posts this week on the subject … and call this ‘data model’ week.

Continue Reading

What Exactly is a ‘Conceptual Data Model’ … and Why in the World is It Called that, Not Just ‘Concept Model’?

I’m kicking off 2012 with a couple of things I just don’t get. Here’s the second one: What exactly is a ‘conceptual data model’? Why in the world is it called that instead of just ‘concept model’?  ~~~~~~~~~~~~~~~ Did you ever pause for a while to ponder the meaning of the term “data”? Most of us don’t. The term is so familiar and pervasive we simply take it for granted. For IT professionals, “data” is about as basic as it gets. Taking terms for granted, unfortunately, is the surest path to confusion. It’s the deep assumptions about the terms lying at the very heart of a subject matter that usually trips us up. So let’s take a moment to examine the meaning of “data”. Just so you know where this is headed, I’m embarking on a full frontal assault on the term “conceptual data model”. I’ve disliked that term for years. I think we should kill it off once and for all. Why? Three fundamental reasons:
  • No business person would naturally say “conceptual data model” in everyday business conversation. If we mean something by “conceptual data model” that business people should be able to talk about, then why have a name for it they can’t easily understand? Jargon just makes things harder.   
  • I believe what you really mean when you say “conceptual data model” is simply “concept model”. If “conceptual data model” doesn’t mean that, then what in the world does it mean?! 
  • “Concept model” has recently been adopted by SBVR 1.1 replacing “fact model”. The SBVR reasoning for the switch is directly related to this discussion, but I’ll save it for some other post.
Why Not “Conceptual Data Model” The Wikipedia entry for “data (computer science)” says, “… information in a form suitable for use with a computer. The entry adds, “Data is often distinguished from programs … data is thus everything that is not program code.” Now let’s substitute “… information in a form suitable for use with a computer” for “data” in “conceptual data model”. The result of the substitution is “conceptual information (in a form suitable for use with a computer) model” or simply “conceptual information model”. What exactly does that mean? As far as I can tell, not much at all! By all rights we should be permitted to terminate the analysis there. In IT the Wikipedia definition is what “data” has meant for well over half a century. If you’re interested and have the patience, however, let’s be charitable and look more broadly at the term “data”. See the footnote[1] (long). Skip it if you like – it leads nowhere and life is short. As the footnote indicates, any attempt to make sense of “conceptual data model” through fair-minded dictionary analysis of “data” leads to nonsense or a dead end. So the term “conceptual data model” must have an origin all its own. Indeed it does – one definitively IT-based. Reviewing the Wikipedia entry for “conceptual data model” we find the synonym “conceptual schema”. “Conceptual schema” is a technical term dating at least from the 1970s. I can vouch for the overall accuracy of the Wikipedia entry since I wrote several books touching on the subject in the 1970s. Ironically, Wikipedia provides a great definition for “conceptual data model”: a map of concepts and their relationships. Bingo! So why all the mumbo jumbo? Why not just say “concept model”?! Let’s toss “conceptual data model” and be done with it!
[1] Definitions of “Data” in Merriam-Webster Unabridged Dictionary 1a: … SENSE-DATUM  : an immediate unanalyzable private object of sensation *a sharp pain, an afterimage …* Surely that’s not what a “conceptual data model” is about. 1b(1) material serving as a basis for discussion, inference, or determination of policy *no general appraisal can be hazarded until more data is available*   Most meanings of “material” are physical (e.g., metal, wood, plastic, fiber), however one [1b(2)] is not: something (as data, observations, perceptions, **ideas**) that may through intellectual operation be synthesized or further elaborated or otherwise reworked into a more finished form or a new form or that may serve as the basis for arriving at fresh interpretations or judgments or conclusions (emphasis added). For the sake of argument, let’s assume that “data” in “conceptual data model” is meant as “ideas”. So “conceptual data model” then becomes “conceptual idea(s) model”. What exactly are “conceptual ideas”? Or more precisely, what ideas are not conceptual?!? So in the very best case, this definition of “data” results in the awful signifier “conceptual idea(s) model”. 1b(2) detailed information of any kind  You can go through the various definitions of “information” if you desire, but I’ve already asserted that “conceptual information model” is nonsense. This whole matter can’t be all that hard(!).

Continue Reading 2 Comments

Something Important All Business Analysts Owe to Business People … Probably Not Something You’d Expect?

One of the first rules of business analysis should be never waste business people’s time. One of the fastest ways to waste their time is not knowing what they are talking about … literally … and do nothing about it. So you end up just wasting their time over and over again. Unacceptable. Is there a way to avoid it? Yes, by taking the time to understand exactly what concepts the business people mean when they use the words they use.  I believe business vocabulary should be job one for Business Analysts. If you don’t know (and can’t agree about) what the concepts mean, then (excuse me here for being blunt) you simply don’t know what you’re talking about. (And sometimes, unfortunately, neither do the business people … which is something important BAs should find out as early as possible.) So structured business vocabularies (fact models) are a critical business analysis tool. How else is there to analyze and communicate about complex know-how in a process-independent way?! Looking at the issue the other way around, you can make yourself look really smart about a complex area in a relatively short time by having and following a blueprint. We’ve had that experience many, many times in a wide variety of industries and problem areas. (Try jumping between insurance, pharmaceuticals, electricity markets, eCommerce, race care equipment, credit card fraud, trucking, taxation, healthcare, banking, mortgages, pension administration, ship inspections, and more! We do.) There’s no magic to it – like contractors for the construction of buildings, you must have or create structural blueprints. For operational business know-how, that means bringing an architect’s view to structure the concept system of the problem space …  just a fancy way of saying develop a well-structured business vocabulary. Then a whole lot of things will fall right into place for you. P.S. By the way, I’m not talking about any form of data modeling here. Also, there’s no real need to use the ‘S’ word (semantics) for it.  

Continue Reading

Where are Your Business Rules … In a Big-P Process Dead Zone?

On an EA LinkedIn group last week, Nick Malik wrote the following about business rules in Zachman Framework 3.0: I’ll bite. If the ‘enterprise ontology’ is similar to the periodic table of elements, then business rules are molecules. They are compositions of elements with specific implications, embedded in event handling logic. Why would you expect to see them, or models of them, on the Zachman Framework? OK… that was my humble, and perhaps uninformed, opinion. You are the master of business rules. You tell me where you’d see them.” Nick, You know the definition of ‘master’, right? Same as ‘expert’ … someone who has made all the known mistakes. Zachman and I have had over-dinner conversations for many years about the question of where business rules fit (or don’t) in the Framework, even more so in the past couple of years. I won’t speak for John, but I think he agrees. Yes, business rules are ‘molecules’ and yes, they are ‘composites’. So you don’t see business rules anywhere in Framework 3.0. Instead, if you look at the new cross-column thin gray lines, at row 2 in particular, some or many of those could be business rules. Aside: For convenience, here’s a zipped pdf of the new 3.0 version (with permission): ZF3.0.zip [approx 1.5M]. Visit Zachman’s new website for all the latest. The thing about molecules or composites – unlike the primitives – is that they can be conceived in many different ways. Each conceptualization leads you to a different representation approach, and each representation approach leads you ultimately to a particular implementation strategy. Some implementation strategies, of course, are better than others (by a mile!). Moving Beyond the Big-P Approach At the risk of over-simplification, you have two basic choices for conceptualization, and ultimately implementation, of composites: procedural or declarative. Historically, we have embedded business rules in process models and in procedural code. We have taken the column 2 (how) primitive, process, and used it to create composites. At the scale of today’s business, this Big-P process paradigm simply doesn’t work. Why? The thin gray lines in Zachman 3.0 are really about how the business is configured for operation. (At row 6 the thin gray lines represent the current actual configuration of the operational business.) In the Big-P paradigm, all building-block ‘molecules’ become thoroughly entangled with flow (input-transform-output). The result is essentially a semantic dead zone. You’re never sure what things really mean, and you can’t easily disentangle them. There are no built-in impediments to replication … and no opportunity to use logic to automatically evaluate configurations (models/designs) for conflicts, anomalies and other logical defects. Aside: The Big-P approach also has implications for data models. In current practices, there is no way to automatically perform any meaningful verification of data models either. The future lies with granular, declarative, semantically-rich specification of building-block composites (‘molecules’) for configuration. I know I used the ‘S’ word there (‘semantics’) but I’m simply talking about structured business vocabularies (SBVR-style fact models). Fact models, by the way, must cover anything with a name, including instances from columns 2-6, so they too are composite rather than primitive. Aside: Was I happy to see John use the ‘O’ word (‘ontology’) in 3.0? I think I know why he did it – to emphasize the Framework is not a simple taxonomy, but rather something rigorous enough to potentially reason over. I’ll let others judge that choice. Re-factoring the Big-P Paradigm Clearly, business rules are one building-block composite for disentangled forms of enterprise configuration. Another thing not considered a primitive – Nick mentioned them – are events. They too possess the granular, configurable potential of business rules. And yes Nick is right – events and business rules have a very close relationship, one not widely appreciated. (If the industry did, it would already be taking a very different approach to process modeling.) Aside: But no, Nick, I would not ’embed’ business rules in ‘event handling logic’ … no more than I would embed ‘event handling’ in business rules. Unfortunately, expert systems do allow you to do that. What else do we need as building-block composites to configure an enterprise at a given point in time? Let me propose decisions – but with caution. ‘Decision” is the buzzword de jeure. No, decisions are not a cure-all, no they do not replace business rules or events, and no they do not solve all our problems. But in proper perspective, yes, they are most definitely a building-block composite. Smart Configuration Models Big-P configuration of the enterprise is like setting it in concrete. To replace that flagging paradigm we need smart configuration models. Such models will feature at least: (a) business rules, (b) business events, and (c) operational business decisions. And of course, structured business vocabularies (fact models). Smart configuration models should be the new mantra for enterprise architecture. In a world of constant and accelerating change, I see no alternative. By pinning down the primitives definitively in 3.0, Zachman has opened the door to a whole new realm of rich architectural potential. But there’s more. Smart configuration schemes must address additional challenges facing business today. These include business governance and compliance – essential in a world of constant change – and just-in-time (JIT) delivery of know-how for operational workers. In our new book coming out the end of September, we call systems built using smart configuration schemes business operation systems (BOS), as opposed to ‘information systems’. I think you’ll find these new ideas quite exciting. Watch for them!

Continue Reading 2 Comments

Confession Time … I Fell into the Same Vocabulary Trap I Warn Everyone Else About

I have been involved in a great on-going discussion on LinkedIn about data models. I posed the question: Is there any proven way to demonstrate data models are correct, complete, and stable with respect to the operational business and its needs? You might enjoy joining in: http://goo.gl/MsnXu It was literally 25 messages into the discussion that I realized “data model” was being used in two distinct ways in the discussion. And even then it had to be pointed out by a participant who seemed to know one of the other people.
  • I always mean “data model” in the ‘old’ way, in which the data model supports real-time business operations (or close thereto). In that world, you must design for integrity, which generally means ‘highly normalized’ in the relational sense.
  • In the old-but-not-nearly-as-old world of OLAP, real-time operations and updates are not a concern, so de-normalization (and redundancy) are presumably acceptable. (I’ll leave that question to the experts.)
That’s always the problem with vocabulary – deeply buried assumptions that prevent you from hearing what you need to hear. From experience, I know the trap oh-so-well, but here I fell right into it myself. What’s the answer to the question I posed for “data models” (of the kind I meant)? Focusing on the meaning and structure of business vocabulary, not data, as a core part of business analysis.  Note to self (a rule): When you enter any discussion, be clear what you mean by the terms you use – even (and maybe especially) the ‘obvious’ ones.

Continue Reading 2 Comments