Architektur Kata Live - embarc.de · Architektur-Kata embarc.de 3 Agenda 1 Einstieg 2 Aufgabe(n) 3...

44
Stefan Toth | embarc Architektur Kata Live

Transcript of Architektur Kata Live - embarc.de · Architektur-Kata embarc.de 3 Agenda 1 Einstieg 2 Aufgabe(n) 3...

Page 1: Architektur Kata Live - embarc.de · Architektur-Kata embarc.de 3 Agenda 1 Einstieg 2 Aufgabe(n) 3 Design Sessions 4 Vorstellung und Reviews 5 Weitere Iteration(en) 6 Ausblick

Stefan Toth | embarc

Architektur Kata Live 型

Page 2: Architektur Kata Live - embarc.de · Architektur-Kata embarc.de 3 Agenda 1 Einstieg 2 Aufgabe(n) 3 Design Sessions 4 Vorstellung und Reviews 5 Weitere Iteration(en) 6 Ausblick

2 Architektur-Kata embarc.de

Stefan Toth

n  Softwarearchitekt und Berater bei embarc in Hamburg n  Vorher oose und Siemens

Schwerpunkte: n  Architekturbewertung n  Architektur in agilen Umfeldern (Projektebene, agile Transition)

[email protected]

@st_toth

xing.to/sto

Page 3: Architektur Kata Live - embarc.de · Architektur-Kata embarc.de 3 Agenda 1 Einstieg 2 Aufgabe(n) 3 Design Sessions 4 Vorstellung und Reviews 5 Weitere Iteration(en) 6 Ausblick

3 Architektur-Kata embarc.de

Agenda

1 Einstieg

2 Aufgabe(n)

3 Design Sessions

4 Vorstellung und Reviews

5 Weitere Iteration(en)

6 Ausblick

Page 4: Architektur Kata Live - embarc.de · Architektur-Kata embarc.de 3 Agenda 1 Einstieg 2 Aufgabe(n) 3 Design Sessions 4 Vorstellung und Reviews 5 Weitere Iteration(en) 6 Ausblick

4 Architektur-Kata embarc.de

Kata

型http://www.budopedia.de/wiki/Kata_(Form)

Der Begriff kata (形 oder 型) bedeutet „Form“, „Modell“ oder „Gestalt“. Die kata bezeichnet zunächst eine festgelegte Übungsmethode zum Einstudieren des Sieges gegen Angreifer. Das technische Konzept setzt sich aus Bewegungen zusammen, die zur Abwehr gegnerischer Angriffe und zum Konter verwendet werden. Doch in den ostasiatischen Kampfkünsten ist die kata mehr als nur ein technisches Konzept und erfordert ein intensives Studium (bunkai) in Theorie und Praxis.

Page 5: Architektur Kata Live - embarc.de · Architektur-Kata embarc.de 3 Agenda 1 Einstieg 2 Aufgabe(n) 3 Design Sessions 4 Vorstellung und Reviews 5 Weitere Iteration(en) 6 Ausblick

5 Architektur-Kata embarc.de

Page 6: Architektur Kata Live - embarc.de · Architektur-Kata embarc.de 3 Agenda 1 Einstieg 2 Aufgabe(n) 3 Design Sessions 4 Vorstellung und Reviews 5 Weitere Iteration(en) 6 Ausblick

6 Architektur-Kata embarc.de

Architektur Kata

§  Abgeleitet von Code-Kata (Dave Thomas) §  Anwendung der Kata-Idee auf Architektur-Tätigkeiten

§  Größere Application Kata deren Implementierung im Rahmen der Kata unrealistisch ist

§  Auf Entwurfsaspekte, weniger auf Umsetzung fokussiert

War hats erfunden? Ted Neward…

Page 7: Architektur Kata Live - embarc.de · Architektur-Kata embarc.de 3 Agenda 1 Einstieg 2 Aufgabe(n) 3 Design Sessions 4 Vorstellung und Reviews 5 Weitere Iteration(en) 6 Ausblick

7 Architektur-Kata embarc.de

Warum? – Problemraum Architektur

§  Architekturarbeit prägt ein System und findet deshalb selten statt

§  Weitreichende Konsequenzen im echten Umfeld erlaubt wenig Raum für Fehler

§  Architektur wird immer mehr Entwicklerskill (oder soll es werden)

“… not all design is architecture. Architecture represents the significant design decisions that shape a system, where significant is measured by cost of change.”

(Grady Booch)

Page 8: Architektur Kata Live - embarc.de · Architektur-Kata embarc.de 3 Agenda 1 Einstieg 2 Aufgabe(n) 3 Design Sessions 4 Vorstellung und Reviews 5 Weitere Iteration(en) 6 Ausblick

8 Architektur-Kata embarc.de

Was ist Architekturarbeit?

Problemstellungen analysieren

Strukturen kreieren Technologien wählen

Ideen und Designs schärfen

Strukturieren/ Abstrahieren / Visualisieren

Dokumentieren

Experimentieren

Lösungen analysieren und bewerten

Architektur und Ziel-erreichung testen

Page 9: Architektur Kata Live - embarc.de · Architektur-Kata embarc.de 3 Agenda 1 Einstieg 2 Aufgabe(n) 3 Design Sessions 4 Vorstellung und Reviews 5 Weitere Iteration(en) 6 Ausblick

9 Architektur-Kata embarc.de

Architektur Kata

Gibt Entwicklern und Architekten die Möglichkeit Systeme zu entwerfen

§  Wiederholt §  Abwechslungsreich §  Ohne Druck

Trainiert auch:

§  Abstraktionsvermögen §  Erfragen und Festhalten von Anforderungen §  Umgang mit Unsicherheiten §  …

Page 10: Architektur Kata Live - embarc.de · Architektur-Kata embarc.de 3 Agenda 1 Einstieg 2 Aufgabe(n) 3 Design Sessions 4 Vorstellung und Reviews 5 Weitere Iteration(en) 6 Ausblick

10 Architektur-Kata embarc.de

Architektur Kata Beispiel

Allgmeine Aufgabenstellung, grobe Anforderungen…

https://archkatas.herokuapp.com/

Page 11: Architektur Kata Live - embarc.de · Architektur-Kata embarc.de 3 Agenda 1 Einstieg 2 Aufgabe(n) 3 Design Sessions 4 Vorstellung und Reviews 5 Weitere Iteration(en) 6 Ausblick

12 Architektur-Kata embarc.de

Architektur Kata – Ablauf (1/2)

Page 12: Architektur Kata Live - embarc.de · Architektur-Kata embarc.de 3 Agenda 1 Einstieg 2 Aufgabe(n) 3 Design Sessions 4 Vorstellung und Reviews 5 Weitere Iteration(en) 6 Ausblick

13 Architektur-Kata embarc.de

Architektur Kata – Ablauf (2/2)

Page 13: Architektur Kata Live - embarc.de · Architektur-Kata embarc.de 3 Agenda 1 Einstieg 2 Aufgabe(n) 3 Design Sessions 4 Vorstellung und Reviews 5 Weitere Iteration(en) 6 Ausblick

14 Architektur-Kata embarc.de

Agenda

1 Einstieg

2 Aufgabe(n)

3 Design Sessions

4 Vorstellung und Reviews

5 Weitere Iteration(en)

6 Ausblick

Page 14: Architektur Kata Live - embarc.de · Architektur-Kata embarc.de 3 Agenda 1 Einstieg 2 Aufgabe(n) 3 Design Sessions 4 Vorstellung und Reviews 5 Weitere Iteration(en) 6 Ausblick

15 Architektur-Kata embarc.de

Insurance 2.0

Real NFL Fantasy NFL-associated website wants to create the ultimate online fantasy football experience, complete with "real" video

Lights, Please A home electronics giant wants to build a system for home automation: turning lights on and off, locking and unlocking doors, remote camera observation, and so on.

Software-Development company, specialized on insurance solutions provides an integrated system that covers all insurance related activities of case workers. The Management just initialized a (cheap?) do-over.

Page 15: Architektur Kata Live - embarc.de · Architektur-Kata embarc.de 3 Agenda 1 Einstieg 2 Aufgabe(n) 3 Design Sessions 4 Vorstellung und Reviews 5 Weitere Iteration(en) 6 Ausblick

19 Architektur-Kata embarc.de

Gruppenbildung

Page 16: Architektur Kata Live - embarc.de · Architektur-Kata embarc.de 3 Agenda 1 Einstieg 2 Aufgabe(n) 3 Design Sessions 4 Vorstellung und Reviews 5 Weitere Iteration(en) 6 Ausblick

20 Architektur-Kata embarc.de

Agenda

1 Einstieg

2 Aufgabe(n)

3 Design Sessions

4 Vorstellung und Reviews

5 Weitere Iteration(en)

6 Ausblick

Page 17: Architektur Kata Live - embarc.de · Architektur-Kata embarc.de 3 Agenda 1 Einstieg 2 Aufgabe(n) 3 Design Sessions 4 Vorstellung und Reviews 5 Weitere Iteration(en) 6 Ausblick

21 Architektur-Kata embarc.de

Diskussion und Entwurf

Page 18: Architektur Kata Live - embarc.de · Architektur-Kata embarc.de 3 Agenda 1 Einstieg 2 Aufgabe(n) 3 Design Sessions 4 Vorstellung und Reviews 5 Weitere Iteration(en) 6 Ausblick

22 Architektur-Kata embarc.de

Kata-Regeln

§ §  Es gibt kein richtig oder falsch §  Bei Unsicherheiten fragen! §  Laptops und Handies: Für Domäne ok, nicht für Lösung §  Jede Technologie ist erlaubt, Entscheidungen müssen

aber nachvollziehbar sein und verteidigt werden können §  Annahmen zu Technologien und Details sind erlaubt,

allerdings realistisch, explizit und konsistent §  Know-How und Organisation richten sich nach Kata-

Angaben oder eigenen Umfeld(ern). Kein Hören-Sagen §  Kritik und Skepsis sind erwünscht (Review!), aber

immer sachlich und konstruktiv

Page 19: Architektur Kata Live - embarc.de · Architektur-Kata embarc.de 3 Agenda 1 Einstieg 2 Aufgabe(n) 3 Design Sessions 4 Vorstellung und Reviews 5 Weitere Iteration(en) 6 Ausblick

23 Architektur-Kata embarc.de

Runde 1

Mindestens: §  High-Level Architektur (Gesamtüberblick)

§  Benannter Architekturstil §  Grundlegende Technologien

Zusätzlich:

§  Wählbarer Fokus nach Erfahrung, Risiko, …

§  Weitere Diagramme, Listen, Tabellen etc. §  In beliebiger Detaillierung und Tiefe

50 Minuten

Page 20: Architektur Kata Live - embarc.de · Architektur-Kata embarc.de 3 Agenda 1 Einstieg 2 Aufgabe(n) 3 Design Sessions 4 Vorstellung und Reviews 5 Weitere Iteration(en) 6 Ausblick

24 Architektur-Kata embarc.de

Architektur-Stil

Big Ball of Mud

Layers

Verticals / Microservices

Pipes and Filters

Blackboard / Shared Repository

Event-Driven Architecture

Page 21: Architektur Kata Live - embarc.de · Architektur-Kata embarc.de 3 Agenda 1 Einstieg 2 Aufgabe(n) 3 Design Sessions 4 Vorstellung und Reviews 5 Weitere Iteration(en) 6 Ausblick

25 Architektur-Kata embarc.de

“Freeform” Architekturüberblick

Page 22: Architektur Kata Live - embarc.de · Architektur-Kata embarc.de 3 Agenda 1 Einstieg 2 Aufgabe(n) 3 Design Sessions 4 Vorstellung und Reviews 5 Weitere Iteration(en) 6 Ausblick

26 Architektur-Kata embarc.de

Runde 1

Mindestens: §  High-Level Architektur (Gesamtüberblick)

§  Benannter Architekturstil §  Grundlegende Technologien

Zusätzlich:

§  Wählbarer Fokus nach Erfahrung, Risiko, …

§  Weitere Diagramme, Listen, Tabellen etc. §  In beliebiger Detaillierung und Tiefe

50 Minuten

Page 23: Architektur Kata Live - embarc.de · Architektur-Kata embarc.de 3 Agenda 1 Einstieg 2 Aufgabe(n) 3 Design Sessions 4 Vorstellung und Reviews 5 Weitere Iteration(en) 6 Ausblick

27 Architektur-Kata embarc.de

Agenda

1 Einstieg

2 Aufgabe(n)

3 Design Sessions

4 Vorstellung und Reviews

5 Weitere Iteration(en)

6 Ausblick

Page 24: Architektur Kata Live - embarc.de · Architektur-Kata embarc.de 3 Agenda 1 Einstieg 2 Aufgabe(n) 3 Design Sessions 4 Vorstellung und Reviews 5 Weitere Iteration(en) 6 Ausblick

28 Architektur-Kata embarc.de

Präsentationen & Reviews 2x10 3x7 Minuten

§  Verständlich? Präsentation und Darstellung gut?

§  Bausteine für wichtigste Fachlichkeit klar?

§  Fokus richtig gesetzt? Wichtige Qualitätsaspekte behandelt?

§  Risiken oder Probleme offensichtich?

§  Thumb voting: Gut! / Wird! / Naaja!

Page 25: Architektur Kata Live - embarc.de · Architektur-Kata embarc.de 3 Agenda 1 Einstieg 2 Aufgabe(n) 3 Design Sessions 4 Vorstellung und Reviews 5 Weitere Iteration(en) 6 Ausblick

29 Architektur-Kata embarc.de

Agenda

1 Einstieg

2 Aufgabe(n)

3 Design Sessions

4 Vorstellung und Reviews

5 Weitere Iteration(en)

6 Ausblick

Page 26: Architektur Kata Live - embarc.de · Architektur-Kata embarc.de 3 Agenda 1 Einstieg 2 Aufgabe(n) 3 Design Sessions 4 Vorstellung und Reviews 5 Weitere Iteration(en) 6 Ausblick

30 Architektur-Kata embarc.de

Iterative Architekturarbeit

Page 27: Architektur Kata Live - embarc.de · Architektur-Kata embarc.de 3 Agenda 1 Einstieg 2 Aufgabe(n) 3 Design Sessions 4 Vorstellung und Reviews 5 Weitere Iteration(en) 6 Ausblick

31 Architektur-Kata embarc.de

Architekturspicker

è  http://embarc.de/spicker

Unsere Architektur-Spicker beleuchten die konzeptionelle Seite der Softwareentwicklung.

Spicker #1: „Der Architekturüberblick“ •  Welche Zutaten gehören in

einen Architekturüberblick? •  Welche Formen bewähren

sich in welchen Situationen? •  Wie fertigen Sie einen

Architekturüberblick an?.

PDF, 4 Seiten Kostenloser Download.

ç

Page 28: Architektur Kata Live - embarc.de · Architektur-Kata embarc.de 3 Agenda 1 Einstieg 2 Aufgabe(n) 3 Design Sessions 4 Vorstellung und Reviews 5 Weitere Iteration(en) 6 Ausblick

36 Architektur-Kata embarc.de

Page 29: Architektur Kata Live - embarc.de · Architektur-Kata embarc.de 3 Agenda 1 Einstieg 2 Aufgabe(n) 3 Design Sessions 4 Vorstellung und Reviews 5 Weitere Iteration(en) 6 Ausblick

37 Architektur-Kata embarc.de

Qualitätsziele

Typischerweise werden als Qualitätsziele im Rahmen eines Architekturüberblicks die Top-3 bis Top-5 genannt.

Die wichtigsten geforderten Qualitätsmerkmale für ein Softwaresystem heißen Qualitätsziele (oder Architekturziele).

Page 30: Architektur Kata Live - embarc.de · Architektur-Kata embarc.de 3 Agenda 1 Einstieg 2 Aufgabe(n) 3 Design Sessions 4 Vorstellung und Reviews 5 Weitere Iteration(en) 6 Ausblick

38 Architektur-Kata embarc.de

Beispiel

Quelle: Stefan Toth, Stefan Zörner “Gut das ist? Umgekehrte Architekturbewertung eines Internetgiganten”

Ziel Beschreibung

Verfügbarkeit Die Lösung steht auch bei Lastspitzen uneingeschränkt zur Verfügung.

Benutzbarkeit Auf allen wichtigen Geräten eine optimale User Experience.

Modifizierbarkeit Es ist leicht, neue Funktionalität zu bauen und hinzuzufügen.

Attraktivität Wir sind als Arbeitgeber für gute Entwickler attraktiv.

Betreibbarkeit Wir haben gute Einblicke, was in unserer Umgebung läuft.

Page 31: Architektur Kata Live - embarc.de · Architektur-Kata embarc.de 3 Agenda 1 Einstieg 2 Aufgabe(n) 3 Design Sessions 4 Vorstellung und Reviews 5 Weitere Iteration(en) 6 Ausblick

39 Architektur-Kata embarc.de

Lösungsstrategien

§ Enschteidungen: Redundante Auslegung, logische Gliederung, Frameworkauswahl etc.

§ Muster: Formende Architekturmuster, Boundaries, Adapter, Curcuit-Breaker, DAOs etc.

§ Architektur-Prinzipien: Präferenzen für spätere Entscheidungen (in der Entwicklung), Risiken mindern

§ Konzepte: Sicherheit, Caching, Timing etc.

§ Vorgehensaspekte: Verprobung in Prototypen, Priorisierung von Umsetzungsthemen, CI/CD Planung u.s.w.

Page 32: Architektur Kata Live - embarc.de · Architektur-Kata embarc.de 3 Agenda 1 Einstieg 2 Aufgabe(n) 3 Design Sessions 4 Vorstellung und Reviews 5 Weitere Iteration(en) 6 Ausblick

40 Architektur-Kata embarc.de

Runde 2

20 Minuten Architekturvision vervollständigen: §  Priorisierte Qualitätsziele

Fokus in die Tiefe:

§  Lösungsstrategien für wichtige Qualitätsziele

Zusätzlich evtl.: §  Verbesserungen aus dem Review in Runde 1

§  Systemidee und Systemkontext

§  Kernaufgaben, Nutzer, Schnittstellen

Page 33: Architektur Kata Live - embarc.de · Architektur-Kata embarc.de 3 Agenda 1 Einstieg 2 Aufgabe(n) 3 Design Sessions 4 Vorstellung und Reviews 5 Weitere Iteration(en) 6 Ausblick

42 Architektur-Kata embarc.de

Präsentationen & Reviews 2x10 3+7 Minuten

§  Verständlich? Präsentation und Darstellung gut? §  Einflüsse auf und Motivation für Lösungen klar? §  Lösungsstrategien passend (Fokus/Zielerreichung)? §  Weiteres Vorgehen grob skizziert? §  Thumb voting: Gut! / Wird! / Naaja!

Page 34: Architektur Kata Live - embarc.de · Architektur-Kata embarc.de 3 Agenda 1 Einstieg 2 Aufgabe(n) 3 Design Sessions 4 Vorstellung und Reviews 5 Weitere Iteration(en) 6 Ausblick

43 Architektur-Kata embarc.de

Architektur Kata – Finales Feedback

§  Daumen hoch: +1 §  Daumen zur Seite: +0

§  Daumen nach unten: –2

Page 35: Architektur Kata Live - embarc.de · Architektur-Kata embarc.de 3 Agenda 1 Einstieg 2 Aufgabe(n) 3 Design Sessions 4 Vorstellung und Reviews 5 Weitere Iteration(en) 6 Ausblick

44 Architektur-Kata embarc.de

Agenda

1 Einstieg

2 Aufgabe(n)

3 Design Sessions

4 Vorstellung und Reviews

5 Weitere Iteration(en)

6 Ausblick

Page 36: Architektur Kata Live - embarc.de · Architektur-Kata embarc.de 3 Agenda 1 Einstieg 2 Aufgabe(n) 3 Design Sessions 4 Vorstellung und Reviews 5 Weitere Iteration(en) 6 Ausblick

45 Architektur-Kata embarc.de

Lessons learned

§  Was waren die Highlights? §  Darstellung und Dokumentation §  Präsentation und Kommunikation §  Vorgehensaspekt (Erhebung, Entwurf, Entscheidung,

Bewertung,) §  Elegante Lösung, wiederverwendbare Idee

§  Was kann man durch Vergleich der Lösungen lernen? §  Haben Abweichungen Qualitätseinfluss? §  Haben sie Kosten- oder Risikoauswirkungen? §  Welche Umsetzung wäre einfacher?

§  Welche technischen Lerngebiete und Unsicherheiten gibt es?

§  Wie kann man die nächste Kata interessant gestalten?

Page 37: Architektur Kata Live - embarc.de · Architektur-Kata embarc.de 3 Agenda 1 Einstieg 2 Aufgabe(n) 3 Design Sessions 4 Vorstellung und Reviews 5 Weitere Iteration(en) 6 Ausblick

46 Architektur-Kata embarc.de

Variation und Wiederholung

§  Fokussierung: §  Spezielle Methoden und Techniken üben §  Rahmenbedingungen verschärfen,

Technologien und Altsysteme vorgeben §  Einfachste funktionierende Lösung fordern -

Anschließend Kompromisse und Risiken sammeln

§  Qualitätsanforderungen oder Mengengerüste verändern und Architekturveränderungen diskutieren

§  Teilnehmerkreis für Review und Feedback variieren

Page 38: Architektur Kata Live - embarc.de · Architektur-Kata embarc.de 3 Agenda 1 Einstieg 2 Aufgabe(n) 3 Design Sessions 4 Vorstellung und Reviews 5 Weitere Iteration(en) 6 Ausblick

47 Architektur-Kata embarc.de

Gruppenentscheide: Fist of Five

Quantifizierung von Ablehnung und Zustimmung

Page 39: Architektur Kata Live - embarc.de · Architektur-Kata embarc.de 3 Agenda 1 Einstieg 2 Aufgabe(n) 3 Design Sessions 4 Vorstellung und Reviews 5 Weitere Iteration(en) 6 Ausblick

48 Architektur-Kata embarc.de

Entscheidungen festhalten

Page 40: Architektur Kata Live - embarc.de · Architektur-Kata embarc.de 3 Agenda 1 Einstieg 2 Aufgabe(n) 3 Design Sessions 4 Vorstellung und Reviews 5 Weitere Iteration(en) 6 Ausblick

49 Architektur-Kata embarc.de

Dokumentationsideen: arc42

Page 41: Architektur Kata Live - embarc.de · Architektur-Kata embarc.de 3 Agenda 1 Einstieg 2 Aufgabe(n) 3 Design Sessions 4 Vorstellung und Reviews 5 Weitere Iteration(en) 6 Ausblick

50 Architektur-Kata embarc.de

Entwürfe leben lassen

Page 42: Architektur Kata Live - embarc.de · Architektur-Kata embarc.de 3 Agenda 1 Einstieg 2 Aufgabe(n) 3 Design Sessions 4 Vorstellung und Reviews 5 Weitere Iteration(en) 6 Ausblick

52 Architektur-Kata embarc.de

Was können Architekturkata nicht?

X §  Echte Implementierungserfahrung ersetzen

§  Eher Abgleich, Verbreiterung von Wissen §  Konzeptioneller, kommunikativer Fokus

§  Die Verzahnung von Architektur und Entwicklung simulieren

§  Zeitraubende Probleme oder Fehler in der Umsetzung verhindern

§  Tests von Qualitätseigenschaften im echten System ersetzen

Page 43: Architektur Kata Live - embarc.de · Architektur-Kata embarc.de 3 Agenda 1 Einstieg 2 Aufgabe(n) 3 Design Sessions 4 Vorstellung und Reviews 5 Weitere Iteration(en) 6 Ausblick

53 Architektur-Kata embarc.de

Vielen Dank. [email protected]

xing.to/sto

@st_toth

Download Folien: http://www.embarc.de/blog/

Page 44: Architektur Kata Live - embarc.de · Architektur-Kata embarc.de 3 Agenda 1 Einstieg 2 Aufgabe(n) 3 Design Sessions 4 Vorstellung und Reviews 5 Weitere Iteration(en) 6 Ausblick

54 Architektur-Kata embarc.de

Was macht embarc?