Signet

Modellzentrische Softwareentwicklung

Modellierung beinhaltet

  • Bewertung eines Sachverhalts,
  • Priorisierung relevanter Aspekte,
  • Berücksichtigung praktischer Erwägungen und Erfahrungen.

Modellzentrische Softwareentwicklung adressiert die Vielfalt der Erfahrungen, Entscheidungen und Bewertungen im Verlaufe der Softwareerstellung und weist sie den unterschiedlichen Rollen im Entwicklungsprozess zu. Lauffähige Software entsteht durch Transformation oder direkte Ausführung der unterschiedlichen Modelle. Jedes Modell lässt sich einem Urheber zuordnen.

Im Gegensatz dazu erfolgt bei der noch vorwiegend praktizierten codezentrischen Softwareentwicklung die Umsetzung in einem einzigen Zielmodell (dem Programmcode). Die Analysemodelle dienen lediglich als mittelbare Quelle, kreative Stütze oder einfache Dokumentation und veralten in der Regel sehr schnell. Das Endresultat lässt keinen Urheber mehr erkennen. Erstellt hat es zwar der Softwareentwickler - die Vorgaben und Ideen stammen jedoch aus einem viel größeren Kreis.

Die analytische Kompetenz in den Fachabteilungen ist hoch - Betriebswirte verfügen heutzutage über eine Ausbildung in Informationsmodellierung und Operations Research und können technikneutrale Algorithmen formulieren und optimieren. Diese Kompetenzen sollten für die digitale Erneuerung der Geschäftsprozesse genutzt werden. Das Muster "Die Fachabteilung spezifiziert - der Entwickler implementiert" ist überholt und führt zu einer Überlastung der IT und zunehmender Ungeduld in den Geschäftseinheiten.

Eine viel sinnvollere Aufgabe von Softwareingenieuren besteht darin:

  • eine für das Geschäftsfeld passende virtuelle Ablaufumgebung zu schaffen,
  • der Fachabteilung hierfür geeignete Entwicklungswerkzeuge bereitzustellen,
  • Ablaufumgebung und Werkzeuge fortlaufend zu verbessern und aktuelle Technologien zu integrieren.

Modellzentrische Softwareentwicklung verfolgt diese Ziele.

© Christian Malouf · 2016