
SOFTWARE MEETS BUSINESS:
Die Konferenz für Software-Architektur
31.01. - 04.02.2022
SOFTWARE MEETS BUSINESS:
Die Konferenz für Software-Architektur
31.01. - 04.02.2022
Die im Konferenzprogramm der OOP 2022 Digital angegebenen Uhrzeiten entsprechen der Central European Time (CET).
Unser Programm gibt es auch als praktische PDF-Datei >>Zum Download
Auch in erfolgreichen Softwaresystemen lauern praktisch immer Probleme. Durch systematische Reviews können Sie diese Probleme zielgerichtet identifizieren – und damit eine robuste Grundlage für zukünftige Verbesserungen schaffen.
Der Workshop erklärt methodisches Vorgehen bei Software-Reviews, mit Fokus auf eine Breitensuche typischer Problemkategorien.
In interaktiven Sessions erarbeiten Sie unter Anleitung wesentliche Probleme Ihrer eigenen Systeme - und erhalten damit konkrete Hilfestellung…
Architekturentscheidungen werden häufig und zumeist implizit getroffen. Da eine Dokumentation dieser nur selten erfolgt, existiert Wissen über diese nur in den Köpfen der Entwickler und eine Weitergabe des Wissens ist schwer bis unmöglich. Ein Wildwuchs verschiedener Implementierungsstile und eine Erosion der Architektur ist der logische Schluss.
Am Beispiel wird gezeigt, wie die Arbeit mit Michael Nygards ADRs erfolgreich etabliert werden kann, um Entscheidungen zu dokumentieren, und welche…
Unternehmen, die Machine Learning (ML) in ihrem Kerngeschäft zur Anwendung bringen möchten, müssen MLOps, Model Governance und Explainable AI implementieren, um ML-Systeme in Produktion bringen und langfristig erfolgreich betreiben zu können.
Der Einsatz von Machine Learning und Künstlicher Intelligenz (KI) insgesamt bringt Verantwortung und Verpflichtungen mit sich. In vielen Bereichen müssen Unternehmen bereits regulatorische Vorgaben einhalten, die absehbar durch neue und KI-spezifische…
There are several architecture models with prescribed views and notations. The Keep It Short & Simple architecture model is different. We create pieces of documentation iff they benefit stakeholders. We do so using drawing tools, not modeling tools. We say no to BDUF and yes to Important Design Up Front. We follow 7 tips for creating diagrams that are expressive, not ambiguous, and help you to successfully understand and evolve them, and build a system from them. We complement the design…
Als Entwickler kann man ihnen fast nicht ausweichen – den Microservice-Architekturen. Die Entscheidung für deren Einsatz ist oft schon getroffen, bevor es die erste User-Story im Backlog und die erste Zeile Code im Repository gibt.
„Microservice“ lautet scheinbar die Antwort auf alle Fragen nach der besten Umsetzung heutiger Business-Probleme. Netflix und andere dienen als schillerndes Beispiel für den Erfolg dieser Architektur.
Aber sind sie wirklich der einzige Weg ins Ziel? Sind sie Fluch oder…
Micro-Frontends eigenen sich nicht in allen Szenarien! Diese Session stellt einen alternativen Ansatz vor: Frontend-Modulithen. Wir besprechen das Abbilden fachlicher Domänen, die Kategorisierung von Bibliotheken sowie Zugriffseinschränkungen zum Erzwingen entkoppelter Teilsysteme. Außerdem nutzen wir inkrementelle Builds und einen Build Cache zur drastischen Beschleunigung des CI-Prozesses. Am Ende wissen Sie, ob Frontend-Modulithen für Sie der richtige Ansatz sind und wie Sie Ihre Anwendungen…
Imagine you have an enterprise frontend monolith. Due to explosive growth, around 30 teams work on it, with about 100 different use cases. How do you keep this system scalable and consistent?
That's the question we faced inside Partner Home at Wayfair. I'm going to share our experience implementing a micro frontend architecture based on React to distribute shared concerns as long-lived applications. We used module federation, a new feature in Webpack 5.
I'll talk about the general architecture,…
Der CEO der Sustainable Digital Infrastructure Alliance (SDIA) Max Schulze referiert über die Inhalte und Notwendigkeit des Forschungsvorhabens “SoftAWERE”, das vom Umweltbundesamt finanziert durch das BMWi ins Leben gerufen wurde. Ziel des Vorhabens ist die Entwicklung von Kriterien und Messmethoden, um die Energieeffizienz von Software-Komponenten zu steigern und Entwickler*innen Werkzeuge an die Hand zu geben, mit denen sie nachhaltige Entscheidungen abseits von ökonomischen Parametern…
How will organizations keep agility alive after their initial agile transformation? The question of what happens if agile becomes daily business is even more intriguing in this post-pandemic COVID era. Will AGILE survive these unparalleled insecure times? Participants in this workshop will explore what is needed to sustainably ‘safeguard’ an enterprise agile delivery culture after the initial ‘agile transformation’. The workshop hosts will share their observations of working in a big financial…
Im Zeitalter der Smartphone-Apps sehen sich viele Entwickler:innen dem immer wieder gleichen Problem ausgesetzt: Wie synchronisiert man Daten zwischen den verschiedenen Clients? Vom Telefon, was zeitweilig offline sein kann, zum Tablet, was überhaupt nur im WLAN hängt, zur Weboberfläche. Auf keinen Fall darf man dem User Konflikte anzeigen, die verwirren nur! “Konfliktfreie verteilte Datentypen” sind die Lösung; eine recht junge Technologie, die verspricht, alle diese Probleme anzugehen
Zielpubli…
While Rust is typically pitched as systems programming language, it is equally adept at application development thanks to its high level features and great tooling. In addition to increased performance, native code has the advantage that it can easily be reused across different system components, an advantage even more pronounced in polyglot environments. In this talk, we would like to present our experience of using Rust to write core components in such a polyglot system.
Target Audience:…
Die Vergabe von Softwareprojekten und Umsetzung durch Dritte ist ein übliches Verfahren im Umfeld der öffentlichen Hand. Es handelt sich dabei oft um Projekte mit langer Lebenszeit, für die zwar hohe Anforderungen an Wartbarkeit bestehen, aber oft nicht erfüllt werden. Der Vortrag beschreibt Erfahrungen des ITZBund beim Aufbau entsprechender Qualitätssicherungsmaßnahmen. Es werden Möglichkeiten und Grenzen von Coding-Standards sowie Architektur-Vorgaben, deren automatisierte Überprüfung und das…
Was, wenn der Prozess, in den man sich verliebt hat, nicht zur Organisation passt? Unternehmen umbauen? Prozess zurechtbiegen? Vernunftehe führen? Unreflektierte Nutzung des “bildhübschen Scrum” führt oft zu Kündigungswellen, Unzufriedenheit und Burn-out, ohne die erhoffte Glückseligkeit. Muss das so sein?
Scrum ist manchmal die “passende Lösung” – aber kaum jemand beschreibt die Bedingungen dazu und es gibt wenig Aussagen darüber, wie man handeln könnte, wenn die Bedingungen nicht passen.…
Software is often resistant to modernization efforts, no matter if it's about phasing out obsolete technologies, migration to the cloud, or establishing modern architecture. The culprit is usually a dependency or obsolete assumption that's too closely coupled to the codebase. But what's the underlying root cause of all that coupling? Often, it's shared, mutable, synchronous state. We will look at a real-world project, and we'll dig ourselves out of the hole it's dug itself into using…
arc42 ist gerade in Version 8 erschienen - Zeit für eine Übersicht der Neuerungen „am lebenden System“: Primär geht's um die Lösungsstrategie, Querschnittskonzepte und Architecture Decision Records. Zusätzlich gibt's die acht wichtigsten Praxistipps für bessere Architekturdokumentation. Insbesondere das Thema "Nachdokumentation" greife ich auf - mit anschaulichen Praxisbeispielen. Schließlich zeige ich Ihnen die Möglichkeiten der "Hilfe zur Selbsthilfe" der neuen arc42 Doku-Website.
Zielpublikum:…
Softwareplattformen bieten eine Reihe attraktiver Vorteile: Mit ihnen können neue Produkte nicht nur schneller und kostengünstiger entwickelt, sondern auch neue Einnahmequellen erschlossen werden. Dazu ist es aber notwendig, sie nicht nur richtig zu entwickeln, sondern auch effektiv zu managen. In unserem Vortrag stellen wir Techniken vor, um Plattformen dauerhaft erfolgreich zu nutzen. Dies beinhaltet, eine Plattform als eigenständige Produkt zu managen, einen dedizierten Platform Owner zu…
Machine Learning-Diskussionen drehen sich oft um Datenbeschaffung, geeignete Werkzeuge und Modelle. Und natürlich um beeindruckende Anwendungen von Spotify, Tesla und Co. Doch wie entstehen ML-Lösungen? Oft scheint Genialität und Zufall bestimmend, doch in dieser Session zeige ich, was wirklich hinter erfolgreichen ML-Vorhaben steckt und wie man erfolgreich professionalisiert. Mit den Überschriften der Architektur-Disziplin sortiere ich die Herausforderungen von ML-Vorhaben und zeige, wie man…
The purpose of Serverless is to focus on writing the code that delivers business value and offload undifferentiated heavy lifting to the Cloud providers or SaaS vendors. Today’s code quickly becomes tomorrow’s technical debt. The less you own, the better it is from the maintainability point of view. In this talk I will go through examples of the various Serverless architectures on AWS where you glue together different Serverless managed services, significantly reducing the amount of the code…
Der Modularity Maturity Index (MMI) bewertet die Langlebigkeit von Architekturen aus drei verschiedenen Perspektiven: Modularität, Hierarchisierung und Muster. Man kann den MMI sowohl zur initialen Standortbestimmung einsetzen, also um festzustellen, ob das eigene Softwaresystem eine langlebige Architektur hat bzw. wie weit es davon entfernt ist. Außerdem kann man den MMI verwenden, um seine Software-Entwicklung über den gesamten Lebenszyklus der verschiedenen Systeme regelmäßig auf ihre…
In a world of rapid changes and increasing uncertainties, organizations have to continuously adapt and evolve to remain competitive and excel in the market. In such a dynamic business landscape organizations need to design for adaptability. Designing for adaptability requires understanding the landscape organizations are operating in, identifying patterns of change, applying principles for organizational fitness, and making mindful strategic decisions to adapt change.
Target Audience: Software…
Eine auf Microservices basierende Architektur umzusetzen, bedeutet, dass auch die Datenhaltung auf die verschiedenen Services verteilt werden muss. Was aber bedeutet das in der Praxis? Was ist, wenn Daten einer Entität - vollständig oder in Teilen - in mehreren Services benötigt werden? Wie wird referenzielle Integrität über mehrere Services hinweg realisiert? Wie lassen sich serviceübergreifende Transaktionen realisieren? Dies sind nur einige von vielen Fragen, die im Rahmen der Session…
On-Call is an increasing reality for developers, especially when a site has strict uptime requirements. And sadly, the experience often sucks. It's easy to mandate 24x7 support, it's much harder to set it up in a way that doesn't make the life of the people in the rotation miserable.
I want to talk about improving alerting. I'm focusing on creating high-quality alerts that trigger when they should and don't trigger when nothing is happening. Continuous tuning, automation, and using the right…
krankheitsbedingt ein kurzfristiger Wechsel
Content Management Systeme, Web-Browser oder Betriebssystem: Viele der Produkte und Services die wir täglich nutzen werden mittlerweile als Open Source Projekte realisiert. Durch den hohen Einfluss, den die Open Source Entwicklung mittlerweile auf die digitale Welt hat, findet man allerdings auch viele unterschiedliche Aussagen über dieGefahren und Vorteile von Open Source Produkten. Vor allem wenn man sich selber noch nicht intensiv mit der Thematik…
The idea of looking at your organization as a single coherent system is tempting, but is it realistic? If it isn't, what does that mean for software developers, and how can we make discoverable what we are developing? This talk looks at organizations as ecosystems rather than as systems, and asks what that difference means for software development. It all boils down to focusing on software as components implementing business capabilities, and how to best capture these capabilities and make them…
Oft wird Software immer schlechter wartbar, je länger Entwicklungsteams an ihr arbeiten. Dazu hat sich die Metapher “technische Schulden” etabliert. Aber es ist nicht immer sinnvoll, technische Schulden zu beseitigen und sie können auch “einfach so” entstehen. Darum geht es in diesem Vortrag - und über die Grundlagen der Metapher, wie sie bei der Kommunikation mit Managern hilft, warum die Metapher eigentlich nicht besonders gut gewählt ist und natürlich wie man mit technischen Schulden sinnvoll…
Some codebases are nicer to work with than others. This is true for applications, services, libraries, frameworks, even programming languages themselves. Is this a purely personal choice or are there universal characteristics of software that can make code a joy to work with? Daniel has been thinking about this for a long time, especially since he poked a stick at the SOLID principles for fun a few years ago and people came after him with pitchforks.
Extended Abstract
His recent post about why…
In den letzten 30 Jahren habe ich viel Software selbst oder mit Teams entwickelt und viele Softwaresysteme analysiert, um die darin angesammelten technischen Schulden zu analysieren und Lösungen zu erarbeiten. Dabei bin ich immer wieder ähnlichen Missverständnissen rund um das Thema Software-Architektur begegnet. Dieser Vortrag wird klären, welche Missverständnisse das sind und warum sie anders gedacht werden müssen, damit wir mit unseren Software-Architekturen kleine und große Probleme lösen…
Im Web lauert eine Vielzahl von Sicherheitsgefahren. Deshalb sollten ein paar grundlegende Vorkehrungen getroffen werden: Angefangen bei der richtigen TLS-Konfiguration, über Schutzmaßnahmen wie dem Einrichten einer Content-Security-Policy und dem Überprüfen nachgeladener Ressourcen mittels Subresource Integrity, bis hin zur Absicherung von Cookies sowie dem Schicken oder Vermeiden bestimmter HTTP-Header. Welche grundlegenden Maßnahmen es zu beachten gilt und wie man diese umsetzt, erfahren Sie…
Architektonische Konzepte in Code abzubilden, bleibt in Java-Applikationen meist eine Herausforderung, ebenso wie die Trennung von fachlichem Code und Applikationsframework. Der Vortrag gibt einen Überblick über das jMolecules API und zeigt, wie Entwickler:innen die bereitgestellten Abstraktionen nutzen können, um Architektur-Konzepte auszudrücken. Darüber hinaus wird konkrete Integration mit Technologien sowie die Generierung von Dokumentation am praktischen Beispiel beschrieben.
Zielpublikum:…
In this talk, we will give an overview about all the different aspects that affect climate change from the software engineering perspective and discuss a number of concrete actions that every software engineer can take (and should keep in mind day-in day-out) to help fight climate change. During the talk, we will not only provide an overview of the landscape, but also cover topics in more depth and discuss the challenges that come with them.
Target Audience: Architects, Developers, Project…
In 2020, the three big cloud providers signed us all up for a revolution in the way we write and operate software. The deadline is 2030. Are you ready?
Target Audience: General techie. This works for all
Prerequisites: None
Level: Advanced
Extended Abstract
In 2020, Google Cloud, AWS, and Azure all committed to be carbon zero by 2030. It's the incredibly tough goal of zero emitted carbon as a result for operating our applications and services. They can't do it alone. AWS says "we optimize for…
Um nachhaltig erfolgreich zu sein, müssen Unternehmen schnell, robust und anpassungsfähig auf die steigende Dynamik im Markt reagieren.
Doch wie entsteht Dynamikrobustheit in Unternehmen und was bedeutet das für die Organisationsstrukturen und IT-Architektur?
In unserem Workshop möchten wir unsere Erfahrung aus der Begleitung zweier Großkonzerne mit euch teilen und anhand von praktischen Beispielen Konzepte von Conways Gesetz über den Tech-Radar bis hin zu Team-Topologien beleuchten. Dazwischen…
Jedes interessante Softwaresystem hat eine Architektur. Diese ist kunstvoll geplant oder zufällig entstanden, meist aber irgendwas dazwischen. In diesem Vortrag stelle ich vor, wann und vor allem wie Sie und Ihr Team Ihre Lösungsansätze reflektieren können.
Architekturbewertungen sichern Entscheidungen ab, zeigen Risiken auf und schaffen Transparenz. Richtig gemacht stellen sie ein exzellentes Kommunikationsmittel dar – und keinesfalls einen Pranger.
In Umfeld der Architektur-Reviews gibt es ein…
Auch Legacy-Systeme kann man mit Domain-driven Design (DDD) verbessern. Am Anfang sollte die Frage stehen, warum ein erfolgreiches Legacy-System überhaupt verbessert werden soll. Der Vortrag zeigt, wie man sich dazu an Änderungen des Geschäftsmodells orientieren kann. Technische Ansätze wie das Extrahieren von Bounded Contexts oder die Implementierung von Bubble Bounded Contexts verdeutlichen zudem, wie man ganz praktisch vorgehen kann. So kann DDD auch bei der Anpassung existierender Systeme an…
In den letzten Jahren erfahren IT-Landschaften durch Digitalisierung einen großen Änderungsdruck. Für ältere IT-Landschaften bedeutet dies eine komplette strategische Neuausrichtung. In diesem Beitrag schlagen wir mit Domain Driven Transformation eine Methodik vor, in der DDD mit Methoden des EAMs (Enterprise Architecture Management) kombiniert wird. Im Kern liegt die Definition von Bounded Contexts und einer Context Map, die mit der IST-IT-Landschaft abgeglichen werden kann. Aus dem Abgleich…
Klassisches EAM ist gut verstanden und hat in sich nur langsam oder voraussehbar verändernden Umgebungen erhebliche Verbesserungen bewirkt. Aufgrund steigender Komplexität und Dynamik nimmt die Verbreitung Agiler Methoden immer weiter zu. Außerdem werden im Zuge der digitalen Transformation Veränderungen auf der Business-Seite zunehmend zum wesentlichen Treiber strategischer Veränderungen in der IT. Darauf muss sich die IT insgesamt und die Unternehmens-Architektur im Besonderen mit ganz neuen…
Neue Ansätze, neue Technologien lösen Probleme – ja, nein, vielleicht?
Hinter den Neuigkeiten stecken oft alte Bekannte. Probleme, die wir lange kennen, sind selten ganz weg - aber immerhin gewandelt, geändert, besser beherrschbar. Neue Lösungen ändern die alten Probleme. Nur, mit steigendem Alter werden sie selbst zum Teil eines neuen Problems?
Das ist das Spannungsfeld für Architekten, die Systeme bauen, die lange leben sollen. Ihre Aufgabe ist nicht nur technologisch; sie sollen auch in alle…
Autonome Teams sind etwas, das häufig als Fundament agiler Organisationen gesehen wird.
Der Vortrag beschäftigt sich mit Teamautonomie aus Perspektive von Organisationen und Software-Entwicklung entlang folgender Fragen:
Zielpublikum:…
Dokumentation hilft, Ideen zu kommunizieren und uns auch noch nach Wochen an Lösungskonzepte zu erinnern. Trotzdem wird sie häufig stiefmütterlich behandelt und wir treffen viel häufiger auf tolle Architekturen als auf tolle Architekturdokumentationen. In diesem Vortrag berichten wir von unseren Erfahrungen rund um Architekturdokumentation. Wir fassen 7 Anti-Patterns zusammen und geben Tipps, wie jede:r die Architekturdokumentation verbessern kann. Unsere Tipps sind unabhängig vom verwendeten…
Der Beitrag diskutiert, wie man event-getriebene Architekturen als eine Form der reaktiven Architekturen in einer Beratungssoftware einsetzen kann. Warum wurde für diese Beratungssoftware der event-getriebene Ansatz gewählt? Es werden sowohl die geschäftlichen als auch die technischen Anforderungen diskutiert, die zur Wahl dieses Architektur-Ansatzes geführt haben. Der event-getriebene Ansatz erwies sich als der richtige, um eine Entkopplung der Systeme und ein gesamthaftes Bild der einzelnen…
Big Bang rebuilds of systems are so 20th century. With our users expecting new functionality to be shipped more frequently than ever before, we no longer have the luxury of a complete system rebuild. In fact, a big bang migration of a monolithic architecture into a microservice architecture can be especially problematic, as we’ll explore in this talk.
We want to ship features, but we also want to improve our architecture, and for many of us this means breaking down existing systems into…
This talk describes how to build and run a successful product development organization that delivers business value, not just features. I will cover what makes effective product development teams, how to structure, loosely couple, align and choreograph them, especially in larger organisations with up to 100 teams. Methods I will talk about include OKRs and Kanban Flight Levels. In this context I will also show when and how decentralised product teams can benefit from centralised platforms.
Target…
In dieser Session zeige ich entlang echter Softwaresysteme, wie Sie und Ihr Team Ihre Architekturansätze auf geringem Raum verdichtet und zugleich überzeugend darstellen. Sie erfahren, welche Inhalte mindestens in einen Architekturüberblick hineingehören und welche Formen sich in welcher Situation bewährt haben. Das Vorgehen für bestehende Systeme kommt genauso zur Sprache wie das Anfertigen bei neuen Softwarelösungen. Der Vortrag ist reich gespickt mit Beispielen und Best Practices,…
10 Jahre nach CAP wurde das CALM-Theorem formuliert, das beweist, was wir immer alle geahnt haben: Im Fall von Netzwerkpartitionen sind Konsistenz UND Verfügbarkeit unter bestimmten Bedingungen möglich! Im Vortrag gehen wir auf eine Journey vom CAP-Theorem hin zum CALM-Theorem. Ich räume mit gängigen Mythen auf und zeige euch, wie ihr das CALM-Theorem praktisch anwenden könnt. Der Vortrag vereint neueste Forschungsergebnisse und Lessons Learned aus mehreren Studien mit konkreten Entwurfsmustern…
Vom Spotify-Modell über Inverse Conway zu Team Topologies: Die Ideen für die Organisation von Software-Entwicklung sind vielfältig. Bei einer Modernisierung konkurrieren die Bedürfnisse von alter und zukünftiger Architektur, das erschwert die Entscheidung für eine Struktur, die beide Seiten angemessen behandelt. Auf welche Probleme stoße ich hier, welche Möglichkeiten habe ich zur Gestaltung meiner Teams und welche Variante ist am wirksamsten? Ein Überblick über die aktuellen Ansätze,…
The primary cause of technical debt in your organization is very likely your project managers – not your programmers nor your architects. In this keynote Scott Ambler explores the root causes of technical debt within organizations, many of which trace back to the project management (PM) mindset and the strategies that result from it. Scott works through how to make leadership aware of technical debt and its implications, how to evolve your management practices, and strategies to embed technical…
Das Thema Quantencomputing (QC) ist in aller Munde. Doch was ist QC? Für welche Anwendungsdomänen ergeben sich Chancen? Wie integriert man Quantenalgorithmen in Software-Architekturen? Was ist der aktuelle Stand der Technik bzgl. Frameworks und Tools?
Dieser Vortrag vermittelt grundlegendes QC-Wissen und stellt ausgewählte Anwendungsfälle vor. Ein Hands-on-Beispiel veranschaulicht Vorgehen und Entwicklungswerkzeuge, um QC-Potenziale in der Anwendung zu identifizieren, effiziente…
Im Gegensatz zu den klassischen Ansätzen verfolgt Docs-as-Code das Ziel, die in Softwareprojekten relevante Dokumentation genau wie den Quelltext zu behandeln. Somit können die gleichen Werkzeuge wie für die Entwicklung verwendet werden, um die Erzeugung und Auslieferung in den automatisierten Build-Prozess einzubinden. Jedwede Art von Dokumentation gewinnt somit an Sichtbarkeit und durch die Eingliederung in die Entwicklungsprozesse und die damit verbundene kontinuierliche Weiterentwicklung…
In den Zeiten von Microservices wird klar, wie wichtig Domain-Driven Design nach wie vor ist. Denn nur mit Strategischem Design und dem Aufteilen der Domäne in Bounded Contexts kann ein sinnvoller (nämlich fachlicher) Schnitt für die Microservices gefunden werden.
Aber auch Taktisches Design mit der Ubiquitous Language und den Building Blocks haben nichts an Aktualität verloren.
In diesem Workshop nehmen wir uns einen Tag Zeit, um DDD näher anzuschauen. Der Workshop besteht aus abwechselnd…
In diesem interaktiven Workshop erarbeiten wir uns das Thema Wardley Maps und wie sich diese in der Weiterentwicklung von komplexen Softwaresystemen und Softwarelandschaften pragmatisch einsetzen lassen.
Wardley Maps sind evolvierende Strategielandkarten, welche ein kontextspezifisches Situationsbewusstsein für die eigenen Softwaresysteme (und mehr) schaffen. Sie bieten uns einen Ort, um komplexe Sachverhalte zu kommunizieren: Wie hängen Business und Systeme zusammen? Wo bauen wir etwas selbst…