Architekturarbeit in Scrum-Teams - In kleinen Schritten zum großen Ganzen Frankfurt, den 03.03.2021 Andreas Reuß
←
→
Transkription von Seiteninhalten
Wenn Ihr Browser die Seite nicht korrekt rendert, bitte, lesen Sie den Inhalt der Seite unten
Experts in agile software engineering Architekturarbeit in Scrum-Teams In kleinen Schritten zum großen Ganzen Frankfurt, den 03.03.2021 Andreas Reuß Thorben Hehmann andreas.reuss@andrena.de thorben.hehmann@andrena.de © 2021 andrena objects ag
2020 Jeff Sutherland & Ken Schwaber Stefan Toth https://www.scrumguides.org/ https://www.swamuster.de/ © 2021 andrena objects ag
Architektur im Scrum Guide? Architektur wird nicht (mehr) explizit erwähnt Scrum Team ist • cross functional • Selbstorganisiert • Verantwortet alle produktbezogenen Aktivitäten Architektur ist Teamaufgabe © 2021 andrena objects ag Scrum Guide, S. 5
Wie viel Architektur braucht/verträgt man? Architektur Komplexität Entscheidungen Fachlich Prinzipien Technisch Dokumentation Organisatorisch Starre Chaos © 2021 andrena objects ag Orientiert sich grob an VS, S. 15f
Architekturentwurf vor der Implementierung? Scrum hat • Kein „Sprint 0“ • Keine Architektur vorab • Softwareinkrement jeden Sprint • Als Ziel Flexibilität Architektur erhält die Änderbarkeit © 2021 andrena objects ag
Scrum angewandt auf Softwarearchitektur • Identifiziere Architekturbedarf • Funktionale Anforderungen • Nichtfunktionale Anforderungen • Qualitätsanforderungen • Schaffe Transparenz • Über Anforderungen • Über Erfüllung • Hole Feedback ein • Automatisiert • Von Stakeholdern © 2021 andrena objects ag
Woher kommen die Anforderungen? • Von Stakeholdern • Kunden • Betrieb • Marketing • Entwickler • Aus dem Refinement • Aus manuellen/explorativen Tests © 2021 andrena objects ag
Refinement • Backlog Items • Präzisieren • Schätzen • Ordnen • Freiheit bei wann und wie • Items für den nächsten Sprint müssen refined sein = Können im nächsten Sprint erledigt werden („done“) ➢Dies umfasst auch die mindestens nötige Architekturarbeit © 2021 andrena objects ag
Wer ist verantwortlich für Qualitätsanforderungen? Funktionale Product Owner Anforderungen Nichtfunktionale Product Owner Anforderungen Inhalte des Product Owner Product Backlog Priorisierung des Product Owner Product Backlog © 2021 andrena objects ag
Vorgehen Wer ist Architekt? Iterative Architektur Methodik unabhängig Nur so viel Antizipativer Architektur ist wie nötig Blick kein Selbstzweck © 2021 andrena objects ag
Wie erkennt man, welche Themen Architektur brauchen? ☑Ist die Entscheidung später nur schwer zu ändern? ☑Ist die Umsetzung der Entscheidung eher teuer? ☑Werden sehr hohe, qualitative Anforderungen gestellt? ☑Lassen sich Anforderungen nur schwer in Bestehendes abbilden? ☑Ist die eigene Erfahrung im Lösungsspektrum schwach? • Vertraut eurer Intuition! • Seid neugierig, kritisch und hartnäckig! © 2021 andrena objects ag VS, S. 73
Beispiel Kapselung von Frameworks: Dependency Injection Kapselung in Angular • Komponenten kümmern sich nur um Nutzerinteraktion • Datenverarbeitung in normalem TypeScript Code • Injizierbare Services bilden Verknüpfung Kapselung in Java • In vielen Projekten Spring als Lösung • Einfachere Austauschbarkeit • Höhere Komplexität und Verwaltungsaufwand © 2021 andrena objects ag
Zusammenarbeit PO und Entwickler PO entscheidet über das „Was“ Entwickler entscheidet über das „Wie“ Code Qualität (interne Qualität) • Entscheiden die Entwickler Verhalten des Produkts (externe Qualität) • Entscheidet PO mit Unterstützung der Entwickler © 2021 andrena objects ag
Hilfeleistungen der Entwickler für den PO Ermöglichen fachliche Bewertung qualitativer Anforderungen • Nutzen von Architekturentscheidung für das Produkt • Erläutere Alternativen • Einschätzen der nötigen Aufwände • Zielkonflikte zwischen konkurrierenden Qualitäten aufzeigen ➢ Ermöglichen dem PO dadurch informiert zu priorisieren © 2021 andrena objects ag
Architekturentscheidung im Agilen Prozess Überlastete Event-Queue Automatisierter e2e-Test Entwickler wollen für Wertpapierkauf Queue austauschen Backlog Item mit Schätzung Hoher Aufwand = Kosten © 2021 andrena objects ag
Szenarien als Hilfsmittel der fachlichen Bewertung Quelle „Ein Nutzer Stimulus kauft ein Wertpapier. Gegenstand, Artefakt In der Depotübersicht Umgebung seines Accounts Antwort sieht er alle von ihm gekauften Wertpapiere Antwortmaß nach weniger als 200 ms.“ Geschwindigkeit, Vollständigkeit © 2021 andrena objects ag „Szenarien als Architekturanforderungen“, VS, S. 43ff
Abstrakte Nachrichten • Interfaces liegen in unabhängigen Paketen Publisher Message Consumer send(Message) type receiveMessages() id body • Implementierungen in weiteren Paketen Consumer 1 Publisher Nachrichtenkanal Queue Consumer 2 Consumer 3 kennt Message, implementiert Message, kennt Message, Publisher Publisher, Consumer Consumer © 2021 andrena objects ag
Wer entscheidet, wie die Umsetzung aussieht? Entwickler PO • Implementierung • Verantwortet die Qualität des Produkts des Produkts • (Architektur-) • Enabler für Qualitäts- Entscheidungen maßnahmen Anpassbarkeit > Perfektion © 2021 andrena objects ag
Transparenz schaffen © 2021 andrena objects ag
Transparenz in Scrum Product Backlog Sprint Backlog Sprint Review mit einem done Inkrement ➢ Definition of Done © 2021 andrena objects ag
Definition of Done Formale Beschreibung der notwendigen Qualitätsmaßnahmen Transparenz durch geteiltes Verständnis über verrichtete Arbeit Arbeit trägt erst zum Inkrement bei, wenn sie die DoD erfüllt • done = auslieferbar © 2021 andrena objects ag Scrum Guide, S. 12
Definition of Done als Architekturwerkzeug Sollte Folgendes exponieren: • Wichtigste Regeln für interne Qualität • Wichtigste Ansprüche an externe Qualitäten • Wichtigste Architekturleitlinien Gefahren Zu umfangreich > Wächst stetig > Schwer handhabbar > Wenig beachtet ➢ Das Wichtigste an der DoD ist, dass sie eingehalten wird © 2021 andrena objects ag
Automatisierte Builds und CI/CD Gebautes Produkt steht Stakeholdern zur Verfügung Automatisiere Tests und Dokumentation zur Einhaltung der DoD © 2021 andrena objects ag
Dokumentation Was soll ich wie dokumentieren? Und wie viel? ➢ Welche Anforderungen stellen Regulatoren? ➢ Was bezweckt die Dokumentation? © 2021 andrena objects ag
Feedback Einholen © 2021 andrena objects ag
Sprint Review mit „done“ Inkrement Review ist ein Arbeitstreffen, kein Statusreport Ziele/Zielkonflikte transparent machen Fokus auf Wert im nächsten Sprint © 2021 andrena objects ag Scrum Guide, S. 9
Automatisierte Tests im automatisierten Build • Wert eines Features • Versuche Qualitäten zu quantifizieren • Automatisierte Tests sichern Qualitäten • Tests demonstrieren erreichen der geforderten Qualitäten • Tests sollten Teil der automatisierten Build-Pipeline sein ➢ Architekturthemen nicht (nur) im Code © 2021 andrena objects ag
Coding Guidelines im automatisierten Build prüfen • Entwickler definieren (und reviewen) • Wichtige Metriken • Namenskonventionen • Bevorzugte Designpatterns • Automatisiere alle Prüfungen, bei denen das möglich ist • Automatisiere so früh wie möglich • Maximiert den Nutzen der Automatisierung • Coding Guidelines werden automatisch im Build geprüft © 2021 andrena objects ag
Komplexes Umfeld Großes Produkt Viele Teams © 2021 andrena objects ag
Skaliert Scrum? SG von 2017: Tausende von Leuten Als Klammer • Ein gemeinsamer Product Owner • Definition of Done © 2021 andrena objects ag Scrum Guide, S. 12
DoD für mehrere Teams Teams definieren sich gegenseitig die DoD Alle Teams halten sich daran Organisation schreibt DoD vor ➢ Mindeststandard für alle Teams © 2021 andrena objects ag
(Organisatorische) Flexibilität The Scrum Team inspects how the last Sprint went with regards to individuals, interactions, processes, tools, and their Definition of Done. Sprint Retrospektive als Motor der Verbesserung ➢ Chaos und Ordnung halten sich die Waage ➢ Gleichgewicht muss immer wieder neu hergestellt werden © 2021 andrena objects ag Scrum Guide, S. 10
Mehr Teams Mehr Chaos Jedes Team bringt noch mehr ungeplante Überraschungen Skalieren mit Maß • Manchmal liefern weniger Teams mehr Output • Nicht zu schnell skalieren Überblick behalten • 1 integriertes Produkt mit genau 1 PO © 2021 andrena objects ag
Zusammenfassung © 2021 andrena objects ag
Wir haben darüber geredet… ✓ … wie Architekturarbeit in Scrum konkret adressiert werden kann ✓ … wo die Verantwortung liegt ✓ … dass die nötige Architekturarbeit zum „done“ Inkrement gehört © 2021 andrena objects ag
Vielen Dank für eure Aufmerksamkeit! Thorben Hehmann Andreas Reuß thorben.hehmann@andrena.de andres.reuss@andrena.de © 2021 andrena objects ag
Sie können auch lesen