Ich beschäf­tige mich seit mehr als 30 Jah­ren mit der Model­lie­rung von Daten und habe eine Viel­zahl von Daten­mo­del­len (3NF, dimen­sio­nal, Ensem­ble (Anker, Data-Vault), Gra­phen usw.) haupt­säch­lich für ana­ly­ti­sche Sys­teme erstellt. Viele die­ser Modelle sind jedoch auch all­mäh­lich ver­al­tet oder über­holt. Manch­mal fühlt man sich wie der unglück­li­che Sisy­phos, der sei­nen Fels­bro­cken beharr­lich den Berg hin­auf­rollt, nur um irgend­wann fest­zu­stel­len, dass es wie­der umsonst war.

Lange Zeit war ich davon über­zeugt, dass es mög­lich sein muss, eine gemein­same und voll­stän­dige Sicht auf die geschäft­li­chen Belange eines Unter­neh­mens zen­tral zu model­lie­ren. Schließ­lich wis­sen lang­jäh­rige Geschäfts­leute, die an der Model­lie­rung betei­ligt waren, was im Unter­neh­men vor sich geht, oder? Nun, je klei­ner das Unter­neh­men war, desto näher kam ich dem Ziel. Aber um ganz ehr­lich zu sein, am Ende blieb jedes Modell nur eine Annä­he­rung – eine sta­ti­sche Ansicht, die ver­suchte, die sich stän­dig ver­än­dernde Rea­li­tät widerzuspiegeln.

Aber auch wenn es recht müh­sam ist, ein sol­ches Modell zu erstel­len, kön­nen wir ohne es abso­lut nicht erfolg­reich sein. Das moderne daten­ge­steu­erte Unter­neh­men basiert auf dem Kern­ge­dan­ken, aus Daten einen Wert zu schöp­fen. Tat­sa­che ist jedoch, dass Daten für sich genom­men kei­nen Wert haben. Wir müs­sen Daten in ver­schie­de­nen Geschäfts­kon­tex­ten nut­zen, kom­bi­nie­ren, inte­grie­ren und anwen­den, um letzt­end­lich einen Wert aus ihnen zu ziehen.

Aber ohne ein ech­tes Ver­ständ­nis der Infor­ma­tio­nen und des geschäft­li­chen Kon­tex­tes in unse­ren Daten kön­nen wir, ehr­lich gesagt, nichts dar­aus ablei­ten. Wir kön­nen ver­su­chen, im Vor­feld eine Daten­struk­tur zu erstel­len, indem wir beim Schrei­ben ein Schema ver­wen­den, oder wir kön­nen sie beim Lesen ablei­ten, indem wir ein Schema beim Lesen ver­wen­den. Wie auch immer, nur mit einer kla­ren Struk­tur und detail­lier­ten Beschrei­bun­gen der Dinge und der bekann­ten Bezie­hun­gen zwi­schen die­sen Din­gen sind wir in der Lage, Intel­li­genz anzu­wen­den und abzu­lei­ten, was noch unbe­kannt ist. Ohne Struk­tur wer­den wir im Daten­sumpf des unstruk­tu­rier­ten Daten­sees versinken.

Von Daten zu Informationen

Bei einem unstruk­tu­rier­ten Text zu einem belie­bi­gen Thema ver­ste­hen wir den Inhalt erst, wenn wir den Text voll­stän­dig gele­sen haben. Wäh­rend wir lesen, erstel­len wir ein men­ta­les Modell der Infor­ma­tio­nen, die im Text ver­bor­gen sind. Bei län­ge­ren Tex­ten wer­den wir wahr­schein­lich auch Noti­zen machen, die einen Teil des men­ta­len Modells auf Papier festhalten.

Etwas Ähn­li­ches pas­siert, wenn ML-Modelle Texte lesen. Neh­men wir Large Lan­guage Models (LLM), denn das Inter­esse an ihnen wächst der­zeit explo­si­ons­ar­tig. LLMs ver­ste­hen nicht viel, solange sie den Text nicht voll­stän­dig gescannt haben – wobei wir für einen Moment igno­rie­ren, dass diese Modelle ohne­hin nichts wirk­lich ver­ste­hen. Wäh­rend diese LLMs den Text scan­nen, lei­ten sie ein Modell ab, das Wör­ter (oder Token) nimmt, sie mit ande­ren Wör­tern vor und nach dem frag­li­chen Wort in Bezie­hung setzt, Ein­bet­tun­gen erstellt und das Ergeb­nis als Vek­to­ren in einer Daten­bank spei­chert – ähn­lich wie wir lesen und uns Noti­zen auf Papier machen, eigentlich.

Was ist das Pro­blem mit tra­di­tio­nel­lem Data Modeling?

Ohne wei­ter auf die Details von LLMs und die Algo­rith­men ein­zu­ge­hen, die sie zur Ablei­tung von Model­len aus unstruk­tu­rier­tem Text ver­wen­den, wol­len wir die Bot­tom-up-Natur die­ses Pro­zes­ses untersuchen.

Wir könn­ten theo­re­tisch alle Infor­ma­tio­nen, die von Geschäfts­an­wen­dun­gen erzeugt wer­den, als Text in natür­li­cher Spra­che spei­chern. Diese Texte könn­ten dann durch unsere LLMs geschickt wer­den, um ein Modell aus die­sen Geschäfts­da­ten abzu­lei­ten. Dies wäre ein ziem­lich lang­wie­ri­ger und kost­spie­li­ger Pro­zess, der aber auch Vor­teile brin­gen könnte. Lei­der ist das Modell, das bei die­sem Pro­zess ent­steht, kein aus­sa­ge­kräf­ti­ges seman­ti­sches Modell für uns Men­schen, das direkt zum Ver­ständ­nis der Daten bei­trägt. Aber das in einer Vek­tor­da­ten­bank per­sis­tierte Modell in Kom­bi­na­tion mit einem intel­li­gen­ten Cli­ent wie ChatGPT würde es Ihnen wahr­schein­lich ermög­li­chen, Abfra­gen durch­zu­füh­ren, um unbe­kannte Dinge über Ihre Daten aufzudecken.

Gleich­zei­tig ver­fü­gen wir in den meis­ten Unter­neh­men über Unter­neh­mens­da­ten­mo­delle, die im bes­ten Fall eine oft ver­al­tete Über­sicht über Ihr Unter­neh­men dar­stel­len. Eine Sicht­weise, die in der Regel von oben nach unten mit viel mensch­li­cher Arbeit erstellt wurde. Lei­der sind diese Modelle in den meis­ten Fäl­len weder voll­stän­dig noch voll­stän­dig kon­sis­tent mit den ande­ren, detail­lier­te­ren Model­len, die für die Geschäfts­an­wen­dun­gen im Unter­neh­men erstellt wur­den. Das Modell kann sogar phy­sisch in Form eines Unter­neh­mens-Data-Warehou­ses imple­men­tiert wer­den – oder meh­re­rer sol­cher Data-Warehou­ses, um die Rea­li­tät abzubilden.

Aber ich wage zu behaup­ten, dass es heute kein ein­zi­ges Unter­neh­men gibt, das über ein voll­stän­di­ges und aktu­el­les Daten­mo­dell der in allen sei­nen Anwen­dun­gen und Daten­ban­ken ent­hal­te­nen Infor­ma­tio­nen ver­fügt – und damit meine ich aus­drück­lich die gesamte ope­ra­tive und ana­ly­ti­sche Ebene. Und ich bin noch mehr davon über­zeugt, dass kein Unter­neh­men ein Enter­prise Data Ware­house mit einer imple­men­tier­ten Ver­sion die­ses Modells besitzt, das voll­stän­dig mit Daten aus allen Anwen­dun­gen bestückt und stän­dig auf dem neu­es­ten Stand gehal­ten wird.

Selbst Daten­mo­delle, die für eine ein­zelne Anwen­dung ent­wi­ckelt wer­den, sind in der Regel eine par­ti­elle Top-Down-Sicht auf Geschäfts­ob­jekte und Bezie­hun­gen, die für die Anwen­dung zu einem bestimm­ten Zeit­punkt rele­vant sind. Aber die Rea­li­tät ändert sich natür­lich stän­dig mit jedem neuen Pro­dukt, das defi­niert wird, mit jeder neuen Anwen­dung (oder sogar Micro­ser­vice), die ein­ge­führt wird, und gene­rell mit kon­ti­nu­ier­li­chen Ände­run­gen an den Geschäfts­pro­zes­sen des Unternehmens.

Es ist unmög­lich, die sich stän­dig ändernde Art und Weise, wie ein Unter­neh­men Geschäfte tätigt, in einem sta­ti­schen Top-down-Daten­mo­dell abzu­bil­den. Selbst wenn man theo­re­tisch alle Geschäfts­ob­jekte und Bezie­hun­gen zu einem bestimm­ten Zeit­punkt kor­rekt erfas­sen könnte, wäre das Modell schnell veraltet.

Tran­si­tio­nal Mode­ling to the Rescue

Wenn diese arbeits­in­ten­sive Top-Down-Model­lie­rung unse­ren Anfor­de­run­gen nicht voll­stän­dig gerecht wird, warum nicht einen Bot­tom-Up-Model­lie­rungs­an­satz hin­zu­fü­gen? Las­sen Sie uns einen neuen Blick auf die Daten­mo­del­lie­rung wer­fen, indem wir einen Ansatz ver­fol­gen, den Lars Rönn­bäck in sei­nem fas­zi­nie­ren­den Auf­satz über die Model­lie­rung wider­sprüch­li­cher, unzu­ver­läs­si­ger und schwan­ken­der Infor­ma­tio­nen als Über­gangs­mo­del­lie­rung bezeichnet.

Ver­gleich­bar mit dem LLM-Ansatz zur Ablei­tung eines Modells aus natür­li­chem Sprach­text (leicht struk­tu­riert durch Wör­ter und Sätze), kön­nen wir unser Daten­mo­dell aus Daten­ato­men oder Posits, wie Lars Rönn­bäck sie nennt, ablei­ten. Daten­atome sind so etwas wie stan­dar­di­sierte Infor­ma­ti­ons­häpp­chen über das Geschäft in der Orga­ni­sa­tion. Wir wer­den sie spä­ter in die­sem Arti­kel genauer untersuchen.

Der Unter­schied zum natür­lich­sprach­li­chen Text ist das mini­male, starre Schema, nach dem Daten­atome defi­niert und kom­bi­niert wer­den, im Gegen­satz zu der unstruk­tu­rier­ten Art und Weise, wie Wör­ter zu Sät­zen kom­bi­niert wer­den. Mit die­sem mini­ma­len Schema erhal­ten wir die Mög­lich­keit einer ver­ein­fach­ten Ver­ar­bei­tung, wäh­rend wir gleich­zei­tig die Fle­xi­bi­li­tät eines natür­lich­sprach­li­chen Tex­tes bei­be­hal­ten, um hoch­kom­plexe Fak­ten und viel­schich­tige Bezie­hun­gen aus­zu­drü­cken. Auf diese Weise kön­nen wir das Modell aus den Daten selbst ablei­ten, ähn­lich wie der LLM sein Modell aus den Wör­tern im natür­lich­sprach­li­chen Text ablei­tet, aber effi­zi­en­ter und einfacher.

Die Umwand­lung des Inhalts einer Daten­bank in Daten­atome ist eigent­lich ein recht ein­fa­cher Pro­zess und kann viel effi­zi­en­ter durch­ge­führt wer­den als die Umwand­lung in einen aus­sa­ge­kräf­ti­gen natür­lich­sprach­li­chen Text. Und jeder IT-Geschäfts­be­reich kann seine geschäft­li­chen Kon­text­in­for­ma­tio­nen ein­fach als zusätz­li­che Daten­atome zu den auto­ma­tisch aus Daten­ban­ken abge­lei­te­ten Infor­ma­tio­nen hin­zu­fü­gen. Die­ser Gesamt­strom von Daten­ato­men ent­hält alle not­wen­di­gen Infor­ma­tio­nen, um jeder­zeit ein aktu­el­les Daten­mo­dell ablei­ten zu kön­nen. Jede Ände­rung des Domä­nen­mo­dells kann leicht ver­öf­fent­licht wer­den, indem zusätz­li­che Daten­atome in die­sen Strom ein­ge­speist werden.

Ein Strom von Daten­ato­men ist der ideale Input für das, was wir als ereig­nis­ge­steu­erte Daten­ar­chi­tek­tur bezeich­net haben. Dabei han­delt es sich um ein Sys­tem­de­sign, bei dem die Ver­ar­bei­tung durch bestimmte Ereig­nisse oder Zustands­än­de­run­gen (hier die Daten­atome) aus­ge­löst wird, was Inter­ak­tio­nen zwi­schen Anwen­dun­gen im Unter­neh­men in Echt­zeit ermöglicht.

Bei jeder Ein­füh­rung einer neuen Anwen­dungs­funk­tion, die höchst­wahr­schein­lich auch das Unter­neh­mens­da­ten­mo­dell ändert, kann die Ände­rung als Daten­atome in der ereig­nis­ge­steu­er­ten Archi­tek­tur ver­öf­fent­licht wer­den. In der Pra­xis bedeu­tet dies, dass jede andere Anwen­dung im Unter­neh­men direkt auf das geän­derte Modell reagie­ren und Visua­li­sie­run­gen oder abhän­gige nach­ge­la­gerte Ver­ar­bei­tung ent­spre­chend aktua­li­sie­ren kann. Ins­ge­samt kön­nen sich Ihre Sys­teme auf diese Weise dyna­misch wei­ter­ent­wi­ckeln und sehr fle­xi­ble Mög­lich­kei­ten zur Dar­stel­lung von Infor­ma­tio­nen bieten.

Jedes andere Daten­mo­dell kann aus dem Grund­mo­dell einer zeit­lich geord­ne­ten Reihe von Daten­ato­men abge­lei­tet werden.

Diese Tat­sa­che kön­nen wir effek­tiv nut­zen, um Unter­neh­mens­da­ten­mo­delle zu erstel­len, die immer aktu­ell blei­ben. Und mehr noch, jedes andere Daten­bank­mo­dell, das für eine bestimmte Anwen­dung opti­miert ist, kann effi­zi­ent aus dem Unter­neh­mens­mo­dell abge­lei­tet wer­den. Wir kön­nen Anwen­dun­gen ent­wi­ckeln, die in der Lage sind, den Strom der Daten­atome auto­ma­tisch umzu­wan­deln, z. B. in einen Daten­tre­sor, ein Gra­phen­mo­dell oder ein leis­tungs­op­ti­mier­tes Stern­schema für eine rela­tio­nale Daten­bank, die in einem Data Ware­house ver­wen­det wer­den soll.

Dabei ist zu beach­ten, dass diese Daten­atome nicht nur die Seman­tik der Daten für die Ablei­tung von Model­len kodie­ren, son­dern auch den kom­plet­ten Geschäfts­in­halt. Ein unver­än­der­li­cher Strom von Daten­ato­men ist daher das opti­male Modell für eine ver­lust­freie Auf­zeich­nung aller Infor­ma­tio­nen, die im Laufe der Zeit im Unter­neh­men ent­stan­den sind. Dies ist ver­gleich­bar mit dem, wofür eine rela­tio­nale Daten­bank ihr Com­mit-Log ver­wen­det, um z.B. ACID-Garan­tien zu imple­men­tie­ren und alle Arten von Bezie­hun­gen aus den in die Daten­bank über­tra­ge­nen Trans­ak­tio­nen abzu­lei­ten. Aber hier nut­zen wir dies auf Unter­neh­mens­ebene, um alle Anwen­dun­gen zu inte­grie­ren, anstatt in einem ein­zi­gen Daten­bank­ma­nage­ment­sys­tem gefan­gen zu sein.

Daten-Atome

Das klingt zu schön, um wahr zu sein, also las­sen Sie uns diese Daten­atome erfor­schen. Der ein­fa­che und offen­sicht­li­che Pro­zess der Bil­dung kom­ple­xer Orga­nis­men aus ein­fa­che­ren Ato­men und Mole­kü­len ist eine wei­tere intel­li­gente Erfin­dung von Mut­ter Natur. Wir kön­nen das glei­che Prin­zip anwen­den, um unsere Modelle von unten nach oben aus Daten­ato­men zu bilden.

Las­sen Sie uns also ein wenig in der Ursuppe rüh­ren und Daten­atome defi­nie­ren, die kom­bi­niert wer­den kön­nen, um hoch­kom­plexe Fak­ten aus­zu­drü­cken. Lars Rönn­bäck hat eine far­ben­frohe und schöne Beschrei­bung der Struk­tur erstellt, die unsere Daten­atome bil­den. Ein wenig Scala-Code kann viel­leicht hel­fen, die Struk­tur noch prä­gnan­ter zu beschrei­ben und erlaubt es Ihnen, mit dem Kon­zept zu spielen:

// === THE BASIC STRUCTURE ===

// An Appearance can be identified with any type I
// and can have a role of any type R
case class Appearance[I,R](id: I, role: R):
    override def toString(): String = s"($id,$role)"

// A DataAtom as a set of Apearances and a value (of type V) 
// as of one particular point in time (type T)
// override toString to mimic Lars Rönnbäcks compact way to write Posits
case class DataAtom[I, R, V, T](appearances: Set[Appearance[I,R]], value: V, timestamp: T):
    private var id: java.util.UUID = scala.compiletime.uninitialized
    override def toString(): String = s"[${appearances.toString.replace("Set(","{").replace("))",")}")}, $value, $timestamp]"
    def infoId(): String =
      if (id == null) then id = java.util.UUID.randomUUID()
      id.toString()


// === Create a simple model ===

// The classes defined in the ontology
val customerType = DataAtom(
  Set(Appearance("Ontology.Customer", "class")),
  "Customer", java.time.LocalDateTime.MIN)

val carType = DataAtom(
  Set(Appearance("Ontology.Car", "class")),
  "Car", java.time.LocalDateTime.MIN)

// Define the customer John Wayne with id 4711
val customer4711 = DataAtom( 
  Set(Appearance("4711", "thing"), Appearance("Ontology.Customer", "class")),
  "official", java.time.LocalDateTime.now())
val customer4711LastName = DataAtom( 
  Set(Appearance("4711", "last name")), "Wayne", java.time.LocalDateTime.now())
val customer4711FirstName = DataAtom( 
  Set(Appearance("4711", "first name")), "John", java.time.LocalDateTime.now())

// Define the car with red color and VIN 0815 to be owned by customer 4711
val car0815 = DataAtom(
  Set(Appearance("0815", "thing"), Appearance("Ontology.Car", "class")),
  "official", java.time.LocalDateTime.now())
val car0815VIN = DataAtom( 
  Set(Appearance("0815", "vehicle identification number")),
  "0815", java.time.LocalDateTime.now())
val car0815Red = DataAtom(
  Set(Appearance("0815", "color")), 
  "red", java.time.LocalDateTime.now())
val carOwned = DataAtom( 
  Set(Appearance("4711", "owns"), Appearance("0815", "registered with")),
  "officially registered", java.time.LocalDateTime.now())

// create a stream of DataAtoms
val stream = Seq.empty[DataAtom[?,?,?,?]] :+ 
  customerType :+ carType :+ 
  customer4711 :+ 
  customer4711LastName :+ 
  customer4711FirstName :+ 
  car0815 :+ 
  car0815VIN :+ 
  car0815Red :+ 
  carOwned

////////////////////////////////////////////////////////////////////////////////////////
// Change the ontology
// Define a new vehicle type for bicycles, cars and other vehicles
val vehicleType = DataAtom(
  Set(Appearance("Ontology.Vehicle", "class")),
  "Vehicle", java.time.LocalDateTime.now().plusYears(3))

// The car will be repainted in blue one year later
val colorChange = DataAtom(
  Set(Appearance("0815", "color")), 
  "blue", java.time.LocalDateTime.now().plusYears(1))

// The customer Herold Ford appears with id 4712 two years later
val customer4712 = DataAtom(
  Set(Appearance("4712", "thing"), Appearance("Ontology.Customer", "class")),
  "official", java.time.LocalDateTime.now().plusYears(2))

// John Wayne sells his car to Herold Ford
val carOwnedNow = DataAtom(
  Set(Appearance("4712", "owns"), Appearance("0815", "registered with")),
  "officially registered", java.time.LocalDateTime.now().plusYears(2))

// The fact that customers can own bicycles gets tracked
val customer4711withBicycle = DataAtom(
  Set(Appearance("4711", "owns bicycle")),
  true, java.time.LocalDateTime.now().plusYears(2))

// John Wayne asserts one year after he sold his car, that he thinks with 80% 
// percent confidence he sold it to Herold Ford the year before
val assertion = DataAtom(
  Set(Appearance(carOwnedNow.infoId(), "ATOM"),
      Appearance("4711", "determines confidence")),
  0.8, java.time.LocalDateTime.now().plusYears(3))

// the car is redefined as a vehicle with a new attribute: type
val carNowVehicle = DataAtom(
  Set(Appearance("0815", "thing"), Appearance("Ontology.Vehicle", "class")),
  "official", java.time.LocalDateTime.now().plusYears(3))

val carVehicleType = DataAtom(
  Set(Appearance("0815", "type")),
  "Car", java.time.LocalDateTime.now().plusYears(3))

// create another stream of DataAtoms
val newStream = Seq.empty[DataAtom[?,?,?,?]] :+
  vehicleType :+ 
  colorChange :+
  customer4712 :+ carOwnedNow :+
  customer4711withBicycle :+
  assertion :+
  carNowVehicle :+ carVehicleType

val overallStream = stream ++ newStream

// As one tiny example let’s query the stream to
// get all the entities in the model as a 
// set of (entity-name, valid-from) tuples
val entities = overallStream.filter(_.appearances.map {
   role => role match {
     case Appearance(_,"class") => true
     case _ => false
   }}.reduceLeft( (acc,b) => acc && b )
).sortBy(_.timestamp.asInstanceOf[java.time.LocalDateTime]).map {
  a => (a.value, a.timestamp)
}.toSet

Das kleine Bei­spiel ver­deut­licht hof­fent­lich das Poten­zial die­ses Ansat­zes. Er ermög­licht es, dass Ihre Unter­neh­mens­mo­delle aktu­ell, voll­stän­dig und voll­stän­dig mit allen detail­lier­ten Model­len, die von Ihren Anwen­dun­gen dar­ge­stellt wer­den, abge­stimmt sind. Wen­den Sie die­sen Ansatz auf Unter­neh­mens­ebene an, um Infor­ma­tio­nen zu kodie­ren, die in Ihren Geschäfts­an­wen­dun­gen erstellt wur­den und in gro­ßem Maß­stab gemein­sam genutzt wer­den müs­sen. In Daten­ato­men kodierte Infor­ma­tio­nen kön­nen das Rück­grat der moder­nen Daten­mo­del­lie­rung bil­den. Gleich­zei­tig kann die­ser Ansatz auch für das ver­wen­det wer­den, was ich als uni­ver­selle Daten­ver­sor­gung bezeichne – eine Unter­neh­mens­da­ten­ar­chi­tek­tur, die dar­auf abzielt, das daten­ge­steu­erte Wert­ver­spre­chen zu erfül­len, indem sie die ver­lust­freie gemein­same Nut­zung von Daten für alle Anwen­dun­gen im Unter­neh­men ermöglicht.

Eine Onto­lo­gie als Leit­fa­den für Ihre Datenatome

Wie so oft gilt auch hier der Grund­satz, das eine zu tun, ohne das andere zu ver­nach­läs­si­gen. Auch wenn unser Top-Down-Model­lie­rungs­an­satz allein nicht erfolg­reich sein kann, kann er unsere Über­gangs­mo­del­lie­rung erheb­lich vereinfachen.

Ich habe in Teil 3 mei­ner drei­tei­li­gen Serie über Daten­netze aus­führ­li­cher über eine Onto­lo­gie und deren Erstel­lung geschrie­ben. Aber hier nur eine kurze Zusam­men­fas­sung der Kern­idee: Bei einer Onto­lo­gie geht es um das große Ganze und das kon­zep­tio­nelle Ver­ständ­nis des Geschäfts auf einer hohen Ebene, das eine Ori­en­tie­rung für die in den Geschäfts­be­rei­chen ent­wi­ckel­ten anwen­dungs­spe­zi­fi­schen Modelle bietet.

Die moderne Daten­mo­del­lie­rung geht das Pro­blem von oben nach unten mit der Onto­lo­gie und von unten nach oben an, indem sie ein­fa­che Daten­atome erstellt, die mit der Onto­lo­gie ver­knüpft wer­den. Dies ermög­licht den Auf­bau von voll­wer­ti­gen Unter­neh­mens­da­ten­mo­del­len, die aktu­ell und voll­stän­dig blei­ben können.

Das bedeu­tet nicht, dass die Model­lie­rung prak­tisch zu einem auto­ma­ti­sier­ten Pro­zess gewor­den ist. Es kann immer noch wider­sprüch­li­che und unter­schied­li­che Infor­ma­tio­nen geben, die har­mo­ni­siert und ver­ein­bart wer­den müs­sen. Es ist nur so, dass wir jetzt jedem im Unter­neh­men die Mög­lich­keit geben, sich aktiv zu betei­li­gen. Wir ver­tei­len den Daten­mo­del­lie­rungs­pro­zess effek­tiv, was eine offene und frucht­bare Debatte über das Unter­neh­mens­da­ten­mo­dell auslöst.

Der Pro­zess wird nicht mehr von einer theo­re­ti­schen Top-down-Sicht auf das Unter­neh­men zu einem bestimm­ten Zeit­punkt bestimmt. Die Kom­bi­na­tion aus einer Onto­lo­gie und einer Über­gangs­mo­del­lie­rung bie­tet den Rah­men für eine echte Zusam­men­ar­beit im gesam­ten Unter­neh­men. Dis­kus­sio­nen und unter­schied­li­che Stand­punkte sind zu jedem Zeit­punkt völ­lig trans­pa­rent. Dies gibt uns zumin­dest die Werk­zeuge an die Hand, um letzt­end­lich einen Kon­sens über ein unter­neh­mens­wei­tes Daten­mo­dell zu errei­chen. Mit den rich­ti­gen Gover­nance-Pro­zes­sen, die diese kol­la­bo­ra­tive Model­lie­rung lei­ten, haben wir eine gute Chance, die Daten­mo­del­lie­rung auf die nächste Evo­lu­ti­ons­stufe zu heben.

Quelle: medium.com