![Page 1: Befehl von unten: Softwarearchitektur für dynamische Projekte€¦ · SET@Jazoon, Eclipse.jar . iSAQB Board Mitglied . TOGAF 9 Certified (Level 2/2) AOGEA Mitglied . st_toth . Stefan](https://reader036.vdocuments.site/reader036/viewer/2022081611/5f076b2d7e708231d41ce362/html5/thumbnails/1.jpg)
Stefan Toth
Befehl von unten: Softwarearchitektur für dynamische Projekte
![Page 2: Befehl von unten: Softwarearchitektur für dynamische Projekte€¦ · SET@Jazoon, Eclipse.jar . iSAQB Board Mitglied . TOGAF 9 Certified (Level 2/2) AOGEA Mitglied . st_toth . Stefan](https://reader036.vdocuments.site/reader036/viewer/2022081611/5f076b2d7e708231d41ce362/html5/thumbnails/2.jpg)
[…] „Ob man diese Entwickler schließlich Architekten nennt oder nicht, bleibt dem Projekt überlassen und sollte für die tatsächliche Arbeit wenig Auswirkungen haben.“
[…]
„Generell ist die Diskussion um einen Architekten als Rolle aber überbewertet“
Ich, Objektspektrum, 2009
![Page 3: Befehl von unten: Softwarearchitektur für dynamische Projekte€¦ · SET@Jazoon, Eclipse.jar . iSAQB Board Mitglied . TOGAF 9 Certified (Level 2/2) AOGEA Mitglied . st_toth . Stefan](https://reader036.vdocuments.site/reader036/viewer/2022081611/5f076b2d7e708231d41ce362/html5/thumbnails/3.jpg)
Berater und Trainer bei oose in Hamburg
seit 06/2008
Artikel
Vorträge
Dies und das
u.a. in Java Magazin, ObjektSpektrum, BT-Magazin, dotnetpro, iX, HMD u.a. auf Jax, W-Jax, Seacon, OOP, SET@Jazoon, Eclipse.jar iSAQB Board Mitglied TOGAF 9 Certified (Level 2/2) AOGEA Mitglied
st_toth
Stefan Toth
![Page 4: Befehl von unten: Softwarearchitektur für dynamische Projekte€¦ · SET@Jazoon, Eclipse.jar . iSAQB Board Mitglied . TOGAF 9 Certified (Level 2/2) AOGEA Mitglied . st_toth . Stefan](https://reader036.vdocuments.site/reader036/viewer/2022081611/5f076b2d7e708231d41ce362/html5/thumbnails/4.jpg)
Agenda
Die klassische Architektenrolle Anforderungen an die Person
Problemverschärfung Entwicklungen und Trends, die es schwerer machen
Konkrete Modelle Alternativen zum klassischen Architekten
Ausblick Rollenwahl, Praktiken und Zusammenfassung
![Page 5: Befehl von unten: Softwarearchitektur für dynamische Projekte€¦ · SET@Jazoon, Eclipse.jar . iSAQB Board Mitglied . TOGAF 9 Certified (Level 2/2) AOGEA Mitglied . st_toth . Stefan](https://reader036.vdocuments.site/reader036/viewer/2022081611/5f076b2d7e708231d41ce362/html5/thumbnails/5.jpg)
definiert werden…
• Eigenschaften von Architekten
• Wissen das Architekten brauchen
• Aufgaben die Architekten wahrnehmen
Softwarearchitekten definiert
![Page 6: Befehl von unten: Softwarearchitektur für dynamische Projekte€¦ · SET@Jazoon, Eclipse.jar . iSAQB Board Mitglied . TOGAF 9 Certified (Level 2/2) AOGEA Mitglied . st_toth . Stefan](https://reader036.vdocuments.site/reader036/viewer/2022081611/5f076b2d7e708231d41ce362/html5/thumbnails/6.jpg)
Eigenschaften und Wissen
![Page 7: Befehl von unten: Softwarearchitektur für dynamische Projekte€¦ · SET@Jazoon, Eclipse.jar . iSAQB Board Mitglied . TOGAF 9 Certified (Level 2/2) AOGEA Mitglied . st_toth . Stefan](https://reader036.vdocuments.site/reader036/viewer/2022081611/5f076b2d7e708231d41ce362/html5/thumbnails/7.jpg)
und dann kommen die Aufgaben…
![Page 8: Befehl von unten: Softwarearchitektur für dynamische Projekte€¦ · SET@Jazoon, Eclipse.jar . iSAQB Board Mitglied . TOGAF 9 Certified (Level 2/2) AOGEA Mitglied . st_toth . Stefan](https://reader036.vdocuments.site/reader036/viewer/2022081611/5f076b2d7e708231d41ce362/html5/thumbnails/8.jpg)
Architekturinformationen und Kontext bei einem Architekten gekapselt andere Entwickler agieren mit Scheuklappen
Es gibt jemanden der explizit für Architekturfragen verantwortlich ist Entwickler können annehmen es ist nicht ihr Problem
Alles was Entwickler machen kann die Architektur beeinflussen Entwickler haben die Macht alles kaputt zu machen
→
→
→
Nicht nur ein praktisches Problem…
![Page 9: Befehl von unten: Softwarearchitektur für dynamische Projekte€¦ · SET@Jazoon, Eclipse.jar . iSAQB Board Mitglied . TOGAF 9 Certified (Level 2/2) AOGEA Mitglied . st_toth . Stefan](https://reader036.vdocuments.site/reader036/viewer/2022081611/5f076b2d7e708231d41ce362/html5/thumbnails/9.jpg)
Beschränkte Information (Kontext)
Kein Gewissen (jemand Anderes‘ Problem)
Macht alles kaputt zu machen
Immer eine schlechte Kombination…
![Page 10: Befehl von unten: Softwarearchitektur für dynamische Projekte€¦ · SET@Jazoon, Eclipse.jar . iSAQB Board Mitglied . TOGAF 9 Certified (Level 2/2) AOGEA Mitglied . st_toth . Stefan](https://reader036.vdocuments.site/reader036/viewer/2022081611/5f076b2d7e708231d41ce362/html5/thumbnails/10.jpg)
Agenda
Die klassische Architektenrolle Anforderungen an die Person
Problemverschärfung Entwicklungen und Trends, die es schwerer machen
Konkrete Modelle Alternativen zum klassischen Architekten
Ausblick Rollenwahl, Praktiken und Zusammenfassung
![Page 11: Befehl von unten: Softwarearchitektur für dynamische Projekte€¦ · SET@Jazoon, Eclipse.jar . iSAQB Board Mitglied . TOGAF 9 Certified (Level 2/2) AOGEA Mitglied . st_toth . Stefan](https://reader036.vdocuments.site/reader036/viewer/2022081611/5f076b2d7e708231d41ce362/html5/thumbnails/11.jpg)
Aufgabenvermischung
Analyst (RE)
Architekt Designer
Entwickler Build Engineer
Betrieb
Problem Lösung
Anforderungen: Stories/Tasks Build: Continuous Integration
Betrieb: Continuous Delivery, DevOps Architektur: ?
![Page 12: Befehl von unten: Softwarearchitektur für dynamische Projekte€¦ · SET@Jazoon, Eclipse.jar . iSAQB Board Mitglied . TOGAF 9 Certified (Level 2/2) AOGEA Mitglied . st_toth . Stefan](https://reader036.vdocuments.site/reader036/viewer/2022081611/5f076b2d7e708231d41ce362/html5/thumbnails/12.jpg)
Mehrere: • Programmiersprachen • Persistenztechnologien • Plattformen • unterstützte Geräte • UI-Ansätze • …
Polyglotte Programmierung
Breites Technologie-Know-How…
![Page 13: Befehl von unten: Softwarearchitektur für dynamische Projekte€¦ · SET@Jazoon, Eclipse.jar . iSAQB Board Mitglied . TOGAF 9 Certified (Level 2/2) AOGEA Mitglied . st_toth . Stefan](https://reader036.vdocuments.site/reader036/viewer/2022081611/5f076b2d7e708231d41ce362/html5/thumbnails/13.jpg)
VersionOne „State of Agile 2013“: 4048 Befragte IT-Mitarbeiter weltweit
Dynamik & Agilität
3% wollen agile Methoden künftig
NICHT einsetzen
![Page 14: Befehl von unten: Softwarearchitektur für dynamische Projekte€¦ · SET@Jazoon, Eclipse.jar . iSAQB Board Mitglied . TOGAF 9 Certified (Level 2/2) AOGEA Mitglied . st_toth . Stefan](https://reader036.vdocuments.site/reader036/viewer/2022081611/5f076b2d7e708231d41ce362/html5/thumbnails/14.jpg)
oose „Projektmanagementstudie“: 2009 – 240 Projekte in Deutschland
Was ändert sich dadurch?
Nach eigener
Einschätzung agil
Eigenschaften: • Teams < 12 • Iterationen • >1x lauffähig • Kundenkontakt
![Page 15: Befehl von unten: Softwarearchitektur für dynamische Projekte€¦ · SET@Jazoon, Eclipse.jar . iSAQB Board Mitglied . TOGAF 9 Certified (Level 2/2) AOGEA Mitglied . st_toth . Stefan](https://reader036.vdocuments.site/reader036/viewer/2022081611/5f076b2d7e708231d41ce362/html5/thumbnails/15.jpg)
• Erwartungen bezüglich Flexibilität • Weniger starre Projektaufstellung
evtl. Verteilung
• Höhere Transparenz • Verantwortungsstreuung
Was von „agil“ ankommt
neue Interpretation klassicher Rollenbilder… Entwickler bekommen mehr Möglichkeiten… (eigentlich cool)
![Page 16: Befehl von unten: Softwarearchitektur für dynamische Projekte€¦ · SET@Jazoon, Eclipse.jar . iSAQB Board Mitglied . TOGAF 9 Certified (Level 2/2) AOGEA Mitglied . st_toth . Stefan](https://reader036.vdocuments.site/reader036/viewer/2022081611/5f076b2d7e708231d41ce362/html5/thumbnails/16.jpg)
Agenda
Die klassische Architektenrolle Anforderungen an die Person
Problemverschärfung Entwicklungen und Trends, die es schwerer machen
Konkrete Modelle Alternativen zum klassischen Architekten
Ausblick Rollenwahl, Praktiken und Zusammenfassung
![Page 17: Befehl von unten: Softwarearchitektur für dynamische Projekte€¦ · SET@Jazoon, Eclipse.jar . iSAQB Board Mitglied . TOGAF 9 Certified (Level 2/2) AOGEA Mitglied . st_toth . Stefan](https://reader036.vdocuments.site/reader036/viewer/2022081611/5f076b2d7e708231d41ce362/html5/thumbnails/17.jpg)
Verteilung von
Aufgaben, (Wissen und Fähigkeiten)
Die Alternativen
![Page 18: Befehl von unten: Softwarearchitektur für dynamische Projekte€¦ · SET@Jazoon, Eclipse.jar . iSAQB Board Mitglied . TOGAF 9 Certified (Level 2/2) AOGEA Mitglied . st_toth . Stefan](https://reader036.vdocuments.site/reader036/viewer/2022081611/5f076b2d7e708231d41ce362/html5/thumbnails/18.jpg)
Projektbeispiel 1
Größe: 26 Entwickler Teams: 3 Thema: Datenanalyse und -auswertung Art: Produktentwicklung Vorgehen: Scrum, 2-Wochen-Iterationen
Architekten-Ansatz: unterstützender Architekt (Architecture Owner) 2 „Architekten“ wechseln alle 2 Monate das Team (Springer)
![Page 19: Befehl von unten: Softwarearchitektur für dynamische Projekte€¦ · SET@Jazoon, Eclipse.jar . iSAQB Board Mitglied . TOGAF 9 Certified (Level 2/2) AOGEA Mitglied . st_toth . Stefan](https://reader036.vdocuments.site/reader036/viewer/2022081611/5f076b2d7e708231d41ce362/html5/thumbnails/19.jpg)
Architecture Owner
![Page 20: Befehl von unten: Softwarearchitektur für dynamische Projekte€¦ · SET@Jazoon, Eclipse.jar . iSAQB Board Mitglied . TOGAF 9 Certified (Level 2/2) AOGEA Mitglied . st_toth . Stefan](https://reader036.vdocuments.site/reader036/viewer/2022081611/5f076b2d7e708231d41ce362/html5/thumbnails/20.jpg)
Architekturentscheidungen
Werden gemeinsam getroffen:
1. Problem/Potential wird erkannt und zu AO getragen
2. Entscheidung wird vorbereitet (AO unterstützt) 3. Im Daily Scrum: Entscheidungsbedarf anmelden 4. Interessierte kommen zusammen: Vorstellung von Problem, vorgeschlagene Lösung und Alternativen. Abstimmung (Veto-Abfrage) 5. Umsetzung (AO unterstützt) 6. Jede zweite Iteration: Workshop mit Reflexion
![Page 21: Befehl von unten: Softwarearchitektur für dynamische Projekte€¦ · SET@Jazoon, Eclipse.jar . iSAQB Board Mitglied . TOGAF 9 Certified (Level 2/2) AOGEA Mitglied . st_toth . Stefan](https://reader036.vdocuments.site/reader036/viewer/2022081611/5f076b2d7e708231d41ce362/html5/thumbnails/21.jpg)
Projektbeispiel 2
Größe: 52 Entwickler Teams: 6 Thema: Logistikanwendung Art: Projekt, Laufzeit ca. 3 Jahre Vorgehen: Iterativ, 6-Wochen-Iterationen
Architekten-Ansatz: Architekturagenten 9 Architekten mit unterschiedlichen Aufgabengebieten
![Page 22: Befehl von unten: Softwarearchitektur für dynamische Projekte€¦ · SET@Jazoon, Eclipse.jar . iSAQB Board Mitglied . TOGAF 9 Certified (Level 2/2) AOGEA Mitglied . st_toth . Stefan](https://reader036.vdocuments.site/reader036/viewer/2022081611/5f076b2d7e708231d41ce362/html5/thumbnails/22.jpg)
Einzelne Verwantwortlichkeiten für
Architektur werden verteilt Etwa nach Schichten: UI-, Service-,
Backend-, Integrations-Architekten
Oder nach qualitativen Aspekten: Sicherheits-, Performance-, Skalierbarkeits-, Wartbarkeits-Marshalls
Architekturagenten
![Page 23: Befehl von unten: Softwarearchitektur für dynamische Projekte€¦ · SET@Jazoon, Eclipse.jar . iSAQB Board Mitglied . TOGAF 9 Certified (Level 2/2) AOGEA Mitglied . st_toth . Stefan](https://reader036.vdocuments.site/reader036/viewer/2022081611/5f076b2d7e708231d41ce362/html5/thumbnails/23.jpg)
Architekturentscheidungen
Werden von Agenten getroffen: Teammitglieder haben ihre Rollenbezeichnungen behalten, können aber alle programmieren
Es gibt 9 „Architekten“ (Tiger-Team) mit Aufgabengebieten:
Die Agenten haben ein Auge auf „ihren“ Themenbereich
Übergreifende Jour-Fixes jede Woche (2 Stunden)
• Backend & Archivierung • Desktop-UI • Mobile
• Sicherheit • 4 Geschäftskomponenten
![Page 24: Befehl von unten: Softwarearchitektur für dynamische Projekte€¦ · SET@Jazoon, Eclipse.jar . iSAQB Board Mitglied . TOGAF 9 Certified (Level 2/2) AOGEA Mitglied . st_toth . Stefan](https://reader036.vdocuments.site/reader036/viewer/2022081611/5f076b2d7e708231d41ce362/html5/thumbnails/24.jpg)
Projektbeispiel 3
Größe: 25 Entwickler Teams: 2-4 Teams Thema: Online-Community Art: Projekte, Laufzeiten 1-2 Jahre Vorgehen: Scrum,
Architekten-Ansatz: kein benannter Architekt Teams werden aus Entwicklerpool zusammengestellt
![Page 25: Befehl von unten: Softwarearchitektur für dynamische Projekte€¦ · SET@Jazoon, Eclipse.jar . iSAQB Board Mitglied . TOGAF 9 Certified (Level 2/2) AOGEA Mitglied . st_toth . Stefan](https://reader036.vdocuments.site/reader036/viewer/2022081611/5f076b2d7e708231d41ce362/html5/thumbnails/25.jpg)
Teams können Anforderungen umsetzen und ausliefern (Analyse, Design, Entwicklung, Test, Deployment, …)
Es kann nicht jedes Teammitglied alles
Alle Teammitglieder entwickeln (es gibt keine „falschen“ Entwickler)
Zusätzliche Spezialfähigkeiten sind wünschenswert
Kein benannter Architekt
![Page 26: Befehl von unten: Softwarearchitektur für dynamische Projekte€¦ · SET@Jazoon, Eclipse.jar . iSAQB Board Mitglied . TOGAF 9 Certified (Level 2/2) AOGEA Mitglied . st_toth . Stefan](https://reader036.vdocuments.site/reader036/viewer/2022081611/5f076b2d7e708231d41ce362/html5/thumbnails/26.jpg)
Architekturentscheidungen
Werden gemeinsam getroffen:
1. Architektonische Fragestellungen werden transparent gemacht: Qualitätsszenarien und technische Schulden 2. Priorisierung (Dringlichkeit) 3. „Pull“ durch Entwickler 4. Bewertungsworkshops jeden Freitag (60 Minuten)
Bei Problemen: Ad-hoc Workshops und interne Hackathons
![Page 27: Befehl von unten: Softwarearchitektur für dynamische Projekte€¦ · SET@Jazoon, Eclipse.jar . iSAQB Board Mitglied . TOGAF 9 Certified (Level 2/2) AOGEA Mitglied . st_toth . Stefan](https://reader036.vdocuments.site/reader036/viewer/2022081611/5f076b2d7e708231d41ce362/html5/thumbnails/27.jpg)
Vermeidung des „Not-Invented-Here-Syndrom“
Breiteres Kontextwissen, garantierter Praxisbezug
Nutzung der Fähigkeiten / Übersicht der Gruppe
Vermeidung vom „Flaschenhals Architekt“
Unklare Zuständigkeiten
Hoher Kommunikationsdruck (Konsitenz und Integrität)
Kein benannter Architekt +/-
![Page 28: Befehl von unten: Softwarearchitektur für dynamische Projekte€¦ · SET@Jazoon, Eclipse.jar . iSAQB Board Mitglied . TOGAF 9 Certified (Level 2/2) AOGEA Mitglied . st_toth . Stefan](https://reader036.vdocuments.site/reader036/viewer/2022081611/5f076b2d7e708231d41ce362/html5/thumbnails/28.jpg)
Agenda
Die klassische Architektenrolle Anforderungen an die Person
Problemverschärfung Entwicklungen und Trends, die es schwerer machen
Konkrete Modelle Alternativen zum klassischen Architekten
Ausblick Rollenwahl, Praktiken und Zusammenfassung
![Page 29: Befehl von unten: Softwarearchitektur für dynamische Projekte€¦ · SET@Jazoon, Eclipse.jar . iSAQB Board Mitglied . TOGAF 9 Certified (Level 2/2) AOGEA Mitglied . st_toth . Stefan](https://reader036.vdocuments.site/reader036/viewer/2022081611/5f076b2d7e708231d41ce362/html5/thumbnails/29.jpg)
Die „richtige“ Rollenwahl
![Page 30: Befehl von unten: Softwarearchitektur für dynamische Projekte€¦ · SET@Jazoon, Eclipse.jar . iSAQB Board Mitglied . TOGAF 9 Certified (Level 2/2) AOGEA Mitglied . st_toth . Stefan](https://reader036.vdocuments.site/reader036/viewer/2022081611/5f076b2d7e708231d41ce362/html5/thumbnails/30.jpg)
Informativer Arbeitsplatz Gemeinsame Entscheidung Wiederholte Reflexion Architekturcommunities
Architekturarbeit im Backlog Architekturprinzipien Ad-hoc Architekturtreffen Qualitative, automatisierte Tests
Konkrete Praktiken für Zusammenarbeit und Fokussierung
![Page 31: Befehl von unten: Softwarearchitektur für dynamische Projekte€¦ · SET@Jazoon, Eclipse.jar . iSAQB Board Mitglied . TOGAF 9 Certified (Level 2/2) AOGEA Mitglied . st_toth . Stefan](https://reader036.vdocuments.site/reader036/viewer/2022081611/5f076b2d7e708231d41ce362/html5/thumbnails/31.jpg)
Kombinierbare Praktiken in Zeiten von Agile und Lean Autor: Stefan Toth Umfang: 240 Seiten Verlag: Carl Hanser Verlag Sprache: Deutsch ISBN-10: 3446436154 Datum: erscheint am 07. November 2013
Vorgehensmuster für Softwarearchitektur…
swamuster.de
![Page 32: Befehl von unten: Softwarearchitektur für dynamische Projekte€¦ · SET@Jazoon, Eclipse.jar . iSAQB Board Mitglied . TOGAF 9 Certified (Level 2/2) AOGEA Mitglied . st_toth . Stefan](https://reader036.vdocuments.site/reader036/viewer/2022081611/5f076b2d7e708231d41ce362/html5/thumbnails/32.jpg)
28
29 Praktiken…
swamuster.de
![Page 33: Befehl von unten: Softwarearchitektur für dynamische Projekte€¦ · SET@Jazoon, Eclipse.jar . iSAQB Board Mitglied . TOGAF 9 Certified (Level 2/2) AOGEA Mitglied . st_toth . Stefan](https://reader036.vdocuments.site/reader036/viewer/2022081611/5f076b2d7e708231d41ce362/html5/thumbnails/33.jpg)
Wir können (und sollten) uns nicht auf klassische Architekten verlassen
Es braucht Wege rasch zu reagieren und zu entscheiden
Softwarearchitektur wird zum Basisskill für Entwickler
Architekturpraktiken ersetzen die Rolle des
klassischen Architekten
Die Wahl des konkreten Rollenmodells hängt vom Projekt ab (Architektenfaktoren)
26
tl;dr