Der Wissenstransfer zwischen Fachexpert*innen und Entwickler ist oft ineffizient. Beinahe die Hälfte der Softwareprojekte überziehen Budget und halten Deadlines nicht ein. Ohne gemeinsame Sprache sind kostspielige Missverständnisse vorprogrammiert. Domain Specific Languages (DSL) und ein Subject-Matter-First Ansatz ermöglichen durch eine klare Aufgabenteilung Wettbewerbsvorteile und lösen das Problem an der Wurzel.
Anekdote: Ein Programmierer wird von seiner Frau gebeten: „Geh zum Laden und kaufe einen Laib Brot. Falls sie Eier haben, bring ein Dutzend mit.“ Der Programmierer kommt mit 12 Broten zurück. Seine Frau: „Aber warum 12 Brote?“ Der Programmierer: „Sie hatten Eier.“
Organisationen gedeihen aufgrund ihrer Fähigkeit, permanent Wissen aufzubauen, zu strukturieren und es schneller als die Konkurrenz zu nutzen. Geschwindigkeit und Präzision sind daher Schlüsselfaktoren in der Wertschöpfung erfolgreicher Unternehmen. Wie aber können Fachexpert*innen (auch Subject Matter Expert (SME) bezeichnet) in diesem Wettbewerb bestmöglich unterstützt werden?
Leider sind Experten oft in schwerfälligen, fehleranfälligen Prozessen gefangen. Geeignete Werkzeuge fehlen, um Wissen präzise zu verarbeiten. Daher ist die Aufgabenteilung zwischen Fachabteilung und Entwicklung häufig ineffizient, verursacht Fehler und nimmt durch den Feedbackloop enorm viel Zeit in Anspruch. Fachwissen wird in Textdokumenten erfasst und erfordert einen aufwändigen manuellen Transfer in die Softwareentwicklung. Oft muss dabei unpräziser Text interpretiert werden und technisches und fachliches Wissen vermischt sich. Liefert die Softwareabteilung ihre Lösung schliesslich ab, kommt es zu Frust und Enttäuschung, da das Ergebnis nicht den Erwartungen entspricht. kostspielige technische Schulden sind die Folgen.
Offensichtlich ist es an der Zeit, neue Wege zu gehen: Der Entwicklungsprozess erfordert eine präzise, umfassende Ausdrucksweise des Fachwissens, schnelles Feedback und eine gemeinsame Datenbasis. Dazu benötigen die Schlüsselpersonen im Wertschöpfungsprozess geeignete Werkzeuge sowie eine klare Trennung der fachlichen und technischen Aufgaben.
Ansatz: Mittels Language Workbench (LWB) erstellten Developer eine Domain Specific Language (DSL). Der Fachexperte dokumentiert sein Wissen über die DSL mit der intelligenten Entwicklungsumgebung (IDE). Er verwendet dazu seine bevorzugte Notation und Ausdrucksweise, ohne dafür Programmierer werden zu müssen. Die generierte Lösung wird unmittelbar geprüft und bei Bedarf direkt angepasst. Der Softwareengineer wiederum kann sich im Anschluss ganz auf die Bereitstellung der Ausführungsplattform fokussieren.
Dieser Ansatz bietet hohen Automatisierungsgrad, umfassende Konsistenzprüfung, einfache Integration sowie ständige Verfügbarkeit von aktualisierten Softwarepaketen.
Effiziente Lösung: Der traditionelle, dokumentenbasierte Entwicklungsworkflow ist den heutigen Anforderungen nicht mehr gewachsen. Neue Lösungen ermöglichen es Fachexperten, Wissen präzise und verständlich auszudrücken und realisieren so schnell und effizient digitale Lösungen.
Der Ansatz «Subject-Matter-First» mittels DSL-Workflow optimiert den Entwicklungsprozess für den Fachexperten grundlegend. Dies führt nicht nur zu einer besseren Organisation und Nutzung des Fachwissens, sondern revolutioniert durch die klare Aufgabenteilung auch die Zusammenarbeit zwischen Fachabteilung und Entwicklung.
Im Vergleich zu RPA und den generischen Low-Code/No-Code Sprachen sind DSLs die weit bessere Wahl für Fachexperten, da diese exakt auf ihre Bedürfnisse zugeschnitten sind und ihre Arbeit effizienter macht.
Konzentration auf Kernkompetenzen: Fachexperten und Entwicklung können sich durch SMF und DSLs wieder auf ihre Kernkompetenz konzentrieren. Darüber hinaus ermöglicht die Spezialisierung von DSLs unternehmerische Alleinstellungsmerkmale hervorzuheben und dadurch Wettbewerbsvorteile zu erlangen.
Weiterführende Links zum Thema
- Must see – Witzige Darstellung des Problems: Präzise Algorithmen sind eine echte Challenge
- Subjec Matter First Manifesto
- Vortrag Markus Voelter: How Domain-specific Languages Improve Software Quality
- Vortragsserie mit verschiedensten Praxisbeispielen: MPS Talk Series
- Quelle Daniel Ratiu: Language Engineering in Practice