Slide 1

Slide 1 text

AGILE SOFTWARE ARCHITECTURE The missing Manual

Slide 2

Slide 2 text

Christian Fischer ! Agile Software Craftsman@itemis AG " @agiledojo # iSQI certified Trainer for Agile TDD

Slide 3

Slide 3 text

Die besten Architekturen, Anforderungen und Entwürfe
entstehen durch selbstorganisierte Teams. -- Agiles Manifest, Prinzip No. 11 Wie entsteht Agile Software Architektur?

Slide 4

Slide 4 text

Selbstorganisation • autonom • redundant • adaptiv Foto: Stephan Ridgway (https://flic.kr/p/qTFg1x)

Slide 5

Slide 5 text

autonom redundant adaptiv Der Katalysator

Slide 6

Slide 6 text

[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

Slide 7

Slide 7 text

Fallgrube #1: Nichtfunktionale Anforderungen • Funktionales Backlog • Fachlicher Product Owner • Minimum Viable Product Foto: Chris Young (https://flic.kr/p/Jwo7P)

Slide 8

Slide 8 text

Fallgrube #2: Entscheidungen • „Anarchie“ • No BDUF != No Design Upfront • Teamgedächtnis Foto: totemisottapa (https://flic.kr/p/af4PYs)

Slide 9

Slide 9 text

Fallgrube #3: Dokumentation • Source Code = Dokumentation • Wiki/Jira-Müllhalden • Dokumentationskonzept Foto: mcfarlandmo (https://flic.kr/p/5ZrohQ)

Slide 10

Slide 10 text

Fallgrube #4: Technische Schulden • Refactoring • PO-Monopol • Technische Stories Foto: Eden, Janine and Jim (https://flic.kr/p/kT4Ksw)

Slide 11

Slide 11 text

Die historisch gewachsene Architektur Foto: Garry Knight (https://flic.kr/p/eaWXKF)

Slide 12

Slide 12 text

Entscheidungen Nichtfunktionale Anforderungen Dokumentation € Technische Schulden erkennen & begleichen erstellen & pflegen vorbereiten & treffen quantifizieren & prüfen Architecture Gardening

Slide 13

Slide 13 text

Missing Manual Kapitel 1: Rituale Foto: Swallowtail Garden Seeds (https://flic.kr/p/eaWXKF)

Slide 14

Slide 14 text

Refinement Meeting Qualitätsgeschichten erstellen Schulden bewerten Spikes einplanen €

Slide 15

Slide 15 text

Planning Meeting Qualitätskriterien festlegen Schuldenabbau planen Entscheidungen treffen €

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

Supportive Leadership

Slide 20

Slide 20 text

Dos & Don‘ts • Weiterbildung • Pairing/Reviews • NFA Refinement • Botschafter • Feindliche Übernahme • Aufsichtsbehörde • Architectus Reloadus

Slide 21

Slide 21 text

Missing Manual Kapitel 3: Werkzeuge Foto: Swallowtail Garden Seeds (https://flic.kr/p/eaWXKF)

Slide 22

Slide 22 text

Dokumentation

Slide 23

Slide 23 text

Die Schuldengeschichte Was muss getan werden, um welche Schuld abzubauen? $ Verzinsung Geschäftsauswirkung Kosten Dringlichkeit Risiken Komponenten % & ' ( )

Slide 24

Slide 24 text

Decision Log UI • Java FX • Atom Integration • Web UI Konsoleneingabe • Hohe Eingabekomplexität • Public Release Entscheidung Alternativen Status Quo Entscheidungsindikator

Slide 25

Slide 25 text

Dokumentationshandbuch Cook Book • Code Snippets • Testpraktiken • Szenarien Entwickler • Andreas • Tim Dokument Inhalte Nutzer Owner Form Asciidoc-Datei /docs/cookbook.ad

Slide 26

Slide 26 text

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.