Konferenzprogramm
Denken, dann machen: konzeptzentrierte Architekturarbeit und agiles Vorgehen kombinieren
„Komm, wir analysieren das jetzt nicht tot, lass uns loslegen.“ Kennt ihr das? Warum die Zurückhaltung, in gute Architekturkonzepte zu investieren? Das Ergebnis wird so oft teurer und schlechter als nötig.
Wir plädieren dafür, Architekturarbeit konzeptzentriert zu machen und als kontinuierliche Aktivität mit agiler Entwicklung zu verzahnen. Anhand vieler Beispiele zeigen wir, wie man Konzepte strukturiert gestaltet und mit agilen Vorgehen kombiniert. Denn wer an Konzepten arbeitet, denkt über das nach, was im System wirklich wichtig ist.
Zielpublikum: Architekt:innen, Entwickler:innen, Product Owner
Voraussetzungen:keine
Level: Introductory
Extended Abstract:
„Komm, wir analysieren das jetzt nicht tot, lass uns loslegen.“ „Wir können das später ja noch mal anders machen.“ Kennt ihr das? Woher kommt eigentlich die Zurückhaltung bei agiler Entwicklung, Zeit in die Gestaltung gut durchdachter Architekturkonzepte zu investieren? Wir machen immer wieder die Erfahrung, dass grundsätzlich gute Ideen der agilen Softwareentwicklung umgedeutet werden, um so den Unwillen für Konzeption zu rechtfertigen.
Aber agile Entwicklung heißt nicht, dass man nicht so genau über die Lösung nachdenken sollte. YAGNI sagt uns nicht, Dinge zu ignorieren, die wir bereits wissen. Und Fokus auf Refactoring bedeutet auch nicht, dass man alle zentralen Architekturentscheidungen ganz leicht wieder ändern kann.
In der Folge wird, wenn es gut läuft, etwas Architekturarbeit im Sprint 0 gemacht, die Systemstruktur rudimentär definiert und etwas über Deployment nachgedacht. Die große Menge an zentralen Konzepten aber wird nicht weit genug ausgearbeitet und zentrale Entscheidungen werden ad hoc beim Programmieren getroffen.
Wir finden das schade, denn das macht die Entwicklung oft teurer und das Ergebnis schlechter als es sein müsste. Dabei können agile Entwicklung und Architekturarbeit extrem gut Hand-in-Hand gehen.
In unserem Vortrag plädieren wir dafür, Architekturarbeit konzeptzentriert zu machen und als kontinuierliche Aktivität mit agiler Entwicklung zu verknüpfen. Denn wer an Konzepten arbeitet, denkt automatisch über das nach, was im System wirklich wichtig ist – fachlich wie technisch. Gut gestaltete Architekturkonzepte bilden starke inhaltliche Klammern und fördern so die Kohärenz von Lösungsansätzen. Zusätzlich sorgen sie dafür, dass wiederkehrende Herausforderungen innerhalb eines Systems immer auf einheitliche Art gelöst werden.
Wir beleuchten Architekturkonzepte im Detail und erläutern mit vielen Beispielen, was für uns ein gutes Architekturkonzept ausmacht, welche Arten von Konzepten es gibt und wie sich Konzepte strukturiert gestalten, dokumentieren und beispielsweise in Templates wie arc42 integrieren lassen. Basierend darauf zeigen wir, wie wir in unseren Projekten die Erarbeitung von Architekturkonzepten mit agilen Vorgehen kombinieren. So bauen wir Systeme, die besser gestaltet sind und länger leben können.
Softwarearchitekt und Co-Founder
Dominik Rost ist Softwarearchitekt und Co-Founder von Full Flamingo. Besonders gerne kümmert er sich um die Dokumentation von Softwarearchitekturen, Architektur-Reviews und die Modernisierung von Legacy-Systemen.
Software-Architekt und Co-Founder
Matthias Naab ist Softwarearchitekt und Co-Founder von Full Flamingo. Er hilft Unternehmen pragmatisch, die wichtigen Entscheidungen in der Softwareentwicklung mit Blick aufs Big Picture abzusichern.
Vortrag Teilen