SlideShare ist ein Scribd-Unternehmen logo
1 von 31
Downloaden Sie, um offline zu lesen
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
Architektur
kommunizieren Umsetzung
betreuen Architektur
bewerten
Was ist eine Kata?
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.
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
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.
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
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
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
Subsysteme
cmp Components
Content Management System
Sophora
Sophora
Redaktionsclient
Sophora Importer
BR-Online
SolR Customizing
Implementierung
Abhängigkeiten
Legende
Services
Core
Applications Admin-Apps
cmp Servi...
Services
(from Layers)
«service»
archive
«service»
delivery
«service»
event
«service»
importer
«service»
invalidation
«service»
search
«service»
taste
Komponenten
Legende
Abhängigkeit
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
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
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 Komponenten für die
Umsetzung der wichtigsten Anforderungen
• Qualitätsziele
Layout
• Verständliche Verwendung von
Notation, Formen, Farben usw.
• Legende
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
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»
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»
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
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
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
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
Roland Mast
Sybit GmbH
Software-Architekt
Scrum Master
roland.mast@sybit.de

Weitere ähnliche Inhalte

Andere mochten auch

Mobileconnect
MobileconnectMobileconnect
Mobileconnectswoop
 
Social media marketing leifaden
Social media marketing leifadenSocial media marketing leifaden
Social media marketing leifadenslubritz
 
Reform Der Arbeitszeit
Reform Der ArbeitszeitReform Der Arbeitszeit
Reform Der ArbeitszeitWerner Drizhal
 
4.5 Website
4.5 Website4.5 Website
4.5 Websitejszpaich
 
Eki glossar fnanzkrise_a4_4c_ped_web
Eki glossar fnanzkrise_a4_4c_ped_webEki glossar fnanzkrise_a4_4c_ped_web
Eki glossar fnanzkrise_a4_4c_ped_webWerner Drizhal
 
Feedbackzusammenfassung Ohne Trainer Innen
Feedbackzusammenfassung Ohne Trainer InnenFeedbackzusammenfassung Ohne Trainer Innen
Feedbackzusammenfassung Ohne Trainer InnenWerner Drizhal
 
Burnoutprävention 11. 13.april 2011 krainerhütte flip-protokoll
Burnoutprävention 11. 13.april 2011 krainerhütte flip-protokollBurnoutprävention 11. 13.april 2011 krainerhütte flip-protokoll
Burnoutprävention 11. 13.april 2011 krainerhütte flip-protokollWerner Drizhal
 
Neue Medien Szenarien Bertram Gugel
Neue Medien Szenarien Bertram GugelNeue Medien Szenarien Bertram Gugel
Neue Medien Szenarien Bertram GugelBertram Gugel
 
Auf zu neuen Ufern! Mit „Lean Startup“ den Kundengeschmack treffen. Elmar Bor...
Auf zu neuen Ufern! Mit „Lean Startup“ den Kundengeschmack treffen. Elmar Bor...Auf zu neuen Ufern! Mit „Lean Startup“ den Kundengeschmack treffen. Elmar Bor...
Auf zu neuen Ufern! Mit „Lean Startup“ den Kundengeschmack treffen. Elmar Bor...SYNGENIO AG
 
InfoNet Day 2015: Session Business Booster Search - SharePoint Search ausreizen
InfoNet Day 2015: Session Business Booster Search - SharePoint Search ausreizenInfoNet Day 2015: Session Business Booster Search - SharePoint Search ausreizen
InfoNet Day 2015: Session Business Booster Search - SharePoint Search ausreizenBernhard Wyss
 
21.10.10 uni wien strateg. wahl der gewerkschaften
21.10.10 uni wien strateg. wahl der gewerkschaften21.10.10 uni wien strateg. wahl der gewerkschaften
21.10.10 uni wien strateg. wahl der gewerkschaftenWerner Drizhal
 
Real-Time-Branding - Marken im Echtzeitweb
Real-Time-Branding - Marken im EchtzeitwebReal-Time-Branding - Marken im Echtzeitweb
Real-Time-Branding - Marken im EchtzeitwebNico Zorn
 
Sample Ultimate German Vacation
Sample Ultimate German VacationSample Ultimate German Vacation
Sample Ultimate German Vacationivniko
 

Andere mochten auch (17)

Mobileconnect
MobileconnectMobileconnect
Mobileconnect
 
Social media marketing leifaden
Social media marketing leifadenSocial media marketing leifaden
Social media marketing leifaden
 
Reform Der Arbeitszeit
Reform Der ArbeitszeitReform Der Arbeitszeit
Reform Der Arbeitszeit
 
4.5 Website
4.5 Website4.5 Website
4.5 Website
 
Eki glossar fnanzkrise_a4_4c_ped_web
Eki glossar fnanzkrise_a4_4c_ped_webEki glossar fnanzkrise_a4_4c_ped_web
Eki glossar fnanzkrise_a4_4c_ped_web
 
Feedbackzusammenfassung Ohne Trainer Innen
Feedbackzusammenfassung Ohne Trainer InnenFeedbackzusammenfassung Ohne Trainer Innen
Feedbackzusammenfassung Ohne Trainer Innen
 
Fischer Cert 1-4
Fischer Cert 1-4Fischer Cert 1-4
Fischer Cert 1-4
 
Burnoutprävention 11. 13.april 2011 krainerhütte flip-protokoll
Burnoutprävention 11. 13.april 2011 krainerhütte flip-protokollBurnoutprävention 11. 13.april 2011 krainerhütte flip-protokoll
Burnoutprävention 11. 13.april 2011 krainerhütte flip-protokoll
 
Neue Medien Szenarien Bertram Gugel
Neue Medien Szenarien Bertram GugelNeue Medien Szenarien Bertram Gugel
Neue Medien Szenarien Bertram Gugel
 
Auf zu neuen Ufern! Mit „Lean Startup“ den Kundengeschmack treffen. Elmar Bor...
Auf zu neuen Ufern! Mit „Lean Startup“ den Kundengeschmack treffen. Elmar Bor...Auf zu neuen Ufern! Mit „Lean Startup“ den Kundengeschmack treffen. Elmar Bor...
Auf zu neuen Ufern! Mit „Lean Startup“ den Kundengeschmack treffen. Elmar Bor...
 
InfoNet Day 2015: Session Business Booster Search - SharePoint Search ausreizen
InfoNet Day 2015: Session Business Booster Search - SharePoint Search ausreizenInfoNet Day 2015: Session Business Booster Search - SharePoint Search ausreizen
InfoNet Day 2015: Session Business Booster Search - SharePoint Search ausreizen
 
21.10.10 uni wien strateg. wahl der gewerkschaften
21.10.10 uni wien strateg. wahl der gewerkschaften21.10.10 uni wien strateg. wahl der gewerkschaften
21.10.10 uni wien strateg. wahl der gewerkschaften
 
Redes
RedesRedes
Redes
 
Real-Time-Branding - Marken im Echtzeitweb
Real-Time-Branding - Marken im EchtzeitwebReal-Time-Branding - Marken im Echtzeitweb
Real-Time-Branding - Marken im Echtzeitweb
 
SISEL - Der Weg zum Erfolg
SISEL - Der Weg zum ErfolgSISEL - Der Weg zum Erfolg
SISEL - Der Weg zum Erfolg
 
Sample Ultimate German Vacation
Sample Ultimate German VacationSample Ultimate German Vacation
Sample Ultimate German Vacation
 
Vortrag gpa
Vortrag gpaVortrag gpa
Vortrag gpa
 

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

BPMN und Workflows in .NET
BPMN und Workflows in .NETBPMN und Workflows in .NET
BPMN und Workflows in .NETBernd Ruecker
 
Erfolgreiche ITIL-Tool-Implementierung in der Praxis, am Beispiel o2
Erfolgreiche ITIL-Tool-Implementierung in der Praxis, am Beispiel o2Erfolgreiche ITIL-Tool-Implementierung in der Praxis, am Beispiel o2
Erfolgreiche ITIL-Tool-Implementierung in der Praxis, am Beispiel o2Digicomp Academy AG
 
Steinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen EvolutionSteinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen EvolutionQAware GmbH
 
Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringQAware GmbH
 
SEO Produktspezifikation für RWD
SEO Produktspezifikation für RWDSEO Produktspezifikation für RWD
SEO Produktspezifikation für RWDConny Stier
 
ESEconf2011 - Trost Joachim: "Tool supported technical Code and Design Qualit...
ESEconf2011 - Trost Joachim: "Tool supported technical Code and Design Qualit...ESEconf2011 - Trost Joachim: "Tool supported technical Code and Design Qualit...
ESEconf2011 - Trost Joachim: "Tool supported technical Code and Design Qualit...Aberla
 
Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringQAware GmbH
 
Dipl.-Ing. Leopold Peneder (HC Solutions)
Dipl.-Ing. Leopold Peneder (HC Solutions)Dipl.-Ing. Leopold Peneder (HC Solutions)
Dipl.-Ing. Leopold Peneder (HC Solutions)Agenda Europe 2035
 
Web Content-Management-Systeme the Past - the Present - the Future
Web Content-Management-Systeme the Past - the Present - the FutureWeb Content-Management-Systeme the Past - the Present - the Future
Web Content-Management-Systeme the Past - the Present - the FutureAlexander Loechel
 
Clickstream Analysis with Spark—Understanding Visitors in Realtime by Josef A...
Clickstream Analysis with Spark—Understanding Visitors in Realtime by Josef A...Clickstream Analysis with Spark—Understanding Visitors in Realtime by Josef A...
Clickstream Analysis with Spark—Understanding Visitors in Realtime by Josef A...Spark Summit
 
Technisches SEO 2019 Berlin SEO Campixx
Technisches SEO 2019 Berlin SEO CampixxTechnisches SEO 2019 Berlin SEO Campixx
Technisches SEO 2019 Berlin SEO CampixxAlona Demchyk (Hakel)
 
Dr. Ingo Laue - Microsoft Azure | Projekt-Erfahrungen
Dr. Ingo Laue - Microsoft  Azure | Projekt-ErfahrungenDr. Ingo Laue - Microsoft  Azure | Projekt-Erfahrungen
Dr. Ingo Laue - Microsoft Azure | Projekt-ErfahrungenCloudCamp Hamburg
 
07 06 Xpertivy (Office 2003)
07 06 Xpertivy (Office 2003)07 06 Xpertivy (Office 2003)
07 06 Xpertivy (Office 2003)soreco
 
Automatisierung von Client-seitigen Web-Performance-Optimierungen
Automatisierung von Client-seitigen Web-Performance-OptimierungenAutomatisierung von Client-seitigen Web-Performance-Optimierungen
Automatisierung von Client-seitigen Web-Performance-OptimierungenJakob
 
Roadshow 2018 - Camunda in der Praxis: So geht's
Roadshow 2018 - Camunda in der Praxis: So geht'sRoadshow 2018 - Camunda in der Praxis: So geht's
Roadshow 2018 - Camunda in der Praxis: So geht'scamunda services GmbH
 
Skalierung & Performance
Skalierung & PerformanceSkalierung & Performance
Skalierung & Performanceglembotzky
 
B1 Acocon Lotus Day 08.09.2009
B1 Acocon Lotus Day 08.09.2009B1 Acocon Lotus Day 08.09.2009
B1 Acocon Lotus Day 08.09.2009Andreas Schulte
 
Microservices – die Architektur für Agile-Entwicklung?
Microservices – die Architektur für Agile-Entwicklung?Microservices – die Architektur für Agile-Entwicklung?
Microservices – die Architektur für Agile-Entwicklung?Christian Baranowski
 
Clickstream Analysis with Spark
Clickstream Analysis with Spark Clickstream Analysis with Spark
Clickstream Analysis with Spark Josef Adersberger
 

Ähnlich wie OOP 2015: Architektur Kata - als Trainingsform für agile Teams (20)

BPMN und Workflows in .NET
BPMN und Workflows in .NETBPMN und Workflows in .NET
BPMN und Workflows in .NET
 
Erfolgreiche ITIL-Tool-Implementierung in der Praxis, am Beispiel o2
Erfolgreiche ITIL-Tool-Implementierung in der Praxis, am Beispiel o2Erfolgreiche ITIL-Tool-Implementierung in der Praxis, am Beispiel o2
Erfolgreiche ITIL-Tool-Implementierung in der Praxis, am Beispiel o2
 
Steinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen EvolutionSteinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen Evolution
 
Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform Engineering
 
SEO Produktspezifikation für RWD
SEO Produktspezifikation für RWDSEO Produktspezifikation für RWD
SEO Produktspezifikation für RWD
 
ESEconf2011 - Trost Joachim: "Tool supported technical Code and Design Qualit...
ESEconf2011 - Trost Joachim: "Tool supported technical Code and Design Qualit...ESEconf2011 - Trost Joachim: "Tool supported technical Code and Design Qualit...
ESEconf2011 - Trost Joachim: "Tool supported technical Code and Design Qualit...
 
Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform Engineering
 
Dipl.-Ing. Leopold Peneder (HC Solutions)
Dipl.-Ing. Leopold Peneder (HC Solutions)Dipl.-Ing. Leopold Peneder (HC Solutions)
Dipl.-Ing. Leopold Peneder (HC Solutions)
 
Web Content-Management-Systeme the Past - the Present - the Future
Web Content-Management-Systeme the Past - the Present - the FutureWeb Content-Management-Systeme the Past - the Present - the Future
Web Content-Management-Systeme the Past - the Present - the Future
 
Clickstream Analysis with Spark—Understanding Visitors in Realtime by Josef A...
Clickstream Analysis with Spark—Understanding Visitors in Realtime by Josef A...Clickstream Analysis with Spark—Understanding Visitors in Realtime by Josef A...
Clickstream Analysis with Spark—Understanding Visitors in Realtime by Josef A...
 
Technisches SEO 2019 Berlin SEO Campixx
Technisches SEO 2019 Berlin SEO CampixxTechnisches SEO 2019 Berlin SEO Campixx
Technisches SEO 2019 Berlin SEO Campixx
 
Dr. Ingo Laue - Microsoft Azure | Projekt-Erfahrungen
Dr. Ingo Laue - Microsoft  Azure | Projekt-ErfahrungenDr. Ingo Laue - Microsoft  Azure | Projekt-Erfahrungen
Dr. Ingo Laue - Microsoft Azure | Projekt-Erfahrungen
 
07 06 Xpertivy (Office 2003)
07 06 Xpertivy (Office 2003)07 06 Xpertivy (Office 2003)
07 06 Xpertivy (Office 2003)
 
Automatisierung von Client-seitigen Web-Performance-Optimierungen
Automatisierung von Client-seitigen Web-Performance-OptimierungenAutomatisierung von Client-seitigen Web-Performance-Optimierungen
Automatisierung von Client-seitigen Web-Performance-Optimierungen
 
Roadshow 2018 - Camunda in der Praxis: So geht's
Roadshow 2018 - Camunda in der Praxis: So geht'sRoadshow 2018 - Camunda in der Praxis: So geht's
Roadshow 2018 - Camunda in der Praxis: So geht's
 
Skalierung & Performance
Skalierung & PerformanceSkalierung & Performance
Skalierung & Performance
 
B1 Acocon Lotus Day 08.09.2009
B1 Acocon Lotus Day 08.09.2009B1 Acocon Lotus Day 08.09.2009
B1 Acocon Lotus Day 08.09.2009
 
HCM Änderungsmanagement / Änderungsantrag
HCM Änderungsmanagement / ÄnderungsantragHCM Änderungsmanagement / Änderungsantrag
HCM Änderungsmanagement / Änderungsantrag
 
Microservices – die Architektur für Agile-Entwicklung?
Microservices – die Architektur für Agile-Entwicklung?Microservices – die Architektur für Agile-Entwicklung?
Microservices – die Architektur für Agile-Entwicklung?
 
Clickstream Analysis with Spark
Clickstream Analysis with Spark Clickstream Analysis with Spark
Clickstream Analysis with Spark
 

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

  • 2. Roland Mast Sybit GmbH Software –Architekt Scrum Master roland.mast@sybit.de
  • 5. Software-Architektur-Aufgaben Anforderungen und Randbedingungen klären Strukturen entwerfen Technische Konzepte entwerfen Architektur kommunizieren Umsetzung betreuen Architektur bewerten
  • 6. Was ist eine Kata?
  • 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
  • 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
  • 15. Sichten / black box – white box Komponenten Subsysteme System im Kontext SYS SUSY-1 KOMP-1 KOMP-2 SUSY-2 KOMP-3
  • 16. Pause
  • 18. Architektur-Kontext  Qualitätsziele  Randbedingungen  Kontext  Lösungsstrategie  Risiken
  • 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
  • 21. Architektur-Umsetzung  Technische Konzepte  Entwurfsentscheidungen  Qualitätsszenarien für Architekturbewertung
  • 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. 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. 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. 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. 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
  • 31. Roland Mast Sybit GmbH Software-Architekt Scrum Master roland.mast@sybit.de