Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

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

545 visualizaciones

Publicado el

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.

Publicado en: Software
  • Sé el primero en comentar

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

×