Blog
Steigern Sie den Unternehmenswert durch Domain-Driven Design

Die Softwareentwicklung ist das Herzstück der meisten Unternehmen. Wir alle sind digitale Unternehmen, die verstehen müssen, wie Technologie unser Kerngeschäft stark beeinflusst und unseren Wettbewerbsvorteil ausmachen oder zunichte machen kann. Die richtigen Entscheidungen über Investitionen in Technologie zu treffen, ist heute mehr denn je eine entscheidende Fähigkeit für digitale Führungskräfte. Entdecken Sie, wie Domain-Driven Design Unternehmen und IT zusammenbringen und Ihre Technologie zu einem vollen Erfolg machen kann.
Die Essenz eines erfolgreichen Modells: Menschen
Wir haben in den letzten Jahren alles ausprobiert: Wasserfall, Agile, Scrum, DevOps und so weiter. Aber wir haben immer noch nicht das Patentrezept gefunden. Spoiler-Alarm: Das werden wir wahrscheinlich nie. Aber hey, es ist die Reise, die zählt, nicht wahr?
All diese Methoden wurden entwickelt, um uns das zu geben, was wir uns so verzweifelt wünschen: kürzere Markteinführungszeiten, schnellere Lieferung, Kostenreduzierung und schnelle Bereitstellung von Mehrwert für das Unternehmen... Und doch nutzen wir noch immer nicht alle Vorteile, die wir anstreben.
Das könnte etwas mit einem anderen 'kleinen' Detail zu tun haben, das oft übersehen wird: Menschen.
Wir alle arbeiten mit Kollegen zusammen. Manchmal mag die Interaktion mit einem Kollegen einfach sein und sich von selbst ergeben, bei anderen müssen wir uns mehr Mühe geben. Die Zusammenarbeit mit anderen kann anstrengend sein, und der Grad des Erfolgs hat Auswirkungen auf die oben genannten Vorteile.
Um das Beste aus der Zusammenarbeit herauszuholen, müssen wir uns Gedanken über unsere Interaktionen und das Umfeld, in dem sie stattfinden, machen. Dazu müssen wir die sozio-technische Komplexität verstehen, die hier im Spiel ist.
Es geht nicht nur um Bugs und das Schreiben von Code. Es geht vor allem(!) um soziale Aktivitäten und kognitive Verzerrungen. Sie müssen nicht weit gehen, um alle möglichen Beispiele dafür zu hören, dass Wirtschaft und IT in der Regel nicht die besten Freunde sind. Sofortige Komplexität, genau hier.
Was wir brauchen, ist eine Möglichkeit, mit dieser soziotechnischen Komplexität umzugehen. Eine Möglichkeit, die Interaktion von Menschen zu unterstützen, um erfolgreich zu sein. Eine Methodik, die uns hilft, diesen Wert schnell zu liefern. Genau hier kommt Domain-Driven Design (DDD) ins Spiel.

Die Trennung von Domain-Driven Design
Wie wir bereits gesagt haben, verstehen sich Unternehmen und IT nicht immer (sofort). Wenn Fachexperten - diejenigen, die das Geschäftsmodell/die Produkte verstehen - und Entwickler - diejenigen, die die Modelle/Produkte erstellen - nicht miteinander verbunden sind, kann dies leicht zu Softwaremodellen führen, die das Geschäftsmodell nicht repräsentieren. Im Gegenteil, es führt oft zu allen möglichen Frustrationen. Zu diesen Frustrationen kommen dann noch höhere Kosten und eine längere Markteinführungszeit hinzu.
Um dies zu veranschaulichen, stellen Sie sich den Moment vor, in dem Sie feststellen, dass Sie etwas geliefert haben, das sich erheblich von dem unterscheidet, was Sie erwartet und vereinbart haben. Was Sie bekommen werden, ist:
Stellen Sie sich vor, was sich in Ihrem Umfeld ändern würde, wenn alle Beteiligten immer auf derselben Seite stünden und einen Sinn für die Realität hätten, während Annahmen, die auf einem Mangel an Kommunikation beruhen, Ihren Prozess nicht mehr durcheinander bringen würden...
Mit anderen Worten: Es wäre großartig, wenn diese Diskrepanz aufgelöst werden könnte, wenn alle dieselbe Sprache sprechen und die Modellierung gemeinsam mit allen relevanten Interessengruppen durchgeführt wird. Genau das ist das Ziel von DDD.

Was springt für Sie dabei heraus?
Ob Sie nun Entwickler, Architekt, technischer Leiter oder CTO sind - es ist sehr wahrscheinlich, dass DDD eher früher als später Ihren Weg kreuzen wird. Warum sollte Sie das interessieren?
DDD aus der Sicht eines Entwicklers
Einfach ausgedrückt: Wie können Sie Ihrem Chef DDD verkaufen? Oder Ihrem Product Owner?
In Ihrer Rolle wollen Sie einen Einfluss auf den Erfolg des Unternehmens haben. Natürlich schreiben Sie Ihren Code mit Sorgfalt und wenden allgemein anerkannte technische Praktiken an. Aber das reicht nicht aus, und hier kommt
Wenn Sie einen echten, greifbaren Geschäftswert durch die Einführung einer bestimmten Methode nachweisen können, warum sollte das Unternehmen Ihre Empfehlung jemals ablehnen? Dieser Business Case ist sogar noch aussagekräftiger, wenn Sie nachweisen können, dass der geschäftliche Nutzen mit dem von Ihnen empfohlenen Ansatz höher ist als mit anderen Optionen.
Aus Erfahrung wissen wir, dass es oft etwas schwieriger ist, DDD im Unternehmen zu verkaufen, als nur zu sagen, dass wir Domain-Driven Design anwenden werden. Jede Organisation ist anders und wird ihre eigenen Bedenken und Widerstände haben. Diese zu überwinden und die Dinge in Gang zu bringen, kann eine Herausforderung sein.

Unserer Meinung nach ist Experimentieren der beste Weg, um den Wert von DDD zu zeigen. In jeder Phase eines Projekts werden Sie Gelegenheit haben, eines oder mehrere der von DDD angebotenen Paradigmen zu verwenden.
How to persuade your organization
Gibt es Unklarheiten zwischen verschiedenen Teams? Organisieren Sie eine Big Picture EventStorming-Sitzung und entdecken Sie die Grenzen zwischen verschiedenen Prozessen. Sie beginnen ein neues Epos, das einen Prozess beinhaltet? Moderieren Sie eine EventStorming-Sitzung und lernen Sie den Prozess und die verwendete Sprache kennen. Das dabei gewonnene Wissen ist bei der Entwicklung neuer Funktionen enorm hilfreich.
Das Wichtigste ist, dass Sie das Gespräch mit den Entwicklern und dem Unternehmen in Gang bringen. Wenn Sie bessere Gespräche führen, erhalten alle Beteiligten mehr und bessere Informationen. Da Vorurteile und Annahmen in Frage gestellt werden, werden die Anforderungen klarer definiert, bevor eine Zeile Code geschrieben wird. Das Ergebnis ist, dass Sie es einfacher machen, das Richtige zu entwickeln und die Markteinführung zu beschleunigen.
Je mehr Vertrauen Sie gewinnen, desto einfacher wird es, weitere Paradigmen und Prinzipien des Domain-Driven Design in einer Weise zu übernehmen, die zu Ihrer Umgebung passt. Es wächst das Mantra 'Gemeinsam schaffen wir' im Gegensatz zu Anforderungen, die über einen digitalen Zaun geworfen werden.

DDD aus der Führungsperspektive
Einfach ausgedrückt: Warum sollte ich in Domain-Driven Design investieren und es unterstützen?
Irgendwann werden Entwickler an Ihre Tür klopfen und versuchen, Sie davon zu überzeugen, Budget und Zeit für die neueste glänzende Sache im technischen Universum bereitzustellen. Die Chancen stehen gut, dass DDD eines davon ist. Warum sollten Sie
Auch hier geht es um den geschäftlichen Nutzen. Es geht darum, das Richtige richtig zu machen. DDD kann Ihren Teams dabei helfen, das Richtige zu bauen. Die Erkundungen und Gespräche zwischen Entwicklern und Geschäftsleuten können Ihnen helfen, Ihre Ziele besser und schneller zu erreichen. Bonus: Es führt zu weniger Konflikten und/oder Problemen.
Wie wir bereits gesagt haben, müssen wir uns Gedanken über das Umfeld machen, das wir schaffen. Als Führungskraft tragen Sie eine noch größere Verantwortung für das soziotechnische System, das existiert. Indem Sie DDD unterstützen, fördern Sie ein Umfeld, in dem konstruktive Gespräche zwischen der IT und dem Unternehmen geführt werden. In einem solchen Umfeld wird es - von vornherein - einfacher, kognitive Voreingenommenheiten und Annahmen zu hinterfragen, die von einem der Beteiligten gemacht werden. Bessere Anforderungen von Anfang an haben einen großen Einfluss auf die Lieferzeiten und die Änderungsgeschwindigkeit. Einige der Kernprinzipien von DDD helfen Ihnen, einen gemeinsamen Sinn für die Realität zu schaffen:
- Allgegenwärtige Sprache wird einen gemeinsamen Sinn für die Realität schaffen und erhalten, indem sie Mehrdeutigkeiten beseitigt und das Verständnis vertieft.
- Domains helfen Ihnen, sich auf den Mehrwert zu konzentrieren, und erleichtern Ihnen die objektive Entscheidung, wo Sie Ihre Ressourcen einsetzen sollten.
- Begrenzte Kontexte sind logische Grenzen, die es Ihnen ermöglichen, Bereiche abzugrenzen, in denen bestimmte Begriffe, Definitionen und Regeln auf konsistente Weise gelten.
Vorteile von Domain-Driven Design
1. A shared sense of reality
Ob es Ihnen gefällt oder nicht, Unternehmen und IT sind in hohem Maße voneinander abhängig; sie schaffen ihre Realität gemeinsam. Wenn Sie eine allgegenwärtige Sprache schaffen, werden Ihre Mission und Ihre Vision klarer und schaffen ein tieferes Verständnis und mehr Motivation in beiden Teams.
Mit Techniken der visuellen Zusammenarbeit, wie EventStorming, erhalten Sie Beiträge von allen relevanten Interessengruppen, so dass jeder die Geschichte erzählen und die Realität gemeinsam modellieren kann. Diese Schritte werden bei der gemeinsamen Arbeit an einem Projekt sehr oft ignoriert oder übersehen.
Letztendlich ist es dieser gemeinsame Sinn für die Realität, der zu einem nachhaltigen und wirkungsvollen Wandel führt, die Kommunikation verbessert und den Geschäftswert steigert.
2. Constructive communication
Das ist doch ein Problem, oder? Alles scheint mit effektiver Kommunikation zu stehen oder zu fallen. Das klingt alles sehr trivial, ist es aber eigentlich nicht. Wir leiden unter Großraumbüros, die die Verwendung von Kopfhörern mit Geräuschunterdrückung fördern, wir halten Meetings ohne zwischenmenschliche Kommunikation ab und wir machen uns nicht die Mühe, einander wirklich zu verstehen. Darüber hinaus gibt es oft eine (physische) Trennung zwischen Geschäft und IT, was die Kommunikation natürlich auch nicht verbessert.
Die DDD-Prinzipien machen es einfacher, diese Gespräche mit allen Beteiligten zu führen, sich gegenseitig zu hinterfragen und zu verstehen. Indem Sie visuelle Elemente - wie Post-its, viele Post-its - verwenden, um zu diskutieren, anstatt endlose Diskussionen zu führen und sich gegenseitig zu beschuldigen, Arbeitsvereinbarungen gemeinsam zu formulieren und die informelle Kommunikation anzuregen, können Sie Beziehungen aufbauen, Annahmen abbauen und sich mehr auf die vor Ihnen liegenden Fakten konzentrieren.

3. Competitive advantage
DDD hilft Ihnen, Ihre Bemühungen auf das zu konzentrieren, was für Ihr Unternehmen am wichtigsten ist. Den Kern Ihres Unternehmens. Warum tun Sie, was Sie tun? Was macht Sie einzigartig? DDD hilft Ihnen dabei, Ihre Kerndomäne, unterstützende Domänen und generische Domänen zu bestimmen, damit Sie Ihre Ressourcen optimal einsetzen können. Es hilft Ihnen, sich auf das zu konzentrieren, was Sie von Ihrer Konkurrenz unterscheidet, damit Sie Ihren Wettbewerbsvorteil behalten können.
Und was jetzt?
Fangen Sie mit der Diskussion an. Sehen Sie, was Ihnen das erste EventStorming-Experiment bringt. Sehen Sie, wie sich Ihre Geschäfts- und IT-Teams einander annähern? Sieht Ihre Führung, wie sich die Dynamik verändert?
Wenn Sie Fragen zu den Prinzipien des Domain-Driven Design haben oder wissen möchten, wie Sie DDD in Ihrem Unternehmen implementieren können, können Sie sich gerne an uns wenden.
Falls Sie noch nicht wissen, was DDD ist, können Sie sich jederzeit in einem der von uns angebotenen Trainingskurse informieren. Unten finden Sie weitere Informationen zu den Schulungen, sehen Sie sich unser Webinar '5 Tipps für den Start Ihres Domain-Driven Design-Ansatzes', oder besuchen Sie die Websites von Xebia und Qxperts.
Our DDD training courses
Verfasst von

Evelyn van Kelle
Unsere Ideen
Weitere Blogs
Contact



