ARCHITEKTUR KATA
als Trainingsform für agile Teams
Roland Mast
Sybit GmbH
Software –Architekt
Scrum Master
roland.mast@sybit.de
Wir
Ich Du
Ihr
Architektur Kata
Architektur
Vision
Software-Architektur-Aufgaben
Anforderungen und
Randbedingungen
klären
Strukturen
entwerfen Technische Konzepte
entwerfen
...
Was ist eine Kata?
Relaunch von Columbus Reisen
Zweck des Systems
Columbus-Reisen ist ein etabliertes Portal für die Bewertung und Buchung
vo...
Relaunch von Columbus Reisen
Anforderungen
 Registrierte Benutzer können nach Pauschal- und Individualreisen in
Europa su...
Relaunch von Columbus Reisen
Stakeholder
 10 Millionen Benutzer von Columbus-Reisen
 Reisecenter das Teile des Webauftri...
Relaunch von Columbus Reisen
Rahmenbedingungen
 Das Altsystem ist eine PHP-Anwendung
 Das Regelwerk zur Überprüfung der ...
Architektur Kata – 1. Durchgang
 40 Minuten für Architekturentwurf
 Beantworte die wichtigsten
Architektur- und Design-F...
System im Kontextcmp Content Creation
Ausspielung
Externe Quellen
Integration in BR-Systeme
Nur für Migration
Automatisier...
Subsysteme
cmp Components
Content Management System
Sophora
Sophora
Redaktionsclient
Sophora Importer
BR-Online
SolR Custo...
cmp Servi...
Services
(from Layers)
«service»
archive
«service»
delivery
«service»
event
«service»
importer
«service»
inva...
Sichten / black box – white box
Komponenten
Subsysteme
System im
Kontext
SYS
SUSY-1
KOMP-1 KOMP-2
SUSY-2
KOMP-3
Pause
Architektur-Entwicklung
 Kontext
 Sichten
 Umsetzung
Architektur-Kontext
 Qualitätsziele
 Randbedingungen
 Kontext
 Lösungsstrategie
 Risiken
Qualitätsmerkmale (ISO 9126)
Funktionalität Benutzbarkeit Wartbarkeit
Angemessenheit
Richtigkeit
Interoperabilität
Sicherh...
Architektur-Sichten
 Bausteinsicht
 Laufzeitsicht
 Verteilungssicht
Architektur-Umsetzung
 Technische Konzepte
 Entwurfsentscheidungen
 Qualitätsszenarien
für Architekturbewertung
Architektur Dokumentation
Diagramm Checkliste
Struktur
• Geschachtelte Abstraktionsebenen
• Darstellung des System-Kontexts
• Wesentliche Komponente...
Architektur-Kata - 2. Durchgang
25 Minuten für
 Systemkontext
 Abgrenzung zu Umsystemen
 Verantwortlichkeiten
 Geschac...
System-Kontextcmp Context
Columbus
RatingApproval
«user»
WebUser
«user»
TravelEditor
«user»
DevOp Legende
blau Benutzer
or...
Subsystemecmp Subsystems
Columbus
UserManagement
responsibilities
Authentification
Registration
TravelService
responsibili...
Subsystem TravelServicecmp TravelService
Travel
TravelPackage TravelIndividual
TravelDB
TravelBatch
TravelAgencies
Batchve...
Architektur-Vision in Phase Null
Architektur-
Vision
Kürze
Verständ-
lichkeit
Akzep-
tanz
• Systemkontext
• Priorisierte Q...
Architektur Kata
Trainiert
 die Umsetzung von Anforderungen in eine passende
Softwarearchitektur
 die richtigen Fragen a...
Quellen
 Ted Newards Technical Blog: Architectural Katas
blogs.tedneward.com/2010/06/17/Architectural+Katas.aspx
 Gernot...
Roland Mast
Sybit GmbH
Software-Architekt
Scrum Master
roland.mast@sybit.de
Nächste SlideShare
Wird geladen in …5
×

OOP 2015: Architektur Kata - als Trainingsform für agile Teams

332 Aufrufe

Veröffentlicht am

Bei den japanischen Kampfsportarten ist sie eine Jahrhunderte alte Tradition, bei Softwareentwicklern wird sie bereits seit etlichen Jahren praktiziert und für Softwarearchitektur hat sie Ted Neward auf der Überconf 2010 in Denver bekannt gemacht. Die Kata – eine Übungsform bei der dieselbe Aufgabe immer und immer wieder durchgeführt wird, mit dem Ziel sich bei jeder Wiederholung zu verbessern.
In diesem Workshop werden wir gemeinsam eine Architektur-Kata durchführen. In kleinen Gruppen werden Sie zu einer gegebenen Problemstellung eine Softwarearchitektur erstellen und in Form von Diagrammen skizzieren. Dabei erfahren Sie, wie schwierig es sein kann, eine zu den Anforderungen passende Architektur zu erarbeiten. Sie werden erkennen, wie wichtig es ist, die richtigen Fragen an die Stakeholder zu stellen. Das Ergebnis ihrer Arbeit werden Sie den anderen Teilnehmern präsentieren und zur Diskussion stellen. Aus dem Feedback lernen Sie ihre Diagramme besser zu strukturieren und effektiver zu gestalten. Die passend eingestreute Vermittlung von Wissen zur Entwicklung von Softwarearchitekturen soll ihr Verständnis fördern und ihre Fähigkeiten erweitern. In einem zweiten Durchlauf der Kata, werden Sie die neuen Erkenntnisse direkt wieder in die Tat umsetzen können.
Architektur-Katas lassen sich hervorragend zu Trainings- und Ausbildungszwecken einsetzen. Das Vorgehen lässt sich aber auch in echten Projekten, z.B. zur gemeinsamen Erarbeitung einer Architekturvision in agilen Teams nutzen. Ein kleiner Ausblick soll Ihnen helfen das Erlernte auch in Ihren Projekten anwenden zu können.

Veröffentlicht in: Software
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
332
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
8
Aktionen
Geteilt
0
Downloads
2
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

OOP 2015: Architektur Kata - als Trainingsform für agile Teams

  1. 1. ARCHITEKTUR KATA als Trainingsform für agile Teams
  2. 2. Roland Mast Sybit GmbH Software –Architekt Scrum Master roland.mast@sybit.de
  3. 3. Wir Ich Du Ihr
  4. 4. Architektur Kata Architektur Vision
  5. 5. Software-Architektur-Aufgaben Anforderungen und Randbedingungen klären Strukturen entwerfen Technische Konzepte entwerfen Architektur kommunizieren Umsetzung betreuen Architektur bewerten
  6. 6. Was ist eine Kata?
  7. 7. Relaunch von Columbus Reisen Zweck des Systems Columbus-Reisen ist ein etabliertes Portal für die Bewertung und Buchung von Reisen. Die aktuelle web-basierte Applikation stammt noch aus der Gründerzeit und ist den heutigen Anforderungen nicht mehr gewachsen. Der Kundenstamm ist auf über 10 Millionen registrierte Benutzer angewachsen. Die Reiseangebote stammen momentan von mehreren verschiedenen Anbietern. Die Benutzer haben insgesamt 2,5 Millionen Bewertungen zu ca. 20.000 Hotels abgegeben. Der Relaunch soll anfänglich die bestehende Funktionalität in neuem Layout darstellen und gleichzeitig flexibel gestaltet werden, für weitere Expansion in europäische Länder und neue Märkte.
  8. 8. Relaunch von Columbus Reisen Anforderungen  Registrierte Benutzer können nach Pauschal- und Individualreisen in Europa suchen und diese beim preiswertesten Anbieter buchen.  Benutzer können Bewertungen von Hotels abgeben in Form von Text, Bildern und Videos.  Die Manipulation von Bewertungen anderer Benutzer muss verhindert werden  Die Bewertungen werden nach einem komplizierten Regelwerk überprüft, um Missbrauch weitestgehend einzuschränken  Columbus-Mitarbeiter bereiten die Einstiegsseiten für die Reiseangebote redaktionell auf  Batch-Läufe während der Nacht zur Aktualisierung der Reiseangebote sollen nach und nach durch online-Anfragen ersetzt werden  Die Ladezeit einer Webseite soll maximal 10 Sekunden betragen
  9. 9. Relaunch von Columbus Reisen Stakeholder  10 Millionen Benutzer von Columbus-Reisen  Reisecenter das Teile des Webauftritts manuell pflegt  Die Strategie des Managements ist eine weitere Expansion des Unternehmens. Externe Berater haben das Management davon überzeugt, dass dies mit den aktuellen System nicht zu meistern ist, eine Neuimplementierung jedoch alle Probleme löst  Der Betrieb wünscht sich eine einfache und zuverlässige Deployment- Strategie, um dem Wunsch des Produkt-Managements nach häufigen Aktualisierungen (1x täglich) nachkommen zu können.
  10. 10. Relaunch von Columbus Reisen Rahmenbedingungen  Das Altsystem ist eine PHP-Anwendung  Das Regelwerk zur Überprüfung der Bewertungen soll ohne Änderung übernommen werden  Alle Daten befinden sich in verschiedenen MySQL Datenbanken und müssen übernommen werden  Das Entwicklungsteam besitzt sehr gute PHP und etwas Java-Kenntnisse  Das neue System soll pünktlich zur wichtigsten Reisemesse (in 18 Monaten) online gehen
  11. 11. Architektur Kata – 1. Durchgang  40 Minuten für Architekturentwurf  Beantworte die wichtigsten Architektur- und Design-Fragen  Berücksichtige die wichtigen Qualitätsziele und Randbedingungen  Dokumentiere mit Hilfe von Diagrammen, Tabellen, Listen  20 Minuten Präsentation
  12. 12. System im Kontextcmp Content Creation Ausspielung Externe Quellen Integration in BR-Systeme Nur für Migration Automatisierte Zulieferung Content Management System Programmplanung Audio-Video Management Generischer XML Import Teamsite Cumulus Verkehr Wetter RSS/TSRSS Quellen Titelsuche / Jetzt läuft HTML notes Ausspielung für das Web TSRSS / Nimex notes Austauschformat der ARD für Verteilseiten und Artikel RSS 2.0 notes Für Dokument-Feeds. Tracking notes - IVW - comscore - intern XML notes Generisches XML für Flash-Applikationen Datenfluss Legende Import Import BR-online Content Management System
  13. 13. Subsysteme cmp Components Content Management System Sophora Sophora Redaktionsclient Sophora Importer BR-Online SolR Customizing Implementierung Abhängigkeiten Legende Services Core Applications Admin-Apps
  14. 14. cmp Servi... Services (from Layers) «service» archive «service» delivery «service» event «service» importer «service» invalidation «service» search «service» taste Komponenten Legende Abhängigkeit
  15. 15. Sichten / black box – white box Komponenten Subsysteme System im Kontext SYS SUSY-1 KOMP-1 KOMP-2 SUSY-2 KOMP-3
  16. 16. Pause
  17. 17. Architektur-Entwicklung  Kontext  Sichten  Umsetzung
  18. 18. Architektur-Kontext  Qualitätsziele  Randbedingungen  Kontext  Lösungsstrategie  Risiken
  19. 19. Qualitätsmerkmale (ISO 9126) Funktionalität Benutzbarkeit Wartbarkeit Angemessenheit Richtigkeit Interoperabilität Sicherheit Ordnungsmäßigkeit Konformität Verständlichkeit Erlernbarkeit Bedienbarkeit Attraktivität Konformität Analysierbarkeit Modifizierbarkeit Stabilität Testbarkeit Konformität Zuverlässigkeit Effizienz Übertragbarkeit Reife Fehlertoleranz Wiederherstellbarkeit Konformität Zeitverhalten Verbrauchsverhalten Konformität Anpassbarkeit Installierbarkeit Koexistenz Austauschbarkeit Konformität
  20. 20. Architektur-Sichten  Bausteinsicht  Laufzeitsicht  Verteilungssicht
  21. 21. Architektur-Umsetzung  Technische Konzepte  Entwurfsentscheidungen  Qualitätsszenarien für Architekturbewertung
  22. 22. Architektur Dokumentation
  23. 23. Diagramm Checkliste Struktur • Geschachtelte Abstraktionsebenen • Darstellung des System-Kontexts • Wesentliche Komponenten für die Umsetzung der wichtigsten Anforderungen • Qualitätsziele Layout • Verständliche Verwendung von Notation, Formen, Farben usw. • Legende
  24. 24. Architektur-Kata - 2. Durchgang 25 Minuten für  Systemkontext  Abgrenzung zu Umsystemen  Verantwortlichkeiten  Geschachtelte Abstraktionsebenen  Verbesserte Diagramme  Ziele und Lösungsansätze  Qualitätsziele + Randbedingungen  Lösungsansätze passend zu den Qualitätszielen  20 Minuten Präsentation
  25. 25. System-Kontextcmp Context Columbus RatingApproval «user» WebUser «user» TravelEditor «user» DevOp Legende blau Benutzer orange externe Systeme grau System im Kontext - - - > <<use>> TravelBatchTravelAgencies Qualitätsziele 1. Sicherheit 2. Verfügbarkeit (Reife): > 99% 3. Zeitverhalten unter Spitzenlast: < 10s 4. Installierbarkeit: Continuous Delivery «use» «use»«use» «use»
  26. 26. Subsystemecmp Subsystems Columbus UserManagement responsibilities Authentification Registration TravelService responsibilities Booking Search RatingService responsibilities Query for ratings Store rating RatingApproval ContentManagementSystem responsibilities Content creation ColumbusWebApp responsibilities page delivery < 10 sec UI for WebUser «user» WebUser «user» TravelEditor «user» DevOp Legende blau Benutzer orange externe Systeme grau System im Kontext - - - > <<use>> TravelBatchTravelAgencies «use» «use» «use» «use» «use» «use» «use»
  27. 27. Subsystem TravelServicecmp TravelService Travel TravelPackage TravelIndividual TravelDB TravelBatch TravelAgencies Batchverarbeitung wird nach und nach durch Online- Abfrage abgelöst. Legende orange externe Systeme grau interne Komponenten delegate delegate delegate use use «delegate»«delegate» use
  28. 28. Architektur-Vision in Phase Null Architektur- Vision Kürze Verständ- lichkeit Akzep- tanz • Systemkontext • Priorisierte Qualitätsziele • Komponenten der obersten Ebene • Randbedingungen und Risiken
  29. 29. Architektur Kata Trainiert  die Umsetzung von Anforderungen in eine passende Softwarearchitektur  die richtigen Fragen an die Stakeholder stellen, um die Anforderungen zu verstehen  das Erkennen und Priorisieren von architektur- relevanten Anforderungen  die Dokumentation in Form von aussagekräftigen Diagrammen … und kann hervorragend bei der Erarbeitung einer Architektur Vision eingesetzt werden
  30. 30. Quellen  Ted Newards Technical Blog: Architectural Katas blogs.tedneward.com/2010/06/17/Architectural+Katas.aspx  Gernot Starke: Effektive Software-Architekturen - Ein praktischer Leitfaden, Hanser 2011  Gernot Starke: Softwarearchitekten: Die Zehnkämpfer der IT dl.dropbox.com/u/45486/arc42-downloads/02-zehnkaempfer.pdf  Template für Architekturdokumentation www.arc42.de/template/template.html  Roock, Pichler: Die Architekturvision in Scrum www.sigs-datacom.de/fileadmin/user_upload/zeitschriften/os/2011/04/pichler_roock_OS_04_11.pdf  Stefan Toth: Vorgehensmuster für Softwarearchitektur, Hanser 2014  iSAQB-Zertifizierung www.isaqb.de  Gemälde und Fotos von Lisa und Theresa
  31. 31. Roland Mast Sybit GmbH Software-Architekt Scrum Master roland.mast@sybit.de

×