Upload
lamduong
View
216
Download
0
Embed Size (px)
Citation preview
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)
@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. [email protected]
xing.to/sto
@st_toth
Download Folien: http://www.embarc.de/blog/
54 Architektur-Kata embarc.de
Was macht embarc?