Posts Tagged ‘impedance mismatch’

The pervasive impedance mismatch between Business and IT

March 9, 2009

As been said and written: ontology evolution/engineering can learn many things from its much older brother of software evolution/engineering. We substantiate this by making a comprehensive literature study on ontology evolution, and look where techniques and principles from software evolution could fit in.

Apart from the similarities, there are also divergent assumptions that must be taken into account regarding vocabulary when modeling information as compared to modeling software. For example, the vocabulary used to label classes (PERSON), attributes (fName, lName), and methods is usually biased by the technical jargon of the software engineer resulting in typical constructs such as:

class PERSON
	char fName[25];
	char lName[25];
	char Address[100];
	char people[MAXADDRESS];

Using technical vocabulary in a closed environment where such technical models are exchanged privately between colleague programmers usually poses no big semantic mismatch.

On the contrary, information (such as about persons) is to be exchanged publicly all over the organisation and beyond. The vocabulary used to model information should be understandable by business analysts, by administration staff, by business allies. Many dictionaries (Merriam-Webster, Wikipedia) agree that the a person is a kind of human being, however, for the term “person” there are various meanings, as defined by, .e.g, WordNet:

  1. S: (n) person, individual, someone, somebody, mortal, soul (a human being) “there was too much for one person to do”
  2. S: (n) person (a human body (usually including the clothing)) “a weapon was hidden on his person”
  3. S: (n) person (a grammatical category used in the classification of pronouns, possessive determiners, and verb forms according to whether they indicate the speaker, the addressee, or a third party) “stop talking about yourself in the third person”

None of these meanings are reflected in the software model above.

Concretely, information must be meaningful for any actor that can support the organisation in making informed analysis and decisions.

This reasonable but difficult claim is not proportional to how information is dealt with today. The information model is usually considered as an auxiliary part of the software model – in many cases even reduced to a dump for temporary data feeding and resulting from the code, without any consideration about the potential value of data for other purposes on the long term. Consequently, the vocabulary used to describe the information (i.e. the information metamodel) is the same as the one used by the software engineers to model software classes. In other words: it is rendered useless outside.

The semantic mismatch between the vocabulary used to describe information by technical and business actors causes a serious impediment to exchange that information meaningfully and do business properly. This is aggravated by the fact that business people have a different use of the information in mind than their IT colleagues.

In order to reduce the impedance mismatch as described above, a new equation must be found between the divergent perspectives of business and IT on the business concept types that live in the organisation, based on the following ideas:

  1. The meaning of information (read: business semantics) should be described in a vocabulary as close as possible to natural language, however still processable by machines. Fact-oriented approaches have been proven to be outstanding as natural-language inspired paradigm that can be utilised by layman domain experts to analyse and model their domain.
  2. This business semantics management process co-evolves with the software modelling process on the IT level.
  3. Different stakeholders (IT vs. business, but also e.g., sales vs. production floor) have various perspectives on the business concepts.
  4. The explicit rendering of stakeholders perspectives allows us to capture the evolution of the business semantics completely, validate the business semantics against these perspectives respectively, and finally increase overall satisfaction (see my Principles for ICT Democracy for more).