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