Evolutionäre Softwarearchitektur
05.09.2024 , Raum B

Die Teilnehmenden lernen an Fallbeispielen das Erstellen von Softwarearchitekturen in vielen kleinen evolutionären Schritten – statt mittels Big-Design-Up-Front.
In der Übung werden einzelne Architekuraspekte wie Datenspeicherung, Skalierung, Kommunikation betrachtet und jeweils potenzielle Evolutionswege erarbeitet.
Ziel ist eine Architektur, welche sich ständig an die aktuellen Bedürfnisse (mehr Benutzer, Wachstum der Codebasis, zusätzlich Anforderungen bezüglich Internationalisierung, Archivierung, etc.) anpassen kann.


Heutige Softwaresysteme sind ständigen Änderungen unterworfen: neue oder obsolete Anforderungen, Technologieänderungen, Benutzerwachstum, Datenwachstum und vieles mehr.
Somit muss sich die Software und mit ihr die Architektur ständig anpassen.

Dieser Workshop zeigt zuerst das grundlegende Vorgehen bezüglich Evolution einer Softwarearchitektur. Anschliessend üben die Teilnehmenden dieses Vorgehen an drei bis vier Architekturaspekten aus total 23 (Datenspeicherung, Skalierung, Internationalisierung, Layering & Struktur, historische Daten, Antwortzeiten usw.). In mehreren Runden besprechen wir die aktuellen Lösungen und besprechen Wege zur Verbesserung und den weiteren Evolutionsschritten. Zum Abschluss vertiefen wir das Gelernte durch einen Rückblick auf die wichtigsten Erkenntnisse der Teilnehmenden.

Die Teilnehmenden nehmen mit, wie eine Softwarearchitektur über die ganze Lebensdauer eines Softwaresystems passend zur aktuellen Situation und möglichst simpel in Schritten entworfen werden kann.

Die Übungen werden in Gruppen konzeptionell mit Papier, Stift und Flipchart ausgeführt.


Zielpublikum:

Softwarearchitekte und Entwickler mit Interesse an Softwarearchitektur

Kursziel:

Nach dem Workshop verstehen die Teilnehmenden die Vorteile des evolutionären Architekturentwurfs und können für verschiedene Architekuraspekte einen schrittweisen Architekurentwurf anwenden.

Die Teilnehmenden nehmen mit, wie eine Softwarearchitektur über die ganze Lebensdauer eines Softwaresystems passend zur aktuellen Situation und möglichst simpel entworfen werden kann.

Voraussetzungen:

Grundkenntnisse Softwarearchitektur
Kenntnisse Softwaredesign

Infrastruktur:

Es ist ein konzeptioneller Workshop. Die Übungen werden auf Papier und am Flipchart ausgeführt.

𝗭𝘂𝗿 𝗔𝗻𝗺𝗲𝗹𝗱𝘂𝗻𝗴: https://eventfrog.ch/de/p/kurse-seminare/computer-edv/evolutionaere-softwarearchitektur-7201143763921497094.html

Einleitung:

Heutige Softwaresysteme sind ständigen Änderungen unterworfen: neue oder obsolete Anforderungen, Technologieänderungen, Benutzerwachstum, Datenwachstum und vieles mehr.
Somit muss sich die Software und mit ihr die Architektur ständig anpassen.

Ich bin ein Software-Architekt und Software-Entwickler mit einem Fokus auf die .Net Plattform und Azure. Ich baue gerne Produkte mit einem kurzen und häufigen Feedback-Zyklus - einige würden das agil oder Continuous Delivery nennen. Neben der Arbeit am Zeiterfassungs-Produkt TimeRocket, bin ich ein Berater für Software-Architektur und technische Aspekte für Teamarbeit mittels Continuous Delivery wie evolvierbares Design, Test-Driven-Development und ähnlichem. Und ich bin der Co-Host der .Net Usergroup Zentralschweiz und blogge auf .