SlideShare ist ein Scribd-Unternehmen logo
1 von 47
Downloaden Sie, um offline zu lesen
Gerade genug Architektur vorneweg
Zur eigenen Architektur-Vision in 12 Minuten
Roland Mast
Sybit GmbH
Software-Architekt
Scrum Master
roland.mast@sybit.de
Roland Mast
Sybit GmbH
Software-Architekt
roland.mast@sybit.de
Was spricht gegen Big Design Up Front?
Was spricht gegen No Design Up Front?
Wieviel Architekturarbeit
muss vor dem Einstieg
in die Realisierung
geleistet werden?
Gerade genug!
• Kennenlernen
• Erfahren
• Trainieren
Architektur-Vision
Anforderungen
Architektur-
Vision +
Lösungsidee
Inkrementelle
Entwicklung
der Architektur
Aus-
lieferung
Architektur-Vision
Start ImplementierungPhase 0
Zeit
Architektur-
Vision
kurz
akzeptiertverständlich
Systemidee erarbeiten
• Was ist die Kernaufgabe des Systems?
• Wie und von wem wird das System genutzt?
• Über welche Schnittstellen zur Außenwelt
verfügt das System?
• In welchen Kontext steht das zu entwerfende System?
„Das bestehende Content Management System
soll abgelöst werden. Die bestehenden
Funktionalitäten sollen soweit erforderlich
übernommen und eine solide technische Basis
für zukünftige Anforderungen geschaffen
werden.“
Systemidee erarbeiten
• Was ist die Kernaufgabe des Systems?
• Wie und von wem wird das System genutzt?
• Über welche Schnittstellen zur Außenwelt
verfügt das System?
• In welchen Kontext steht das zu entwerfende System?
• Nutzungskategorien:
WebApp, Desktop, Batch, Embedded …
• Benutzerschnittstellen:
GUI, Konsole, Hardware …
• Anwender:
geschult/ungeschult, Administratoren,
Betreiber …
Systemidee erarbeiten
• Was ist die Kernaufgabe des Systems?
• Wie und von wem wird das System genutzt?
• Über welche Schnittstellen zur Außenwelt
verfügt das System?
• In welchen Kontext steht das zu entwerfende System?
• Schnittstellen zu anderen Systemen, die
bedient/benutzt werden
• Funktionale oder Datenschnittstellen
• Synchron/Asynchron
• Stabilität, Performance, Änderbarkeit
Systemidee erarbeiten
• Was ist die Kernaufgabe des Systems?
• Wie und von wem wird das System genutzt?
• Über welche Schnittstellen zur Außenwelt
verfügt das System?
• In welchen Kontext
steht das zu
entwerfende System?
cmp Context
Columbus
responsibilities
1. security
2. service reliabilty > 99%
3. peak load
4. continuous deployment
RatingApprov al
«user»
WebUser
«user»
TravelEditor
«user»
DevOp Legend
blau user
orange external systems
grau system in context
Trav elBatchTrav elAgencies
«flow» «flow» «flow»
«use»«use» «use»
«use»
„Das bestehende Content Management System
soll abgelöst werden. Die bestehenden
Funktionalitäten sollen soweit erforderlich
übernommen und eine solide technische Basis
für zukünftige Anforderungen geschaffen
werden.“
Benutzergruppen:
• WebUser (Web-GUI)
• RedakteurIn (RichClient)
• Administrator/Support (RichClient)
• Betrieb (Konsole, Web-GUI)
• Schnittstellen zu anderen
Systemen, die
bedient/benutzt werden
Technische Kontext-Abgrenzung
19
Einflussfaktoren beachten
Architektur
Funktionale
Anforderungen
Qualitative
Anforderungen
Organisatorische
Einflüsse
Technische Einflüsse
Einflussfaktoren beachten
Architektur
Funktionale
Anforderungen
Qualitative
Anforderungen
Organisatorische
Einflüsse
Technische Einflüsse
• Die wichtigsten Anforderungen
/ Stories aus dem Backlog
• „Redaktionell aufbereitete
Inhalte zu Audios und Videos
sind zentraler Bestandteil der
Plattform. Sie sollen von der
Zulieferung durch Drittsysteme
nicht beeinträchtigt werden.“
Video-Seite
Einflussfaktoren beachten
Architektur
Funktionale
Anforderungen
Qualitative
Anforderungen
Organisatorische
Einflüsse
Technische Einflüsse
• Performanz
• Ausfallsicherheit
• Skalierbarkeit
• Erweiterbarkeit
• Fehlertoleranz
• Bedienbarkeit
• Stabilität
• Austauschbarkeit
• …..
Einflussfaktoren beachten
Architektur
Funktionale
Anforderungen
Qualitative
Anforderungen
Organisatorische
Einflüsse
Technische Einflüsse
• Struktur der
Organisation
• Bestehende Partnerschaften
• Ressourcen
• Budget
• Festpreis
• Flexibilität des Zeitplans
• Qualitätsstandards
• Vorgehensstandards
• Juristische Faktoren
Einflussfaktoren beachten
Architektur
Funktionale
Anforderungen
Qualitative
Anforderungen
Organisatorische
Einflüsse
Technische Einflüsse
• Hardware Infrastruktur
• Software Infrastrukur
• Referenzarchitekturen
• Betriebssysteme
• Datenbanken
• Grafische Oberfläche
• Styleguides
• Bibliotheken, Frameworks
• Programmiervorgaben
Einflussfaktoren …
… sind verhandelbar
und können sich ändern
Lösungsstrategien entwicklen
Lösungsstrategien - Kategorien
• Entscheidungen
• Architektur-Muster
• Architektur-Prinzipien
• Konzepte
• Vorgehen
Lösungsstrategien - Kategorien
• Entscheidungen
• Architektur-Muster
• Architektur-Prinzipien
• Konzepte
• Vorgehen
Verwendung eines
Application Server Clusters
(hohe Ausfallsicherheit)
Lösungsstrategien - Kategorien
• Entscheidungen
• Architektur-Muster
• Architektur-Prinzipien
• Konzepte
• Vorgehen
Circuit Breaker
(Entkopplung und
Überwachung von
Abhängigkeiten)
Lösungsstrategien - Kategorien
• Entscheidungen
• Architektur-Muster
• Architektur-Prinzipien
• Konzepte
• Vorgehen
Bevorzuge Standards vor
proprietären Lösungen
(niedrige Wartungsaufwände)
Lösungsstrategien - Kategorien
• Entscheidungen
• Architektur-Muster
• Architektur-Prinzipien
• Konzepte
• Vorgehen
Caching-Konzept
(Effizienz, kurze Antwortzeiten)
Caching KonzeptCaching KonzeptCaching Konzept
Lösungsstrategien - Kategorien
• Entscheidungen
• Architektur-Muster
• Architektur-Prinzipien
• Konzepte
• Vorgehen
Continuous Deployment
(Installierbarkeit, Stabilität,
Wartbarkeit)
Test Stage Production Stage
Akzeptanz-
Tests
Performanz
-Tests
Unit
Tests
Code
Analyse
Arte-
fakte
Go Live
Commit Stage
Beteiligte an der Architektur-Vision
• Software-Architekt und Entwickler
• Product-Owner, Projektleiter
• Betrieb
• QA
• UX
• Mechanik, Elektronik
• Endanwender
• …
Los geht‘s !
4 Minuten für Architekturentwurf
eines dir bekannten Software-Systems
• Systemidee, Nutzung und Systemkontext
• Die wichtigsten Qualitätsziele und/oder Randbedingungen
• Dokumentiere mit Hilfe von Diagrammen, Tabellen, Listen
2 x 4 Minuten gegenseitige Präsentation
Architektur-Vision in 12 Minuten
Vision und wie geht‘s weiter?
Vision und wie geht‘s weiter?
Architektur-Wand
Quelle: Stefan Toth –
Vorgehensmuster für
Softwarearchitektur
Architektur-Dokumentation
Was ist eine Architektur-Kata?Architektur-Training
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.
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
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.
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
Architektur-Kata
Architektur Kata – 1. Durchgang
50 Minuten für Architekturentwurf
Beantworte die wichtigsten
Architektur- und Design-Fragen
Berücksichtige die wichtigsten Qualitätsziele
und Randbedingungen
Dokumentiere mit Hilfe von Diagrammen, Tabellen, Listen
2 x 15 Minuten Präsentation
Architektur Kata – 2. Durchgang
• 30 Minuten für Architektur-Vision
 Systemidee und Systemkontext
Was ist die Kernaufgabe des Systems?
Wie wird das System genutzt? Wer nutzt das System?
Über welche Schnittstellen zur Außenwelt verfügt das System?
 Priorisierte Qualitätsziele
 Einflussfaktoren und Risiken
Architektur Kata – 3. Durchgang
• 30 Minuten für Architekturentwurf
 Lösungsstrategien passend zu den Qualitätszielen
 Bausteinsicht mit geschachtelten Abstraktionsebenen
 Weitere relevante Sichten
• 2 x 15 Minuten Präsentation
Architektur-Kata – 4. Durchgang
Neue Anforderungen
• 45 Minuten für Architekturanpassung
 Anpassung der Qualitätsziele
 Anpassung der Lösungsstrategien
 Aktualisierung der Sichten
• 2 x 15 Minuten Präsentation
Einflussfaktoren
System-Kontext
Bausteinsicht
• die Umsetzung von Anforderungen in eine geeignete
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 somit die Erarbeitung einer Architektur-Vision
Architektur-Kata trainiert
• Roock, Pichler: Die Architekturvision in Scrum
www.sigs-
datacom.de/fileadmin/user_upload/zeitschriften/os/2011/04/pichler_roock_OS_04_11.pdf
• Gernot Starke: Effektive Software-Architekturen - Ein praktischer
Leitfaden, Hanser 2011
• Template für Architekturdokumentation
http://www.arc42.de/template/struktur.html
• Stefan Toth: Vorgehensmuster für Softwarearchitektur,
Hanser 2014
• Ted Newards Technical Blog: Architectural Katas
blogs.tedneward.com/2010/06/17/Architectural+Katas.aspx
Gemälde von Lisa und Theresa
Quellen
Roland Mast, Sybit GmbH
Software-Architekt, Scrum Master
roland.mast@sybit.de

Weitere ähnliche Inhalte

Andere mochten auch

OOP 2015: Architektur Kata - als Trainingsform für agile Teams
OOP 2015: Architektur Kata - als Trainingsform für agile TeamsOOP 2015: Architektur Kata - als Trainingsform für agile Teams
OOP 2015: Architektur Kata - als Trainingsform für agile TeamsRoland Mast
 
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
 
Jahresbericht Geschäftsjahr 2014/15 Science Park Graz
Jahresbericht Geschäftsjahr 2014/15 Science Park GrazJahresbericht Geschäftsjahr 2014/15 Science Park Graz
Jahresbericht Geschäftsjahr 2014/15 Science Park GrazBernhard Weber
 
AHMED HAMDI%27S PORTFOLIO
AHMED HAMDI%27S PORTFOLIOAHMED HAMDI%27S PORTFOLIO
AHMED HAMDI%27S PORTFOLIOAhmed Hamdi
 
Cusy Developer-Baukasten
Cusy Developer-BaukastenCusy Developer-Baukasten
Cusy Developer-Baukastencusy GmbH
 
E-Mail Marketing reloaded
E-Mail Marketing reloadedE-Mail Marketing reloaded
E-Mail Marketing reloadedNico Zorn
 
Eurokrise fsg gpa-djp (oktober 2012)
Eurokrise fsg gpa-djp (oktober 2012)Eurokrise fsg gpa-djp (oktober 2012)
Eurokrise fsg gpa-djp (oktober 2012)Werner Drizhal
 
Eurokrise fsg teil 1 ideologie und wirklichkeit
Eurokrise fsg teil 1 ideologie und wirklichkeitEurokrise fsg teil 1 ideologie und wirklichkeit
Eurokrise fsg teil 1 ideologie und wirklichkeitWerner Drizhal
 
23 Dinge, die Sie über Software Entwicklung in Teams wissen sollten
23 Dinge, die Sie über Software Entwicklung in Teams wissen sollten23 Dinge, die Sie über Software Entwicklung in Teams wissen sollten
23 Dinge, die Sie über Software Entwicklung in Teams wissen solltenStephan Schmidt
 
Wirtschafts folien dez_2011_stand_22122011
Wirtschafts folien dez_2011_stand_22122011Wirtschafts folien dez_2011_stand_22122011
Wirtschafts folien dez_2011_stand_22122011Werner Drizhal
 

Andere mochten auch (20)

OOP 2015: Architektur Kata - als Trainingsform für agile Teams
OOP 2015: Architektur Kata - als Trainingsform für agile TeamsOOP 2015: Architektur Kata - als Trainingsform für agile Teams
OOP 2015: Architektur Kata - als Trainingsform für agile Teams
 
Anti diskbv090909
Anti diskbv090909Anti diskbv090909
Anti diskbv090909
 
DRAWINGS-1-5
DRAWINGS-1-5DRAWINGS-1-5
DRAWINGS-1-5
 
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
 
DRAWINGS-6-10
DRAWINGS-6-10DRAWINGS-6-10
DRAWINGS-6-10
 
Eve bedoya
Eve bedoyaEve bedoya
Eve bedoya
 
Br mitglied
Br mitgliedBr mitglied
Br mitglied
 
Jahresbericht Geschäftsjahr 2014/15 Science Park Graz
Jahresbericht Geschäftsjahr 2014/15 Science Park GrazJahresbericht Geschäftsjahr 2014/15 Science Park Graz
Jahresbericht Geschäftsjahr 2014/15 Science Park Graz
 
AHMED HAMDI%27S PORTFOLIO
AHMED HAMDI%27S PORTFOLIOAHMED HAMDI%27S PORTFOLIO
AHMED HAMDI%27S PORTFOLIO
 
Speed Game Eu
Speed Game EuSpeed Game Eu
Speed Game Eu
 
Cusy Developer-Baukasten
Cusy Developer-BaukastenCusy Developer-Baukasten
Cusy Developer-Baukasten
 
E-Mail Marketing reloaded
E-Mail Marketing reloadedE-Mail Marketing reloaded
E-Mail Marketing reloaded
 
Eurokrise fsg gpa-djp (oktober 2012)
Eurokrise fsg gpa-djp (oktober 2012)Eurokrise fsg gpa-djp (oktober 2012)
Eurokrise fsg gpa-djp (oktober 2012)
 
Eurokrise fsg teil 1 ideologie und wirklichkeit
Eurokrise fsg teil 1 ideologie und wirklichkeitEurokrise fsg teil 1 ideologie und wirklichkeit
Eurokrise fsg teil 1 ideologie und wirklichkeit
 
23 Dinge, die Sie über Software Entwicklung in Teams wissen sollten
23 Dinge, die Sie über Software Entwicklung in Teams wissen sollten23 Dinge, die Sie über Software Entwicklung in Teams wissen sollten
23 Dinge, die Sie über Software Entwicklung in Teams wissen sollten
 
Ppt All In
Ppt All InPpt All In
Ppt All In
 
Teilzeit endf
Teilzeit endfTeilzeit endf
Teilzeit endf
 
Wirtschafts folien dez_2011_stand_22122011
Wirtschafts folien dez_2011_stand_22122011Wirtschafts folien dez_2011_stand_22122011
Wirtschafts folien dez_2011_stand_22122011
 
GMDSS
GMDSSGMDSS
GMDSS
 

Ähnlich wie Gerade genug Architektur vorneweg - Zur eigenen Architektur-Vision in 12 Minuten

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
 
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...Andreas Wissel
 
Microservice-Architektur-Prozess für Software-Plattformen und Microservice-Ec...
Microservice-Architektur-Prozess für Software-Plattformen und Microservice-Ec...Microservice-Architektur-Prozess für Software-Plattformen und Microservice-Ec...
Microservice-Architektur-Prozess für Software-Plattformen und Microservice-Ec...Peter Schrey
 
BPMN und Workflows in .NET
BPMN und Workflows in .NETBPMN und Workflows in .NET
BPMN und Workflows in .NETBernd Ruecker
 
Continuous Delivery as a Way of Life
Continuous Delivery as a Way of LifeContinuous Delivery as a Way of Life
Continuous Delivery as a Way of LifeKremer Consulting
 
Softwerkskammer Chemnitz Special Pecha Kucha Night
Softwerkskammer Chemnitz Special Pecha Kucha NightSoftwerkskammer Chemnitz Special Pecha Kucha Night
Softwerkskammer Chemnitz Special Pecha Kucha NightChristinaLerch1
 
Applikationsmodernisierung: Der Weg von Legacy in die Cloud
Applikationsmodernisierung: Der Weg von Legacy in die CloudApplikationsmodernisierung: Der Weg von Legacy in die Cloud
Applikationsmodernisierung: Der Weg von Legacy in die CloudAarno Aukia
 
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
 
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
 
20120207 prs ib_js_libraries_v02
20120207 prs ib_js_libraries_v0220120207 prs ib_js_libraries_v02
20120207 prs ib_js_libraries_v02Chris Palatinus
 
XAML UI DEVELOPMENT BEST PRACTICES 2.0
XAML UI DEVELOPMENT BEST PRACTICES 2.0XAML UI DEVELOPMENT BEST PRACTICES 2.0
XAML UI DEVELOPMENT BEST PRACTICES 2.0thoemmes
 
Plone im Kontext des WCMS Marktes
Plone im Kontext des WCMS MarktesPlone im Kontext des WCMS Marktes
Plone im Kontext des WCMS MarktesAlexander Loechel
 
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
 
AdminCamp2017 - ApplicationInsights
AdminCamp2017 - ApplicationInsightsAdminCamp2017 - ApplicationInsights
AdminCamp2017 - ApplicationInsightsChristoph Adler
 
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
 
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
 
INNOQ Tech Lunch: Design Systems mit Storybook & Angular
INNOQ Tech Lunch: Design Systems mit Storybook & AngularINNOQ Tech Lunch: Design Systems mit Storybook & Angular
INNOQ Tech Lunch: Design Systems mit Storybook & AngularAndreas Wissel
 
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-ToolsSoftware-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-ToolsAndreas Schreiber
 

Ähnlich wie Gerade genug Architektur vorneweg - Zur eigenen Architektur-Vision in 12 Minuten (20)

Dipl.-Ing. Leopold Peneder (HC Solutions)
Dipl.-Ing. Leopold Peneder (HC Solutions)Dipl.-Ing. Leopold Peneder (HC Solutions)
Dipl.-Ing. Leopold Peneder (HC Solutions)
 
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
 
Microservice-Architektur-Prozess für Software-Plattformen und Microservice-Ec...
Microservice-Architektur-Prozess für Software-Plattformen und Microservice-Ec...Microservice-Architektur-Prozess für Software-Plattformen und Microservice-Ec...
Microservice-Architektur-Prozess für Software-Plattformen und Microservice-Ec...
 
BPMN und Workflows in .NET
BPMN und Workflows in .NETBPMN und Workflows in .NET
BPMN und Workflows in .NET
 
Continuous Delivery as a Way of Life
Continuous Delivery as a Way of LifeContinuous Delivery as a Way of Life
Continuous Delivery as a Way of Life
 
Usability Im Web 2.0
Usability Im Web 2.0Usability Im Web 2.0
Usability Im Web 2.0
 
Softwerkskammer Chemnitz Special Pecha Kucha Night
Softwerkskammer Chemnitz Special Pecha Kucha NightSoftwerkskammer Chemnitz Special Pecha Kucha Night
Softwerkskammer Chemnitz Special Pecha Kucha Night
 
Applikationsmodernisierung: Der Weg von Legacy in die Cloud
Applikationsmodernisierung: Der Weg von Legacy in die CloudApplikationsmodernisierung: Der Weg von Legacy in die Cloud
Applikationsmodernisierung: Der Weg von Legacy in die Cloud
 
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
 
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
 
20120207 prs ib_js_libraries_v02
20120207 prs ib_js_libraries_v0220120207 prs ib_js_libraries_v02
20120207 prs ib_js_libraries_v02
 
XAML UI DEVELOPMENT BEST PRACTICES 2.0
XAML UI DEVELOPMENT BEST PRACTICES 2.0XAML UI DEVELOPMENT BEST PRACTICES 2.0
XAML UI DEVELOPMENT BEST PRACTICES 2.0
 
Plone im Kontext des WCMS Marktes
Plone im Kontext des WCMS MarktesPlone im Kontext des WCMS Marktes
Plone im Kontext des WCMS Marktes
 
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
 
Zinit.leistungen.webentwicklung.v1.0.de
Zinit.leistungen.webentwicklung.v1.0.deZinit.leistungen.webentwicklung.v1.0.de
Zinit.leistungen.webentwicklung.v1.0.de
 
AdminCamp2017 - ApplicationInsights
AdminCamp2017 - ApplicationInsightsAdminCamp2017 - ApplicationInsights
AdminCamp2017 - ApplicationInsights
 
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...
 
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
 
INNOQ Tech Lunch: Design Systems mit Storybook & Angular
INNOQ Tech Lunch: Design Systems mit Storybook & AngularINNOQ Tech Lunch: Design Systems mit Storybook & Angular
INNOQ Tech Lunch: Design Systems mit Storybook & Angular
 
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-ToolsSoftware-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
 

Gerade genug Architektur vorneweg - Zur eigenen Architektur-Vision in 12 Minuten

  • 1. Gerade genug Architektur vorneweg Zur eigenen Architektur-Vision in 12 Minuten
  • 4. Was spricht gegen Big Design Up Front?
  • 5. Was spricht gegen No Design Up Front?
  • 6. Wieviel Architekturarbeit muss vor dem Einstieg in die Realisierung geleistet werden? Gerade genug!
  • 7. • Kennenlernen • Erfahren • Trainieren Architektur-Vision
  • 10. Systemidee erarbeiten • Was ist die Kernaufgabe des Systems? • Wie und von wem wird das System genutzt? • Über welche Schnittstellen zur Außenwelt verfügt das System? • In welchen Kontext steht das zu entwerfende System? „Das bestehende Content Management System soll abgelöst werden. Die bestehenden Funktionalitäten sollen soweit erforderlich übernommen und eine solide technische Basis für zukünftige Anforderungen geschaffen werden.“
  • 11. Systemidee erarbeiten • Was ist die Kernaufgabe des Systems? • Wie und von wem wird das System genutzt? • Über welche Schnittstellen zur Außenwelt verfügt das System? • In welchen Kontext steht das zu entwerfende System? • Nutzungskategorien: WebApp, Desktop, Batch, Embedded … • Benutzerschnittstellen: GUI, Konsole, Hardware … • Anwender: geschult/ungeschult, Administratoren, Betreiber …
  • 12. Systemidee erarbeiten • Was ist die Kernaufgabe des Systems? • Wie und von wem wird das System genutzt? • Über welche Schnittstellen zur Außenwelt verfügt das System? • In welchen Kontext steht das zu entwerfende System? • Schnittstellen zu anderen Systemen, die bedient/benutzt werden • Funktionale oder Datenschnittstellen • Synchron/Asynchron • Stabilität, Performance, Änderbarkeit
  • 13. Systemidee erarbeiten • Was ist die Kernaufgabe des Systems? • Wie und von wem wird das System genutzt? • Über welche Schnittstellen zur Außenwelt verfügt das System? • In welchen Kontext steht das zu entwerfende System? cmp Context Columbus responsibilities 1. security 2. service reliabilty > 99% 3. peak load 4. continuous deployment RatingApprov al «user» WebUser «user» TravelEditor «user» DevOp Legend blau user orange external systems grau system in context Trav elBatchTrav elAgencies «flow» «flow» «flow» «use»«use» «use» «use»
  • 14. „Das bestehende Content Management System soll abgelöst werden. Die bestehenden Funktionalitäten sollen soweit erforderlich übernommen und eine solide technische Basis für zukünftige Anforderungen geschaffen werden.“ Benutzergruppen: • WebUser (Web-GUI) • RedakteurIn (RichClient) • Administrator/Support (RichClient) • Betrieb (Konsole, Web-GUI)
  • 15. • Schnittstellen zu anderen Systemen, die bedient/benutzt werden
  • 18. Einflussfaktoren beachten Architektur Funktionale Anforderungen Qualitative Anforderungen Organisatorische Einflüsse Technische Einflüsse • Die wichtigsten Anforderungen / Stories aus dem Backlog • „Redaktionell aufbereitete Inhalte zu Audios und Videos sind zentraler Bestandteil der Plattform. Sie sollen von der Zulieferung durch Drittsysteme nicht beeinträchtigt werden.“
  • 20. Einflussfaktoren beachten Architektur Funktionale Anforderungen Qualitative Anforderungen Organisatorische Einflüsse Technische Einflüsse • Performanz • Ausfallsicherheit • Skalierbarkeit • Erweiterbarkeit • Fehlertoleranz • Bedienbarkeit • Stabilität • Austauschbarkeit • …..
  • 21. Einflussfaktoren beachten Architektur Funktionale Anforderungen Qualitative Anforderungen Organisatorische Einflüsse Technische Einflüsse • Struktur der Organisation • Bestehende Partnerschaften • Ressourcen • Budget • Festpreis • Flexibilität des Zeitplans • Qualitätsstandards • Vorgehensstandards • Juristische Faktoren
  • 22. Einflussfaktoren beachten Architektur Funktionale Anforderungen Qualitative Anforderungen Organisatorische Einflüsse Technische Einflüsse • Hardware Infrastruktur • Software Infrastrukur • Referenzarchitekturen • Betriebssysteme • Datenbanken • Grafische Oberfläche • Styleguides • Bibliotheken, Frameworks • Programmiervorgaben
  • 23. Einflussfaktoren … … sind verhandelbar und können sich ändern
  • 25. Lösungsstrategien - Kategorien • Entscheidungen • Architektur-Muster • Architektur-Prinzipien • Konzepte • Vorgehen
  • 26. Lösungsstrategien - Kategorien • Entscheidungen • Architektur-Muster • Architektur-Prinzipien • Konzepte • Vorgehen Verwendung eines Application Server Clusters (hohe Ausfallsicherheit)
  • 27. Lösungsstrategien - Kategorien • Entscheidungen • Architektur-Muster • Architektur-Prinzipien • Konzepte • Vorgehen Circuit Breaker (Entkopplung und Überwachung von Abhängigkeiten)
  • 28. Lösungsstrategien - Kategorien • Entscheidungen • Architektur-Muster • Architektur-Prinzipien • Konzepte • Vorgehen Bevorzuge Standards vor proprietären Lösungen (niedrige Wartungsaufwände)
  • 29. Lösungsstrategien - Kategorien • Entscheidungen • Architektur-Muster • Architektur-Prinzipien • Konzepte • Vorgehen Caching-Konzept (Effizienz, kurze Antwortzeiten) Caching KonzeptCaching KonzeptCaching Konzept
  • 30. Lösungsstrategien - Kategorien • Entscheidungen • Architektur-Muster • Architektur-Prinzipien • Konzepte • Vorgehen Continuous Deployment (Installierbarkeit, Stabilität, Wartbarkeit) Test Stage Production Stage Akzeptanz- Tests Performanz -Tests Unit Tests Code Analyse Arte- fakte Go Live Commit Stage
  • 31. Beteiligte an der Architektur-Vision • Software-Architekt und Entwickler • Product-Owner, Projektleiter • Betrieb • QA • UX • Mechanik, Elektronik • Endanwender • …
  • 33. 4 Minuten für Architekturentwurf eines dir bekannten Software-Systems • Systemidee, Nutzung und Systemkontext • Die wichtigsten Qualitätsziele und/oder Randbedingungen • Dokumentiere mit Hilfe von Diagrammen, Tabellen, Listen 2 x 4 Minuten gegenseitige Präsentation Architektur-Vision in 12 Minuten
  • 34. Vision und wie geht‘s weiter?
  • 35. Vision und wie geht‘s weiter?
  • 36. Architektur-Wand Quelle: Stefan Toth – Vorgehensmuster für Softwarearchitektur
  • 38. Was ist eine Architektur-Kata?Architektur-Training
  • 39. 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. 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 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. 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 Architektur-Kata
  • 40. Architektur Kata – 1. Durchgang 50 Minuten für Architekturentwurf Beantworte die wichtigsten Architektur- und Design-Fragen Berücksichtige die wichtigsten Qualitätsziele und Randbedingungen Dokumentiere mit Hilfe von Diagrammen, Tabellen, Listen 2 x 15 Minuten Präsentation Architektur Kata – 2. Durchgang • 30 Minuten für Architektur-Vision  Systemidee und Systemkontext Was ist die Kernaufgabe des Systems? Wie wird das System genutzt? Wer nutzt das System? Über welche Schnittstellen zur Außenwelt verfügt das System?  Priorisierte Qualitätsziele  Einflussfaktoren und Risiken Architektur Kata – 3. Durchgang • 30 Minuten für Architekturentwurf  Lösungsstrategien passend zu den Qualitätszielen  Bausteinsicht mit geschachtelten Abstraktionsebenen  Weitere relevante Sichten • 2 x 15 Minuten Präsentation Architektur-Kata – 4. Durchgang Neue Anforderungen • 45 Minuten für Architekturanpassung  Anpassung der Qualitätsziele  Anpassung der Lösungsstrategien  Aktualisierung der Sichten • 2 x 15 Minuten Präsentation
  • 43.
  • 45. • die Umsetzung von Anforderungen in eine geeignete 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 somit die Erarbeitung einer Architektur-Vision Architektur-Kata trainiert
  • 46. • Roock, Pichler: Die Architekturvision in Scrum www.sigs- datacom.de/fileadmin/user_upload/zeitschriften/os/2011/04/pichler_roock_OS_04_11.pdf • Gernot Starke: Effektive Software-Architekturen - Ein praktischer Leitfaden, Hanser 2011 • Template für Architekturdokumentation http://www.arc42.de/template/struktur.html • Stefan Toth: Vorgehensmuster für Softwarearchitektur, Hanser 2014 • Ted Newards Technical Blog: Architectural Katas blogs.tedneward.com/2010/06/17/Architectural+Katas.aspx Gemälde von Lisa und Theresa Quellen
  • 47. Roland Mast, Sybit GmbH Software-Architekt, Scrum Master roland.mast@sybit.de