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

Agile Software Architecture - The missing Manual

Agile Software Architecture - The missing Manual

My talk about how software architecture works in an agile team at The Architecture Gathering 2016

7379c719bba185bb01143b61b84c373d?s=128

Christian Fischer

October 12, 2016
Tweet

Transcript

  1. AGILE SOFTWARE ARCHITECTURE The missing Manual

  2. Christian Fischer ! Agile Software Craftsman@itemis AG " @agiledojo #

    iSQI certified Trainer for Agile TDD
  3. Die besten Architekturen, Anforderungen und Entwürfe
entstehen durch selbstorganisierte Teams. --

    Agiles Manifest, Prinzip No. 11 Wie entsteht Agile Software Architektur?
  4. Selbstorganisation • autonom • redundant • adaptiv Foto: Stephan Ridgway

    (https://flic.kr/p/qTFg1x)
  5. autonom redundant adaptiv Der Katalysator

  6. [Scrum] ... ist weder ein Prozess noch eine Technik zur

    Erstellung von Produkten, sondern ist vielmehr als Rahmenwerk zu verstehen, innerhalb dessen verschiedene Prozesse und Techniken zum Einsatz gebracht werden können. -- Scrum Guide Das Kleingedruckte
  7. Fallgrube #1: Nichtfunktionale Anforderungen • Funktionales Backlog • Fachlicher Product

    Owner • Minimum Viable Product Foto: Chris Young (https://flic.kr/p/Jwo7P)
  8. Fallgrube #2: Entscheidungen • „Anarchie“ • No BDUF != No

    Design Upfront • Teamgedächtnis Foto: totemisottapa (https://flic.kr/p/af4PYs)
  9. Fallgrube #3: Dokumentation • Source Code = Dokumentation • Wiki/Jira-Müllhalden

    • Dokumentationskonzept Foto: mcfarlandmo (https://flic.kr/p/5ZrohQ)
  10. Fallgrube #4: Technische Schulden • Refactoring • PO-Monopol • Technische

    Stories Foto: Eden, Janine and Jim (https://flic.kr/p/kT4Ksw)
  11. Die historisch gewachsene Architektur Foto: Garry Knight (https://flic.kr/p/eaWXKF)

  12. Entscheidungen Nichtfunktionale Anforderungen Dokumentation € Technische Schulden erkennen & begleichen

    erstellen & pflegen vorbereiten & treffen quantifizieren & prüfen Architecture Gardening
  13. Missing Manual Kapitel 1: Rituale Foto: Swallowtail Garden Seeds (https://flic.kr/p/eaWXKF)

  14. Refinement Meeting Qualitätsgeschichten erstellen Schulden bewerten Spikes einplanen €

  15. Planning Meeting Qualitätskriterien festlegen Schuldenabbau planen Entscheidungen treffen €

  16. Review Meeting Qualitätsmetriken präsentieren Schuldenstand ermitteln Entscheidungen kommunizieren €

  17. DoR und DoD Qualitätscheckliste Schuldenprävention € Dokumentationen aktualisieren

  18. Missing Manual Kapitel 2: Führung Foto: Swallowtail Garden Seeds (https://flic.kr/p/eaWXKF)

  19. Supportive Leadership

  20. Dos & Don‘ts • Weiterbildung • Pairing/Reviews • NFA Refinement

    • Botschafter • Feindliche Übernahme • Aufsichtsbehörde • Architectus Reloadus
  21. Missing Manual Kapitel 3: Werkzeuge Foto: Swallowtail Garden Seeds (https://flic.kr/p/eaWXKF)

  22. Dokumentation

  23. Die Schuldengeschichte Was muss getan werden, um welche Schuld abzubauen?

    $ Verzinsung Geschäftsauswirkung Kosten Dringlichkeit Risiken Komponenten % & ' ( )
  24. Decision Log UI • Java FX • Atom Integration •

    Web UI Konsoleneingabe • Hohe Eingabekomplexität • Public Release Entscheidung Alternativen Status Quo Entscheidungsindikator
  25. Dokumentationshandbuch Cook Book • Code Snippets • Testpraktiken • Szenarien

    Entwickler • Andreas • Tim Dokument Inhalte Nutzer Owner Form Asciidoc-Datei /docs/cookbook.ad
  26. Fazit • Selbstorientierte Teams sind das Fundament agiler Softwarearchitektur. •

    Für den Erfolg müssen NFAs, Entscheidungen, Dokumentation und Technische Schulden kontinuierlich durch das Team gepflegt werden. • Dieses geschieht durch Integration in den agilen Prozess mittels Ritualen, Architecture Guides und Werkzeugen.