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

Christian Fischer

October 12, 2016
Tweet

More Decks by Christian Fischer

Other Decks in Programming

Transcript

  1. Die besten Architekturen, Anforderungen und Entwürfe
entstehen durch selbstorganisierte Teams. --

    Agiles Manifest, Prinzip No. 11 Wie entsteht Agile Software Architektur?
  2. [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
  3. Fallgrube #1: Nichtfunktionale Anforderungen • Funktionales Backlog • Fachlicher Product

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

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

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

    Stories Foto: Eden, Janine and Jim (https://flic.kr/p/kT4Ksw)
  7. Entscheidungen Nichtfunktionale Anforderungen Dokumentation € Technische Schulden erkennen & begleichen

    erstellen & pflegen vorbereiten & treffen quantifizieren & prüfen Architecture Gardening
  8. Dos & Don‘ts • Weiterbildung • Pairing/Reviews • NFA Refinement

    • Botschafter • Feindliche Übernahme • Aufsichtsbehörde • Architectus Reloadus
  9. Die Schuldengeschichte Was muss getan werden, um welche Schuld abzubauen?

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

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

    Entwickler • Andreas • Tim Dokument Inhalte Nutzer Owner Form Asciidoc-Datei /docs/cookbook.ad
  12. 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.