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

Post on 14-Aug-2019

216 views 0 download

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

Stefan Toth | embarc

Architektur Kata Live 型

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)

Stefan.Toth@embarc.de

@st_toth

xing.to/sto

3 Architektur-Kata embarc.de

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.

5 Architektur-Kata embarc.de

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…

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)

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

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 §  …

10 Architektur-Kata embarc.de

Architektur Kata Beispiel

Allgmeine Aufgabenstellung, grobe Anforderungen…

https://archkatas.herokuapp.com/

12 Architektur-Kata embarc.de

Architektur Kata – Ablauf (1/2)

13 Architektur-Kata embarc.de

Architektur Kata – Ablauf (2/2)

14 Architektur-Kata embarc.de

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.

19 Architektur-Kata embarc.de

Gruppenbildung

20 Architektur-Kata embarc.de

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

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

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

24 Architektur-Kata embarc.de

Architektur-Stil

Big Ball of Mud

Layers

Verticals / Microservices

Pipes and Filters

Blackboard / Shared Repository

Event-Driven Architecture

25 Architektur-Kata embarc.de

“Freeform” Architekturüberblick

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

27 Architektur-Kata embarc.de

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!

29 Architektur-Kata embarc.de

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

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.

ç

36 Architektur-Kata embarc.de

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).

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.

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.

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

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!

43 Architektur-Kata embarc.de

Architektur Kata – Finales Feedback

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

§  Daumen nach unten: –2

44 Architektur-Kata embarc.de

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?

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

47 Architektur-Kata embarc.de

Gruppenentscheide: Fist of Five

Quantifizierung von Ablehnung und Zustimmung

48 Architektur-Kata embarc.de

Entscheidungen festhalten

49 Architektur-Kata embarc.de

Dokumentationsideen: arc42

50 Architektur-Kata embarc.de

Entwürfe leben lassen

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

53 Architektur-Kata embarc.de

Vielen Dank. stefan.toth@embarc.de

xing.to/sto

@st_toth

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

54 Architektur-Kata embarc.de

Was macht embarc?