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

Rock Solid Software Architecture with ADRs, arc42 and Microsites

Rock Solid Software Architecture with ADRs, arc42 and Microsites

mit Johannes Dienst

Das arc42-Architektur-Template verleitet dazu, alle Kapitel von oben nach unten durchzuarbeiten. Ein Architektur-Review offenbart aber eine sinnvollere Herangehensweise, um Softwarearchitektur zu erarbeiten. Dabei werden zuerst In-Scope sowie Out-Of-Scope des Vorhabens definiert und anschließend Qualitätsattribute aufgenommen, um schließlich konkrete Qualitätsszenarien abzuleiten.

Die Dokumentation dieser Ergebnisse im arc42 stellt uns vor viele Aufgaben und Fragestellungen: Wie erarbeite Architekturentscheidungen, Qualitätsattribute und Qualitätsszenarien? Und wie dokumentiere ich diese effizient?

In diesem Vortrag zeigen wir anhand des Docs-as-Code-Ansatzes, wie wir mit dem arc42-Template effizient arbeiten und die Dokumentation als Microsite jedem zur Verfügung gestellt wird. Durch diese Vorgehensweise ist es effizient möglich, eine Architekturdokumentation zu erstellen, die jeder Review standhält.
Keywords:arc42, Architecture Decision Records, Microsite, Docs-As-Code

Cc5f3bf8b3cb91c985ed4fd046aa451d?s=128

Ralf D. Müller

March 15, 2022
Tweet

More Decks by Ralf D. Müller

Other Decks in Programming

Transcript

  1. Rock Solid Software Architecture Mit ADRs, arc42 und Microsites DB

    Systel GmbH | Johannes Dienst @JohannesDienst | Ralf D. Müller @RalfDMueller
  2. Digitalpartner der Deutschen Bahn DB Systel GmbH | Johannes Dienst

    @JohannesDienst | Ralf D. Müller @RalfDMueller 2
  3. Eine Architektur soll entworfen werden DB Systel GmbH | Johannes

    Dienst @JohannesDienst | Ralf D. Müller @RalfDMueller 3 Icons made by Freepik, Good Ware, Sprang and Smashicons from www.flaticon.com
  4. Eine Architektur soll entworfen werden DB Systel GmbH | Johannes

    Dienst @JohannesDienst | Ralf D. Müller @RalfDMueller 4 Icons made by Freepik, Good Ware, Sprang and Smashicons from www.flaticon.com
  5. Starten wir mit einem Vertrag! DB Systel GmbH | Johannes

    Dienst @JohannesDienst | Ralf D. Müller @RalfDMueller 5 Icons made by Freepik, Good Ware, Sprang and Smashicons from www.flaticon.com
  6. Starten wir mit einem Vertrag! DB Systel GmbH | Johannes

    Dienst @JohannesDienst | Ralf D. Müller @RalfDMueller 6 Auftrag Aktuelle Situation? Problemstellung? Randbedingungen? In Scope / out of Scope? Ansprechpartner & Stakeholer? 1) Einführung und Ziele Aufgabenstellung Qualitätsziele (Top 3) Stakeholder 2) Randbedingungen 3) Kontextabgrenzung Fachlicher Kontext Technischer Kontext
  7. Eine Architektur soll entworfen werden DB Systel GmbH | Johannes

    Dienst @JohannesDienst | Ralf D. Müller @RalfDMueller 7 1. Einführung & Ziele 3. Kontextabgrenzung 2. Randbedingungen
  8. Wie gehts weiter DB Systel GmbH | Johannes Dienst @JohannesDienst

    | Ralf D. Müller @RalfDMueller 8 1. Einführung & Ziele 2. Randbedingungen 3. Kontextabgrenzung 10. Qualitätsanforderungen
  9. Qualitätsattribute DB Systel GmbH | Johannes Dienst @JohannesDienst | Ralf

    D. Müller @RalfDMueller 9 Software Qualitäts- kriterien ISO 25010 Wartbarkeit Kompatibilität Portierbarkeit Performance Funktionalität Zuverlässigkeit Sicherheit Usability
  10. Qualitätsattribute wie ermitteln DB Systel GmbH | Johannes Dienst @JohannesDienst

    | Ralf D. Müller @RalfDMueller 10 Sicherheit Nicht manipulierbar Integrität Datenschutz Sichere Administration Authentizierbarkeit
  11. Ergebnis: Gewichteter Qualitätsbaum DB Systel GmbH | Johannes Dienst @JohannesDienst

    | Ralf D. Müller @RalfDMueller 11 Nicht manipulierbar Integrität Datenschutz Erlernbarkeit Schutz vor Bedienungsfehlern Usability Sicherheit 1 3 4 2 5
  12. Qualitätsszenarien Allgemein DB Systel GmbH | Johannes Dienst @JohannesDienst |

    Ralf D. Müller @RalfDMueller 12 Stimulus Antwort Artefakt Icons made by Freepik, Good Ware, Sprang and Smashicons from www.flaticon.com
  13. Qualitätsszenarien: Beispiel DB Systel GmbH | Johannes Dienst @JohannesDienst |

    Ralf D. Müller @RalfDMueller 13 Barkeit (Illity) Fähigkeit Stimulus Systemzustand Messkriterium Performanz Erhaltung der Funktionsfähigkeit auch bei 20 parallelen Benutzern Bis zu 20 Benutzer lesen gleichzeitig über die API Daten aus Normalzustand API antwortet innerhalb von 100 ms in 90% der Anfragen
  14. Wie gehts weiter DB Systel GmbH | Johannes Dienst @JohannesDienst

    | Ralf D. Müller @RalfDMueller 14 1. Einführung & Ziele 2. Randbedingungen 3. Kontextabgrenzung 10. Qualitätsanforderungen 9. Architektur- entscheidungen
  15. Erarbeitung von Architekturentscheidungen DB Systel GmbH | Johannes Dienst @JohannesDienst

    | Ralf D. Müller @RalfDMueller 15 ADR-032: Kostenreduzierung bei ölhaltigen Zusätzen Wir setzen in der Rezeptur des Schokoriegels Palmfett ein. Status Offen Problemstellung & Kontext Die Weltmarktpreise von Kakaoprodukten und Butterfett sind stark gestiegen. Zudem gibt es einen ruinösen Verdrängungswettbewerb zwischen den Herstellen von Schokoriegeln. Beides führt zu einer Minderung unserer Marge. Wir können nicht mehr wirtschaftlich produzieren.
  16. Erarbeitung von Architekturentscheidungen (2) DB Systel GmbH | Johannes Dienst

    @JohannesDienst | Ralf D. Müller @RalfDMueller 16 Konsequenzen • Die Produktion unserer Schokoriegel ist wirtschaftlich möglich • In der Öffentlichkeit ist Palmfett in Verruf geraten. Es ist mit einem Shitstorm zu rechnen • Die Produktionsanlagen müssen umgestellt werden auf die veränderte Konsistenz der Schokomasse Alternativen Verkaufspreisanpassung nach oben Positiv: Wir können wirtschaftlich produzieren Negativ: Die Konkurrenz kann uns unterbieten Kakaobutter und Butterfett durch Palmfett ersetzen Positiv: Produktionskosten sinken. Die Produktion ist wirtschaflich Negativ: Umbau der Produktionsanlagen notwendig. Palmfett ist umweltschädlich. Es ist damit zu rechnen, dass einige Kunden unsere Schokoriegel nicht mehr kaufen werden
  17. Erarbeitung von Architekturentscheidungen (3) DB Systel GmbH | Johannes Dienst

    @JohannesDienst | Ralf D. Müller @RalfDMueller 17 Qualitätsanforderungen Wirtschaftlichkeit Effizienz Zukunftsfähigkeit Qualitätsszenarien S-07 S-42
  18. Erarbeiten des ADRs im Docs-as-Code Ansatz DB Systel GmbH |

    Johannes Dienst @JohannesDienst | Ralf D. Müller @RalfDMueller 18 main adr-042 Icons made by Freepik, Good Ware, Sprang and Smashicons from www.flaticon.com
  19. Jetzt erst die Lösung dokumentieren DB Systel GmbH | Johannes

    Dienst @JohannesDienst | Ralf D. Müller @RalfDMueller 19 1. Einführung & Ziele 2. Randbedingungen 3. Kontextabgrenzung 6. Laufzeitsicht 10. Qualitätsanforderungen 11. Risiken & Technische Schulden 12. Glossar 7. Verteilungssicht 4. Lösungsstrategie 5. Bausteinsicht 9. Architektur- entscheidungen 8. Querschnittliche Konzepte
  20. Ablage im Repo Versionier- /Diffbar Synchrone Auslieferung Offlinefähig Teil des

    Build- Prozesses Generierung/ Automatisierung Flexible Ausgabe Nähe zum Sourcecode 1 Documentation as Code DB Systel GmbH | Johannes Dienst @JohannesDienst | Ralf D. Müller @RalfDMueller Icons made by Freepik, Good Ware, Sprang and Smashicons from www.flaticon.com
  21. Microsite DB Systel GmbH | Johannes Dienst @JohannesDienst | Ralf

    D. Müller @RalfDMueller 22 Icons made by Freepik, Good Ware, Sprang and Smashicons from www.flaticon.com
  22. Warum Microsite? DB Systel GmbH | Johannes Dienst @JohannesDienst |

    Ralf D. Müller @RalfDMueller 23 Zugänglich Schnell und zuverlässig Leicht bedienbar Auffindbar Icons made by Freepik, Good Ware, Sprang and Smashicons from www.flaticon.com
  23. Wieviel Aufwand steckt da eigentlich dahinter? 24 DB Systel GmbH

    | Johannes Dienst @JohannesDienst | Ralf D. Müller @RalfDMueller
  24. Continuous Documentation DB Systel GmbH | Johannes Dienst @JohannesDienst |

    Ralf D. Müller @RalfDMueller 25 Automatisiert erstellen Regelmäßig ausliefern Feedback integrieren Stetig ergänzen Reviewen Icons made by Freepik, Good Ware, Sprang and Smashicons from www.flaticon.com
  25. Architekturreview kann kommen DB Systel GmbH | Johannes Dienst @JohannesDienst

    | Ralf D. Müller @RalfDMueller 26 Icons made by Freepik, Good Ware, Sprang and Smashicons from www.flaticon.com
  26. Architekturreview kann kommen: Modulare Dokumentation DB Systel GmbH | Johannes

    Dienst @JohannesDienst | Ralf D. Müller @RalfDMueller 27 arc42- master.adoc kapitel2.adoc kapitel1.adoc kapitel3.adoc … Icons made by Freepik, Good Ware, Sprang and Smashicons from www.flaticon.com
  27. DB Systel GmbH | Johannes Dienst @JohannesDienst | Jan Kohlhaas

    28 Welche zwei Fragen sind noch offen? Johannes.Dienst@deutschebahn.com @JohannesDienst Ralf.D.Mueller@deutschebahn.com @RalfDMueller