Die Gastgebenden Stefan Toth, Nicole Rauch und Lars Röwekamp eröffnen die Konferenz und stellen die Sprechenden des ersten Konferenztages vor.
If you are a developer you are probably working on a large and complicated codebase. Unfortunately a lot of existing code lacks automated tests and adding them can be challenging, particularly if the code is old or poorly structured. Testability has always been an aspect of architecture that people have said is important but perhaps doesn’t get the attention it deserves.
In order to get a legacy code situation under control, often there’s an initiative to improve the unit tests. This can be…
Legacy-Software - dabei erschaudern auch erfahrene Techniker:innen. Aber Legacy heißt eigentlich so viel wie "Erbe" und ist nur in der IT rein negativ besetzt. Und Legacy-Software löst praktisch immer ein Business-Problem erfolgreich, während eine Neuentwicklung ihre Nische erst finden muss.
Der Vortrag zeigt, wie man diese und andere Erkenntnisse nutzen kann, um Strategien zu entwickeln, mit denen man produktiver und erfolgreicher mit Legacy-Software umgehen kann. Und so wird aus dem Problem…
Der Traum von den unendlichen Weiten der Daten ist schnell ausgeträumt, wenn wir unsere APIs nicht im Griff haben. Dabei ist es egal, ob wir uns APIs zwischen unseren Services, zwischen Frontend und Backend oder zu Fremdsystemen anschauen - APIs sind ein fundamentaler Bestandteil unserer Softwarearchitektur und ohne Testautomatisierung geht gar nichts.
Schlecht geschriebene Integrationstests mit selbst erfundenen Testfällen für unsere APIs können richtig nerven: Wir rufen die APIs auf und…
Single-Page-Applikationen haben euphorische Fans und leidenschaftliche Kritiker:innen. Während erstere überzeugt davon sind, ganze Anwendungen vollständig in JavaScript zu entwickeln und im Browser auszuführen, bemängeln letztere dadurch schlechte Performance und fordern die Rückbesinnung auf klassisch serverseitig gerenderte Anwendungen.
Mit "Fullstack-Frameworks" wie Next.js soll beiden Seiten Rechnung getragen werden. Hier wird die Anwendung zwar in JavaScript entwickelt, aber ganz oder in…
“Lasst uns in die Cloud gehen und Team Topologies mit unFIX anreichern, um unsere Organisation agiler und fit für die Zukunft zu machen!” Was zuerst nach einer Ansammlung von Buzzwords klingt, wirft auf den zweiten Blick eine Reihe interessanter Fragestellungen auf: Was ist die Rolle von Plattformteams in der Private oder Public Cloud? Wie verankern wir den Gedanken von DevOps? Macht es einen organisatorischen Unterschied, ob wir “Cloud-native” sind oder nicht?
In diesem Vortrag nehmen wir euch…
Für die Ablösung von Legacy-Anwendungen existieren verschiedene Strategien, und eine komplette Neuimplementierung "auf der grünen Wiese" ist nicht immer ratsam. Der Vortrag wird die 5R-Strategien (Retire, Replace, Rehost, Retain, Reengineer) zur Legacy-Migration vorstellen und mit ihren Vor- und Nachteilen vergleichen.
Eine Strategie allein wird den Herausforderungen selten gerecht und es werden konkrete Taktiken und Muster für ein erfolgreiches Migrationsprojekt benötigt. Das kann die Nutzung…
Über einen längeren Zeitraum APIs sicher anzubieten ist eine nicht zu unterschätzende Herausforderung. Neue APIs kommen hinzu und bestehende werden erweitert. Manuelle Prozesse für die Absicherung und das Ausrollen sind zeitaufwendig und fehleranfällig.
Eine Automatisierung trägt nicht unerheblich zur Sicherheit bei. Beim Entwurf und Testen sollte die Sicherheit bereits berücksichtigt werden. Beispielsweise kann eine OpenAPI-Beschreibung im Betrieb zur Validierung von Anfragen verwendet werden,…
In unserer täglichen Arbeit berücksichtigen wir als Architekt:innen zahlreiche Einflussfaktoren wie fachliche Anforderungen, Rahmenbedingungen und Qualitätskriterien. Allerdings gibt es noch eine weitere spannende Facette, die uns dabei helfen kann, bessere architektonische Entscheidungen zu treffen: das Geschäftsmodell der Anwendung oder des Bereichs, in dem unsere Anwendungen eingesetzt werden.
Der Vortrag liefert zuerst eine Motivation für das Thema sowie Tipps und Methoden, wie man das…
Moderne Softwaresysteme müssen widerstandsfähig, skalierbar und anpassungsfähig sein. Genau dies möchten evolutionäre Architekturprinzipien erreichen. Architekturarbeit betrifft jeden im Team und die beste architektonische Idee soll sich in der Software durchsetzen.
In diesem Vortrag zeige ich, wie Fitness Functions, Qualitätsziele und der richtige Einsatz von Metriken verwendet werden können, um die Architekturarbeiten mit dem agilen Entwicklungsprozess des Teams zu verknüpfen und so eine…
Maximale Teilnehmerzahl: 16. Benötigt wird ein Laptop.
Die Digitalisierung zwingt die Unternehmen zu einem digitalen Datenaustausch mit Partnern der Ökosysteme, in denen sie eingebunden sind. Gleichzeitig steigen die Anforderungen an Sicherheit, Überprüfbarkeit und Nutzungskontrolle. Benötigt wird eine technologische Unterstützung, die diese Anforderungen berücksichtigen.
Der Workshop stellt Architekturen und Anwendungsszenarien für den Einsatz von verteilten Datenanalysen in diesem Kontext vor…
Bitte bringen Sie Ihr eigenes Notebook mit. Idealerweise haben Sie bereits NodeJS in einer aktuellen Version installiert: 16, 18 oder 20.
Gefühlt stand das Akronym WWW lange Zeit eher für Wild Wild West statt World Wide Web. Architekturmuster und klare Software-Design-Prinzipien waren oft eher die Ausnahme als die Regel. Erst mit der letzten großen Framework-Welle dieses Jahrzehnts und dem Siegeszug von SPAs begann ein längst notwendiges Umdenken.
Neuere Technologien führen aber nicht…
Künstliche Intelligenz ist auf dem Vormarsch, ohne Zweifel. Egal ob Qualitätssicherung oder in der Produktion, Retourenmanagement im Online-Handel oder Customer-Support via Chatbot - KI eröffnet bisher noch nicht dagewesene Möglichkeiten, die eigenen Prozesse und Geschäftsmodelle deutlich zu verbessern. Vorausgesetzt man verfügt über hinreichend viele und qualifizierte Daten. Aber wie lässt sich KI in die eigene Software-Architektur integrieren? Wer befindet über das richtige Modell und den…
Entwickelt Ihr überwältigende Software oder überwältigt Euch Eure Software? Zu große Kontexte, zu komplexe Bausteine und zu viele Abhängigkeiten zwischen Komponenten und Teams erhöhen die kognitive Belastung und verringern unser Potenzial zur Wertschöpfung.
In diesem Vortrag meistern wir den Spagat zwischen Wissenschaft und Praxis: was ist kognitive Belastung, was macht sie mit uns und welche Strategien helfen, sie zu verringern? Mit Hilfe von Team Topologies zeigen wir Ansätze auf, wie…
Dokumentation wird häufig vernachlässigt. Mit dem Docs-as-Code-Ansatz wird in Softwareprojekten relevante Dokumentation wie Quellcode behandelt, im VCS abgelegt, mit Entwicklerwerkzeugen (IDE/Texteditor, Build-Tools, CI/CD-Pipelines) bearbeitet und in die Softwareentwicklungsprozesse integriert.
Die Inhalte können redundanzfrei verwaltet und einige Informationen generiert werden. Durch die Verwendung leichtgewichtiger Text- und Grafikformate lassen sich die Ergebnisse zielgruppenorientiert…
Wenn ein System "historisch gewachsen" ist, gilt das oft auch für die Tests: Die laufen viel zu lange, finden aber zu wenig Fehler.
Ursache ist, dass diese Test-Suites oft gleichzeitig zu viel und zu wenig testen. Zuviel, da sie Tests enthalten, die Kosten erzeugen, aber kaum Mehrwert gegenüber ähnlichen Tests bieten. Zu wenig, da trotzdem wichtige Funktionalität ungetestet bleibt.
Im Vortrag stelle ich Analysen vor, die das aufdecken: Pareto-Optimierung von Test-Suiten und Test-Impact-Analyse…
Die Hotspot-Analyse ist eine weit verbreitete Methode zur Untersuchung bestehender Softwaresysteme, mit dem Ziel, Verbesserungsarbeiten am vorhandenen Code gezielt zu priorisieren. Sie ermöglicht die Darstellung der Verbesserungsdringlichkeit und Code-Komplexität für die gesamte Codebasis in einer anschaulichen Visualisierung, aus der sich schnell die wichtigsten Schwerpunkte ableiten lassen sollen.
In diesem Vortrag werfen wir einen Blick hinter die Kulissen dieser Analysemethode. Wir werden…
Genieße kühle Drinks und kleine Snacks, während du wertvolle Kontakte knüpfst und den ersten Konferenztag revue passieren lässt!
Die Gastgebenden Stefan Toth, Nicole Rauch und Lars Röwekamp eröffnen den zweiten Konferenztag und stellen die Sprechenden des Tages vor.
Apps, Webseiten und die dazugehörige Infrastruktur in der Cloud sind aus unseren Leben nicht mehr wegzudenken. Gleichzeitig haben sie einen signifikanten Anteil an den weltweiten CO2-Emissionen. Und genau aus diesen Gründen beschäftigen sich immer mehr Firmen und Organisationen mit Konzepten und Methoden aus dem Bereich Green Computing.
Dieser Vortrag stellt grundlegende Konzepte wie "Carbon Efficiency" und "Carbon Awareness" vor und geht im Detail auf Methoden und Softwarewerkzeuge ein, mit…
Gute Architektur enthält Muster. Aber welchem Muster folgt eine gegebene Klasse? Das explizit auszudrücken ist die Aufgabe der xMolecules. xMolecules ist eine Framework-unabhängige Bibliothek die Folgendes erlaubt:
A) Darstellen verbreiteter architektonischer Konzepte (wie Schichten oder DDD Building Blocks) direkt in Code. So wird es für den menschlichen Leser leichter zu verstehen, welchem Muster ein Stück Code folgt
B) Überprüfen, ob Regeln bezüglich der Implementierung dieser Muster…
Data Mesh ist aktuell das Thema im Bereich Datenarchitekturen und Datenkultur. Es basiert auf vier Prinzipien und verfolgt das Ziel, Datenarchitekturen und das Datenmanagement skalierbar zu machen, indem bekannte Konzepte aus der Softwareentwicklung auf das Management analytischer Daten übertragen wird. Aus DevOps wird DataOps, mit DDD-Methoden können Datendomänen und -produkte identifiziert werden. Microservices sind die Output-Ports von Datenprodukten, damit diese nutzbar sind. Mit…
In einer Live-Coding-Session werde ich demonstrieren, wie über eine Continuous Deployment Pipeline in Kombination mit Consumer-Driven Contracts und einem Pact-Broker sichergestellt werden kann, dass sowohl auf der Integration-Stage als auch in Produktion nur Services deployt werden (können), deren Schnittstellen kompatibel sind.
Hier geht es mal nicht um die Frage: Wie entsteht eine Architektur im "Agilen Umfeld", sondern um das Gegenteil: Wie muss Architekturarbeit in der Praxis aussehen, um Enabler für ein Arbeiten nach dem Manifest für agile Softwareentwicklung zu sein?
Zu (mindestens) den Punkten
Die Cloud hat bereits heute einen größeren CO2-Fußabdruck als die Luftfahrtindustrie, mit steigender Digitalisierung und Cloudifizierung wird sich dieser Trend fortsetzen, wenn wir nichts dagegen unternehmen. Viele Kubernetes-basierte Installationen sind gemessen am eigentlich benötigten Ressourcenbedarf stark überdimensioniert und tragen so unnötig zur globalen Erwärmung bei. Wie sieht die Energiebilanz Ihres Clusters und Workloads aus?
In diesem Vortrag zeigen wir Ansätze und Technologien,…
Software architecture and design play a critical role in bootstrapping and maintaining successful applications and services. In the past 2 decades, we have moved from desktop/monolith/on-prem to microservices/cloud/cloud-native/hybrid. For the most part, we are still discovering how to build robust software that delivers as many 'ilities' as possible and what trade offs to make.
In the past few months, generative AI and the coding capabilities of models, both proprietary and open, had surprised…
Softwareentwicklung ist ein kreativer Prozess und dieser Prozess lässt sich befeuern! Entwickler:innen müssen nicht nur stumpf Anforderungen abarbeiten, sondern im Programmier-Alltag auch Ideen zu Lösung von Problemen haben. Und die Wahrscheinlichkeit für gute Ideen kann gesteigert werden – dieser Talk verrät, wie!
Zu den Kreativitäts-Tipps für Entwickler:innen gehören nicht nur die etablierten Inspirationsratschläge, die Autor:innen und Comedians seit jeher verteilen, sondern auch…
In der Microservice-Entwicklung stoßen wir oft auf Geschäftsprozesse, die mehrere Domänen berühren. Verschiedene Herangehensweisen führen zu elementar unterschiedlichen Ergebnissen. Mit Konsequenzen für die Komplexität, Betrieb und Erweiterbarkeit. Eine Event-driven Architecture (EDA) kollidiert oft mit dem Wunsch nach globaler Kontrolle und synchronen Abläufen. Monolithische Workflows einfach zu kopieren, kann zum vorschnellen Griff zu Workflow-Tools und zu einem "verteilten Monolithen" führen.
…
Maximale Teilnehmerzahl: 50
Mit Architektur-Reviews ist es möglich, Schwächen und Potenziale von Softwarelösungen herauszuarbeiten, Entscheidungen abzusichern und Verbesserungsmaßnahmen zu bewerten. Klassische Ansätze aus diesem Umfeld sind fundiert, kommen aber gerade in beweglichen Softwarevorhaben etwas schwergewichtig, mitunter fast zeremoniell daher.
In diesem Workshop lernst Du eine leichtgewichtige Herangehensweise kennen. Du und Dein Team können sie unmittelbar anwenden, Eurer…
Collaborative Modeling und Liberating Structures passen perfekt zusammen. Sie fördern beide ein gemeinsames Verständnis und ermöglichen echte Zusammenarbeit durch die Einbeziehung aller Beteiligten. In diesem Workshop zeige ich, wie durch die Verwendung von Liberating Structures in Collaborative Modeling Workshops magische Momente der gemeinsamen Erkenntnis ermöglicht werden können.
Im Workshop werden Liberating Structures ausprobiert und wir finden heraus, wie und warum sie funktionieren. Wir…
Korrektheit sollte eigentlich eine selbstverständliche Anforderung an Software sein, schafft es dennoch selten in die offizielle Design-Dokumentation. Aber: Manche Software *muss* korrekt sein - solche, die kritische Hardware steuert, sensible Informationen schützt oder umsatzkritische Berechnungen anstellt. Leider sind Entwicklungsprozesse oft fehleranfällig, und bekanntermaßen können alle Tests der Welt nur die Anwesenheit von Fehlern zeigen, nicht aber deren Abwesenheit.
Um dafür Gewissheit…
Dass nutzerzentrierte Methoden in klassischen oder agilen Software-Entwicklungsprojekten einen Mehrwert stiften ist bereits belegt, aber wie sieht es mit Data Science und KI-Projekten aus? Können nutzerzentrierte Methoden auch hier einen Mehrwert stiften?
Diese Frage haben wir uns innerhalb des Forschungsprojektes akkord gestellt, welches als prinzipielles Ziel hat, Unternehmen zur gewinnbringenden Anwendung von Datenanalyse zu befähigen.
Im Vortrag wird ein Schwerpunkt darauf gelegt, warum es…
Aktuelle Trends in der Softwareentwicklung wie Single Page Applications, Microservices, Message-driven, asynchron und Kubernetes erhöhen die Komplexität in Entwicklung und Betrieb. Aber die meisten von uns schreiben keine Applikationen für Milliarden von Benutzern und müssen keine Tausenden von Nachrichten pro Sekunde verarbeiten.
In meinem Vortrag möchte ich Denkanstöße geben, wie wir unsere Architektur vereinfachen und verständlicher machen können, indem wir das Mantra "do the simplest thing…
Der Erfolg von Microservice-Architekturen führt dazu, dass viele monolithische Anwendungen in eine solche Architektur überführt werden. Das Paradigma der Event-getriebenen Architektur hilft dabei, die Domänen auf der technischen Ebene noch besser zu trennen, und ermöglicht zusätzlich lose Kopplung.
In dieser Session wollen wir von unseren Erfahrungen aus der Umstellung einer Online-Vertriebsplattform auf eine Event-getriebene Architektur berichten. Dabei wollen wir insbesondere darauf eingehen,…
Die Gastgebenden Stefan Toth, Nicole Rauch und Lars Röwekamp blicken auf die Konferenz zurück.