Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Strategische Softwarearchitektur mit Wardley Ma...

Strategische Softwarearchitektur mit Wardley Maps (Software Architecture Meetup Nürnberg)

Wardley Maps sind ein visuelles Werkzeug, das hilft, Systeme im strategischen Zusammenhang zu betrachten und fundierte Entscheidungen zu treffen. In diesem Talk erfahrt ihr, wie ihr mit Wardley Mapping Abhängigkeiten in Softwaresystemen sichtbar macht, Architekturentscheidungen nachvollziehbarer trefft und notwendige Investitionen oder auch den Verzicht darauf besser begründet. Anhand praktischer Beispiele aus der Legacy-Modernisierung zeige ich, wie ich diese Technik nutze, um Diskussionen über den Umgang mit gewachsenen Systemen anzustoßen und neue Handlungsoptionen zu eröffnen. Aber auch ihr erfahrt, wie ihr mit Wardley Maps eure tägliche Arbeit an Softwaresystemen strukturierter, transparenter und nachvollziehbarer gestalten könnt.

Avatar for Markus Harrer

Markus Harrer

October 08, 2025
Tweet

More Decks by Markus Harrer

Other Decks in Technology

Transcript

  1. Der ewige Konflikt in der Softwareentwicklung Zu teuer. Zu viele

    Fehler. Zu hohe Aufwände. Zu lange Time-to-Market. Zu hohe technische Schuld. Zu wenig Verbesserung. Technologie zu schlecht. Zu wenig Innovation. Zu wenig Budget. Zu wenig Zeit. Business Technik geklaut stark inspiriert von Gernot Starke
  2. Clean Code Refactoring Qualitätsziele-/taktiken Domain-Driven Design Wardley Maps Mein Weg

    zu diesem Thema … Refactor all the things! (aka Zeugs verbessern) Legacy Code Komisches Design Krumme Architektur Legacy Systeme Wirre Strategie Code Umfeld Zeit Design Architektur System Organisation Scope
  3. Wardley Simon Thought Lord, Mapper, Junior DevOpper, Destroyer of undeserved

    value. Quelle: https://www.linkedin.com/in/simonwardley/ Was ist “Wardley” überhaupt? Lawful / Chaotic Evil, often Good.
  4. „ zu lernen ist hart!“ Basierend auf Simon Wardleys Tweet:

    https://twitter.com/swardley/status/1489445302209814530 es dauert Jahre zum Lernen! Jahre und Monate, in denen man sich sagt: „Ich muss das wirklich lernen!“ 6 11 1 Monat zum Lernen! + Wardley Maps 9
  5. Aller Anfang ist schwer … 10 Legacy System Wir sollten

    ΛογΟµαγιχ als Open Source veröffentlichen! Bietet sich super an und wir sparen uns Arbeit! ??? Architekt Jemand, der Geld hat
  6. Ωισδοµ Βλοωερ ΛογΟµαγιχ ΣελλΧηεφ ∆ιε Ζεντραλε Τηε Σουρχερερ … geht

    noch nicht alles Wir sollten ΛογΟµαγιχ als Open Source veröffentlichen! Bietet sich super an und wir sparen uns Arbeit! ???
  7. Schritt 1: Wer braucht was? SellChef TheSourcerer WisdomBlower LogOmagic Die

    Zentrale Wert Wisdom Blower LogOmagic SellChef Die Zentrale The Sourcerer Systemüberblick Wardley Map Kompo- nente Legende hängt ab von Nutzer braucht Komponente Nutzer Legende
  8. Schritt 2: Wie weit sind wir? Evolution Entstehung Einzel- anfertigung

    Produkt Gebrauchtsgut SellChef TheSourcerer WisdomBlower LogOmagic Die Zentrale Wert
  9. Schritt 3: Passt das so? Evolution Entstehung Einzel- anfertigung Produkt

    Gebrauchtsgut SellChef TheSourcerer WisdomBlower LogOmagic Die Zentrale Wert Create Improve Outsource
  10. Verschenken! Verbessern! Ignorieren! Replatform! Schritt 4: Wo wollen wir hin?

    Evolution Entstehung Einzel- anfertigung Produkt Gebrauchtsgut SellChef TheSourcerer WisdomBlower LogOmagic Die Zentrale Risiko! Wert Create Improve Outsource
  11. Verbessern! Verschenken! Ignorieren! Replatform! Schritt 3: Wo wollen wir hin?

    Evolution Entstehung Einzel- anfertigung Produkt Gebrauchtsgut ΣελλΧηεφ ΤηεΣουρχερερ ΩισδοµΒλοωερ ΛογΟµαγιχ ∆ιε Ζεντραλε Risiko! Wert ΛογΟµαγιχ beizubehalten ergibt keinen Sinn. Wir verkaufen Kochtöpfe und keine Dev-Tools! Warum sagst du das nicht gleich?
  12. Meine erste „public“ Wardley Map (etwas vereinfacht) Commodity Product Custom

    Built Genesis Wertschöpfungskette Evolution User Zeugs machen Ultrawichtige Fachanwendung, mit der das Unternehmen fast die gesamte Kohle macht Selbstentwickeltes Microservices-Framework 7 1 Zahlen: Anzahl der Entwickler
  13. Anstehende Architekturentscheidung Eigenentwicklung Framework • Kontext: Bedarf an konsistentem Rahmen

    für Services • Entscheidung: Eigenes leichtes Framework bauen • Pro: Passgenau, schlank, lernfördernd, unabhängig, grüne Wiese, Spaß • Alternativen: keine Ahnung Nutzung etablierter Plattform • Kontext: Bedarf an konsistentem Rahmen für Services • Entscheidung: Standardstack mit Spring Boot auf Kubernetes • Pro: Community, Reife, Sicherheitsupdates, Produktivität • Alternativen: Dapr, Quarkus
  14. Mensch das ist doch klar, oder? (etwas vereinfacht) Commodity Product

    Custom Built Genesis Wertschöpfungskette Evolution User Zeugs machen Interne Anwendung Basis- framework Oh no! Oh yeah! Interne Entwickler Externe Firma
  15. 24 Start Ist der Outsourcing- Kandidat klein genug? Teile ihn

    auf! Ist der Outsourcing- Kandidat gut definiert? Gibt es bereits externe Dienstleister? Können wir es besser als die Dienstleister? Wird der Dienstleister auf unsere Kosten lernen? In-House- Entwicklung Outsource (agil) Neue Möglichkeit! Outsource nein ja nein vielleicht / ja nein nein ja ja ja nein Simon Wardley, CC BY-SA 4.0 Lizenz Auch: Cheatsheet zu Outsourcing
  16. Wie Wardley Maps erstellen? Fight-Club-Regeln 1. Regel: Ihr verliert kein

    Wort über den Fight Club. 2. Regel: Ihr verliert KEIN WORT über den Fight Club. Mein Vorgehen: In Gesprächen Informationen sammeln, aus denen später bei Bedarf eine Wardley Maps erstellt werden kann Auch gut, um das Thema am Anfang nicht gleich zu verbrennen 26
  17. Wann und wie Wardley Maps? • Gelegenheiten z. B. •

    Im Nachhinein allein • Direkt in Gruppe* • Kopf → (chaotisches) Gekritzel → Skizze / Diagramm • Tools • Stift und Papier / Tablet • Miro, Mural, Conceptboard, … • PowerPoint, Keynote • onlinewardleymaps.com Einfache Skizze Gekritzel einer Idee * wenn Wardley Maps schon etwas mehr bekannt 27
  18. “All models are wrong, but some are useful.” George Box

    Wardley Maps als Kommunikationsinstrument und nicht als goldenen Zauberstab sehen! 28
  19. Klassische Softwarearchitektur 30 “Die grundsätzliche Organisation eines Systems, wie sie

    sich in dessen Komponenten, deren Beziehung zueinander und zur Umgebung widerspiegelt, sowie die Prinzipien, die für dessen Design und Evolution gelten.“* * Definition von ISO/IEC 42010:2007 Eigentlich schon ziemlich gut für Strategieebene!
  20. Software- system Unser Umfeld 32 Nach Fabijan, Aleksander; Olsson Holmström,

    Helena; Bosch, Jan. (2016). Commodity Eats Innovation for Breakfast: A Model for Differentiating Feature Realization.
  21. Commodity Product Custom Built Genesis Wardley Map Evolution Wertschöpfungskette sichtbar

    unsichtbar Print photos Customer Management System Power Photographers Edit photos Store photos Online Photo Service Nutzer Bedürfnisse Scope Komponenten Wertschöpfungskette Evolution Muster Operating platform Website Data center Compute Übernommen von Simon Wardley, CC BY-SA 4.0 Lizenz
  22. „Ein Fragment der uns umgebenden Realität, das wir zum Zweck

    der weiteren Analyse (willkürlich) als eine einzige Einheit behandeln wollen.“ Chris Daniel, Mapping Glossary (https://community.wardleymaps.com/t/mapping-glossary/280) Im Allgemeinen • Aktivitäten (Dinge, die wir tun) • Praktiken (wie wir Dinge tun) • Daten (wie wir etwas messen) • Wissen (wie wir etwas verstehen) In der Softwarearchitektur • Bausteine • Module • Teilsysteme • Services • Softwaresysteme • Infrastrukturelemente Die „Böbbels“ sind Komponenten
  23. Gebrauchsgut Produkt Eigenbau Entstehung Komponente & Evolution Wie einigen wir

    uns auf die Platzierung einer Komponente? Vertrieblerin CRM Evolution 1 2 3 4 Erwartungs- haltung des Marktes Erwartungs- haltung der Herstellenden Unsere Fähigkeiten Erwartung- haltung eines konkreten Nutzenden CRM(-System): Customer Relationship Management (System zur Verwaltung von Kunden und den Beziehungen zu ihnen) CRM CRM CRM Überblick über die Geschäftskundenbeziehungen behalten Beispiele damit beginnen 36
  24. Wertschöpfungskette Welche Komponenten benötigen wir, um Bedürfnisse zu erfüllen? Kundenmanagementsystem

    Betriebsplattform Rechenzentrum Rechenkapazität Strom Kundenmanagementsystem Betriebsplattform Rechenzentrum Rechenkapazität Strom braucht braucht Wertschöpfungskette sichtbar unsichtbar 90° 37
  25. Eine kleine Übung… Wertschöpfung sichtbar unsichtbar Komponenten Legende Angelehnt nach

    Simon Wardley, CC BY-SA 4.0 Lizenz braucht Kubernetes 1 Wo würdest Du diese Komponente einordnen? Plattform zur Bereitstellung, Skalierung und Verwaltung von containerisierten Anwendungen. Bitte per Chat mitteilen 38
  26. Wertwahrnehmung hängt von der Orientierung ab! Wertschöpfung sichtbar unsichtbar Komponente

    Legende Angelehnt nach Simon Wardley, CC BY-SA 4.0 Lizenz braucht Kubernetes Kubernetes Kubernetes Endanwender Entwickler Kubernetes Developer Advocate 40
  27. Pro-Tipp: Abstand vs. Betroffenheit Wertschöpfung sichtbar unsichtbar Komponente Legende Angelehnt

    nach Simon Wardley, CC BY-SA 4.0 Lizenz braucht Kubernetes Produktmanager Spitzenlasten bewältigen Dynamic Scheduling Techiekram A Techiekram C Techiekram B Techiekram D Kubernetes Produktmanager Techiekram A Techiekram C Techiekram B Techiekram D Gleicher Abstand Höhere Betroffenheit Niedrige Betroffenheit 41
  28. Das Admin Panel + Alternativen Commodity Product Custom Built Genesis

    Wertschöpfungskette Evolution Server effizient neustarten Admin Panel Probleme vermeiden Entwickler frühe Problem- erkennung Alarm bei Fehlern Monitoring Self-healing Managed Kubernetes auf Nutzerbeschwer- den reagieren Nutzer glücklich machen
  29. Ein paar einzelne Beobachtungen Klimatisches Muster: Red-Queen-Hypothese* „Hierzulande musst du

    so schnell rennen, wie du kannst, wenn du am gleichen Fleck bleiben willst.“ Die rote Königin zu Alice (aus “Alice hinter den Spiegeln” von Lewis Carroll) Evolution Java JavaScript * No Choice over Evolution
  30. Grobe Spielzüge im Java-Umfeld Evolution Lizenzgebühren, Verklagen von Marktmitbegleitern, Anstrengungen

    zum Markenschutz Offene Prozesse (JCP), offene Standards, Communities (JUGs), Konferenzen, … Netzwerkeffekte, Open Source, Beteiligung Beschleuniger Java Preispolitik, Verwirrung, Ausnutzung von Einschränkungen Bremser
  31. Wardley Maps im Java-Ökosystems Commodity Product Custom Built Genesis Wertschöpfungskette

    Evolution Java mitgestalten Java Community Process (JCP) Java-Entwickler Auf großartiger Programmierplattform mit Spaß und Freude entwickeln Moderne Programmier- Features verwenden OpenJDK Community TCK License Agreement Zertifizierte Builds Technology Compatibility Kit Java Specification Request (JSR) Offener Prozess Lizenz- ierung Disclaimer stark vereinfachte Sicht eines Außenstehenden
  32. Simon Wardley, CC BY-SA 4.0 Lizenz Dungeon & Dragons Alignments

    :-) LG: Lawful Good N: Neutral LE: Lawful Evil CE: Chaotic Evil https://blog.gardeviance.org/2015/05/on-61-different-forms-of-gameplay.html 55
  33. Ignorieren! Abschalten! Am Leben erhalten! Verkaufen! Abgeben! Verschenken! Neukaufen! Konservieren!

    Umwidmen! Ausschlachten! Zurechtstutzen! Umhüllen! Ersetzen! Konvertieren! Verbessern! Rehost! Replatform! Business Produkt Technik
  34. Commodity Product Custom Built Genesis Konferenzgeschäft expandieren Entwickler Konferenz Vorträge

    Speaker Inhalte Ideen Erfahrung Praxis- Wertschöpfungskette Evolution neue Ideen bekommen 63
  35. 64 Commodity Product Custom Built Genesis Konferenzgeschäft expandieren Entwickler Konferenz

    Vorträge Speaker Inhalte Ideen Erfahrung Praxis- Wertschöpfungskette Evolution Open Space Hacking Areas Idioten hinschicken Einsetzen Allianzen Offene Ansätze behaupten, viele Ideen zu haben Signalverzerrung lawful good chaotic evil neue Ideen bekommen
  36. Amazon EKS Commodity Product Custom Built Genesis Arbeiten lassen mit

    Spielzügen Evolution Kubernetes Entwicklerwissen über Kubernetes 1. Schulungen anbieten Wertschöpfungskette sichtbar unsichtbar 2. Community vergrößern 3. Community für einen arbeiten lassen Gameplay: Fool‘s mate (Narrenmatt) 66
  37. Arbeiten lassen mit Spielzügen …bis es die anderen checken (Beispiel

    OpenRewrite) Achtung, das war gerade evtl. eine unfaire Unterstellung! AWS hat natürlich nicht vor, andere für sich arbeiten zu lassen!
  38. “Innovate, Leverage, Commoditize” und andere Commodity (+utility) Product (+rental) Custom

    Built Genesis Value chain visible invisible HPT Conversational AI ChatHPT Content Enricher Word2Vec ChatHPT Content Importer Usage data as future sensing engine Invest in startup / buy competitor Lobby for harder regulations Provide public API Publish as open source Wir Marktmitbegleiter Beispiel rein hypothetisch HPT: Human Pre-Trained Transformer Build tower and moat 69 Spielzugkombinationen
  39. Mein Buch über strategische Züge https://leanpub.com/strategische-spielzuege https://leanpub.com/strategic-moves (will be translated

    once the German version is finished) Kostenlos online zu lesen Pay what you want Strategische Spielzüge Softwaresysteme listig weiterentwickeln Noch im Entstehen Strategic Moves Evolving software systems the smart way
  40. Zusammenfassung Strategische Softwarearchitektur mit Wardley Maps • Auswirkungen von Architekturentscheidungen

    reichen weiter als je zuvor • Konzepte von Wardley Mapping können Architekt:innen dabei unterstützen, • neue Ideen im gegebenen Umfeld zu entwickeln • sinnvoller mit Altlasten umzugehen • verhindern, das wir ins Verderben geraten
  41. 73

  42. www.innoq.com Königstorgraben 11 90402 Nürnberg Erftstr. 15-17 50672 Köln Hermannstrasse

    13 20095 Hamburg Kreuzstr. 16 80331 München Ludwigstr. 180E 63067 Offenbach Ohlauer Str. 43 10999 Berlin Krischerstr. 100 40789 Monheim +49 2173 3366-0 innoQ Deutschland GmbH Kontakt Markus Harrer Software Evolutionist #softwarearchitecture #softwaremodernization #wardleymapping E-Mail: [email protected] „Das Wissen ist das einzige Gut, das sich vermehrt, wenn man es teilt.“ Marie von Ebner-Eschenbach Diese Folien sind lizenziert unter Creative Commons Plus: (CC BY-SA 4.0 mit den separat aufgeführten Ausnahmen) some rights reserved 75
  43. Wardley Mapping Quick Start https://www.youtube.com/watch?v=IJcLmoKR6v8 Ben Mosier: The Easiest Way

    to Do Wardley Mapping Investing in Innovation: How Situational Awareness Can Put Your Business on the Map https://www.youtube.com/watch?v=Gfq3ocmadZo 77
  44. Einstieg in das Thema • Einsteigerseite von Ben Mosior https://learnwardleymapping.com/

    • Vortrag von Simon Wardley https://www.youtube.com/watch?v=Ty6pOVEc3bA • Buch „Wardley Maps“ von Simon Wardley https://medium.com/wardleymaps • Wardley Maps Awesome List (Ressourcen-Sammlung) https://list.wardleymaps.com • Meine persönlichen TOP 5 zum Einstieg https://www.feststelltaste.de/top-5-learning-wardley-maps/ • Viele Infos auf deutsch: https://flowwork.rocks/alles-ueber/wardley-maps/ 78
  45. Weitere Arbeiten meinerseits • Some initial thoughts about ERP systems

    https://www.feststelltaste.de/some-initial-thoughts-about-erp-systems/ • Software quality in the context of value chains and evolution https://www.innoq.com/en/blog/quality-value-chain-evolution/ • Evolving software like an orchardist https://www.innoq.com/en/blog/evolving-software-like-an-orchardist/ • Wardley Maps – Audiobook (AI-generated) https://feststelltaste.github.io/wardley-maps-audiobook/ 79
  46. Mein Buch über strategische Züge https://leanpub.com/strategische-spielzuege https://leanpub.com/strategic-moves (will be translated

    once the German version is finished) Kostenlos online zu lesen Pay what you want Strategische Spielzüge Softwaresysteme listig weiterentwickeln Noch im Entstehen Strategic Moves Evolving software systems the smart way 80
  47. Zum Buch von Simon Wardley • Original-Blog-Posts https://medium.com/wardleymaps • Ebook

    https://github.com/andrewharmellaw/wardley-maps-book • Gesprochenes Hörbuch https://www.youtube.com/playlist?list=PLSY6GMwjDPv7R2e _PvvM4WytTRzjaDx5W • Generierte Hörbücher • EN: https://feststelltaste.github.io/wardley-maps-audiobook/ • DE: https://feststelltaste.github.io/wardley-maps-hoerbuch/ 81
  48. Konferenzen, Meetups & mehr • Einstiegsseiten zu Konferenzen • https://www.map-camp.com/_pages/events/

    • https://list.wardleymaps.com/#events • Meetups • https://list.wardleymaps.com/#meetups • Wardley Mapping Slack-Channel • https://map-camp-slack-invite.herokuapp.com/ • Aufzeichnungen auf deutsch auf YouTube (z. B. von Oliver Finker und Tom Asel, Markus Andrezak, Holger Gelhausen und andere) 83
  49. Halten die Erwartungen realistisch! Sieh es ein: Du mappst im

    totalen Chaos! Ein klarer Scope ist hier entscheidend! 85
  50. Gehe Schritt ür Schritt vor 1/3 1. Wer sind die

    Nutzer? 2. Was sind ihre Bedürfnisse? 3. Welche Komponenten erfüllen diese Bedürfnisse? →Wertschöpfungskette! Von Ben Mosiors „The Problem with Wardley Mapping“ inspiriert 86
  51. Gehe Schritt für Schritt vor 2/3 4. Wie ausgereift sind

    die Komponenten im Hinblick auf Evolution? → Wardley Map! Von Ben Mosiors „The Problem with Wardley Mapping“ inspiriert 87
  52. Gehe Schritt ür Schritt vor 3/3 Fortgeschritten: Muster, Muster, Muster

    5. Klimatisch / Trägheit 6. Maxime 7. Spielzüge →Spaß haben! Es fühlt sich irgendwie an wie Schachspielen, bei dem nur du das Brett sehen kannst! 88