Mehr als 30 Jahre OOP-Erfahrung trifft auf moderne Innovation: Taucht mit uns tief in die wichtigsten Themen gegenwärtiger Software-Architektur ein – auf den "Virtual Deep Dives | powered by OOP".
Diese Konferenz versteht sich als Online-Ergänzung zur OOP München und bietet die Möglichkeit, sich intensiv und interaktiv mit den neuesten Trends und Best Practices in der Software-Architektur auseinanderzusetzen. Unsere Expert:innen und Branchenführer werden tiefe Einblicke in ihre Arbeitsweise geben und wertvolles Wissen teilen, das Sie direkt in Ihre Projekte integrieren können.
» Zu den Virtual Deep Dives
Die im Konferenzprogramm der OOP 2024 angegebenen Uhrzeiten entsprechen der Central European Time (CET).
In the times of microservices, it becomes clear how important Domain-Driven Design (DDD) still is. Only with strategic design (i.e. DDD on a large scale) and the division of the domain into bounded contexts can a sensible cut be found for the microservices.
In this workshop we will take a day to take a closer look at DDD. The workshop consists of alternating lecture, discussion and exercises.
Target Audience: Architects, Developers, Project Leaders, Managers, Decision Makers, Domain Experts
Prer…
Bekanntermaßen haben Qualitätsattribute einen entscheidenden Einfluss auf die Software-Architektur. Deshalb bedürfen sie in einem Entwicklungsprojekt über alle Phasen hinweg einer systematischen Behandlung.
Das Tutorium bietet eine Rundfahrt mit verschiedenen Ausflügen zu wichtigen Teilthemen, um dadurch einen systematischen Ansatz für Qualitätsattribute zu entwickeln. Zur Veranschaulichung dienen kleine Anwendungsbeispiele. Die Teilnehmer haben dabei die Gelegenheit, das erworbene Wissen in…
Mit der zunehmenden Popularität von Event-Sourcing, CQRS und EDA gibt es eine Menge Verwirrung zwischen diesen orthogonalen Konzepten.
Wir werden uns zunächst jedes dieser Konzepte einzeln ansehen und untersuchen, wie sie zusammen verwendet werden können.
Danach werden wir in einem praktischen Teil einige verschiedene Implementierungsmuster für Event-Sourced Aggregates kennenlernen. Die Teilnehmer werden verschiedene Versionen desselben Aggregate in Form von "Code Koans" implementieren.
Laptop…
Software-Architecture Revolution is the process of making profound, large-scale changes to the fundamental structures of software systems to improve its attributes, such as availability, scalability, and maintainability, or to enable new requirements that are incompatible with the current capabilities. Architectural revolution demands substantial effort from the organization and needs effective leadership to be successful. This talk draws from practical experiences (patterns) to improve the…
Der Wert von Software-Reviews wird allgemein akzeptiert. Bei klassischen Methoden steht diesem gleichzeitig ein erheblicher Aufwand gegenüber. Das macht es Entwicklungsteams schwierig, ihre Vorhaben zum richtigen Zeitpunkt angemessen zu beleuchten, um Risiken aufzudecken und die Architektur abzusichern. In diesem Vortrag skizziere ich praktikable Ansätze, mit denen Sie und Ihr Team mit überschaubarem Aufwand und im Extremfall im Alleingang wertvolle Ergebnisse erzielen.
Zielpublikum: In erster…
In this session we will walk through various techniques to significantly reduce the resource consumption of regular Spring Boot applications, including using Spring AOT for regular Spring apps, compiling Spring Boot apps to native images (using GraalVM), and using CRaC for instant startup (for scale-to-zero scenarios). We will compare the different approaches, discuss pros and cons for each technology, and share concrete numbers from real-world applications to give the audience an idea of what…
User-centred design is one of the default modes of teams working with software, but the consequences are often unsustainable in a densely networked world as we privilege users over all other stakeholders and systems. How might teams approach building products, services and organisations from a more sustainable standpoint than 'user-centricity'? This talk looks at how the techniques of game design, community development, platform operations and security practices can support a practice focused on…
Je mehr sich die Arbeit der Menschen vom Taktilen in Richtung digitaler Arbeit verschiebt, desto wichtiger wird das Design der Oberflächen für die Interaktion mit dem Digitalen. Wir haben uns in den vergangenen Jahren gefragt: Wie kann der Designprozess so in agile Software-Entwicklung integrieren, dass ein gut verwendbares System mit einer auf Dauer flexiblen und anpassbaren Software-Architektur entsteht? Wir haben auf verschiedenen Ebenen Antworten gefunden, die wir den Zuhörern in diesem…
In meinem Vortrag analysiere ich Statistiken zum Scheitern agiler Übergänge und enthülle dabei die entscheidenden Erfolgs- oder Misserfolgsfaktoren. Im Zentrum steht das Produkt-Management – der Schlüssel, um diese Transitionen zu meistern. Wir decken nicht nur Hindernisse auf, sondern präsentieren auch praxiserprobte Ansätze, um diese zu umgehen und den Weg zum Erfolg zu ebnen. Erleben Sie eine kompakte Reise durch die Welt der agilen Transitionen, die Ihnen wertvolle Erkenntnisse für die…
This is not about what an "Agile Architecture" could be. It is about the view from the opposite direction:
How can architecture work look like in order to act as an enabler to work in the spirit of the Manifesto for Agile Software Development?
There are answers to questions like.
• Why is architecture documentation so rarely read?
• How much technology focus is helpful and why?
• What knowledge needs to be built by yourself in the first place?
• What does programming have to do with…
Come and hear the story of a company that is on the journey from the old monolithic, on-premise, waterfall world to the new modular, agile, domain-driven, multi-tenant, cloud-based microservices world. The challenges come from different directions: both technical and organizational aspects have to be mastered. The domain has to be understood, so that the system can be structured right. The big bang has to be avoided.
In this talk we will look at how our “fictional” company has struggled with and…
As more organizations are moving to the cloud, cloud architectures are getting more sophisticated by having a kind of technology diversity. This includes for example container orchestrators, database services, networking components & virtual machines.
When it comes to security, observability on this diversity is paramount. The main question here is, do you really perceive when your app landscape is under attack?
In this session, you'll have the opportunity to see various attack vectors & ways to…
Gute Software-Architektur strukturiert komplexe Software-Systeme so übersichtlich, dass Menschen sie verstehen und weiterentwickeln können. Also geht es bei der Software-Architektur um den Faktor Mensch. Deswegen kann sich Architektur aber nicht auf Maßnahmen für die Strukturierung der Software begrenzen, sondern muss sich auch mit den Menschen beschäftigen. In diesem Vortrag geht es um einige konkrete Ansätze und Erfahrungen, die Entwicklung durch Maßnahmen in Bezug auf den Faktor Mensch zu…
Microfrontends are a popular concept for development in an enterprise project, where a large number of teams want to work independently.
But what is the cost achieving run-time integration and independent framework versions?
JS frameworks intended to build SPAs have solved many problems like deep-linking between pages without reloading the application.
This talk will give you some real life experience which challenges are to be considered using different integration patterns, using…
Nach einer Fusion standen wir vor vielen Herausforderungen: Konsolidierung zweier großer IT-Landschaften auf eine, Integration und technologische Modernisierung. Dabei müssen wir Anforderungen aus Markt und Regulatorik weiter bedienen. Hierfür benötigen wir Architekturkompetenz.
Im Vortrag zeigen wir, wie wir unsere Architekturkompetenz durch Einführung einer neuen dezentralen Architekturrolle stark skaliert haben.
Wir stellen vor, wie wir die neue Rolle ins Architekturmanagement eingebettet…
Ein großer Teil der Software-Entwicklung besteht aus Wartungsarbeit. In Ausbildung und Studium haben wir oft jedoch nur die Neuentwicklung kennengelernt. Überforderung droht, Frust baut sich auf und die Freude an der Software-Entwicklung geht verloren. Das muss nicht sein!
Wir stellen die Rolle "Evolutionist" vor, welche sich auf die qualitativ angemessene Weiterentwicklung bestehender Systeme fokussiert. Wir blicken auf das notwendige Skill- und Mindset sowie erste Praktiken, um mit großen und…
Expanding Horizons, the motto of OOP 2024, invites exciting thoughts about the future of software engineering. What will a developer's working day look like in 2034? What environments, tools, and practices will they use to create, test, deploy, and operate software? What will our daily lives look like in a digitalized world in 2034? What types of software systems will be everywhere? What systems will we use at work? What architectures and technologies do these systems rely on? Frank and Kevlin…
Wir müssen Teams in die Lage versetzen, den größten Teil der architektonischen Arbeit selbst zu erledigen. An dieser Stelle kommen Team Topologies (M. Skelton und M. Pais) ins Spiel. Dort gibt es die Topologie des "Enabling Teams", welches knapp zusammengefasst, andere Teams mit Wissen und Methodik unterstützt. Dieser Vortrag gibt Ihnen einen Überblick sowie eine praktische Anleitung, wie Sie ein Architekturteam in ein Enabling Team umwandeln können, welches andere Teams unterstützt und…
Der Begriff „Plattform“ ist leider „überstrapaziert“. Wegen der Popularität großer Plattformen und Plattform-Unternehmen wird der Begriff inflationär gebraucht. Dadurch reden selbst Experten in der IT-Industrie kontinuierlich aneinander vorbei.
Der Vortrag präsentiert eine Landkarte mit Architektur-Big-Picture durch den Plattform-Dschungel, die dabei hilft, verschiedene Arten von Plattformen zielsicher zu erkennen und zu verstehen. Sie erlaubt Architekten, den Überblick zu behalten und alle…
In den letzten Jahren kamen immer öfters Microservices zum Einsatz. Durch den Einsatz vieler kleinerer Services wurde der Einsatz der synchronen Kommunikation immer schwerer und komplexer. Wir können nicht mehr sicherstellen, dass zu jedem Zeitpunkt alle Systeme verfügbar sind und dass alle Änderungen zu jedem Zeitpunkt Konsistent sind. Denn die synchrone Kommunikation sorgt für eine enge Kopplung zwischen den einzelnen Diensten und kann dafür sorgen, dass beim Ausfall eines Dienstes zeitgleich…
Vielen Anwendungen steht der Schritt zu einer Cloud-native Entwicklung noch bevor.
Wie bei jeder guten Reise beginnt das mit den eigenen Anforderungen und vorhandenen Möglichkeiten.
Welche Optionen und Herausforderungen gibt es dabei zu beachten?
Für eine Java-Webanwendung wird in mehreren Szenarien gezeigt, wie man diese mit AWS-Diensten betreiben kann.
Dabei werden die Vor- und Nachteile der Replatforming- und Rearchitecture-Wege diskutiert und Fragen beantwortet.
Zielpublikum:…
In this session, two co-creators of Org Topologies™, Alexey Krivitsky and Roland Flemm, will share a method to design, assess and improve your organizational ecosystem.
They will do that by familiarizing you with a set of organizational archetypes that are easy to spot. Hopefully, you will have much better clarity on which organization ecosystem you want to build and which behaviors you expect it to exhibit.
You shall be able to take this tool home and use it as a map in your ongoing,…
Domain-driven Design (DDD) steht für eine Vielzahl an Techniken wie strategisches DDD, taktisches DDD und kollaborative Modellierung. Dieser Vortrag gibt einen Überblick über das DDD-Universum. Dabei stellt er nicht nur die verschiedenen Konzept vor. Er zeigt außerdem auch die jeweiligen Vor- und Nachteile der Praktiken auf und weist auf die typischen Fallstricke hin - und wie man sie vermeiden kann.
Zielpublikum: an Software-Architektur Interessierte
Voraussetzungen: Grundlegendes Verständnis…
Für ein modernes Web-Frontend greift man am besten zu Angular, React & Co., oder? - Nicht unbedingt! Auch native Bordmittel, zusammen mit ein paar Libraries, können eine echte, leichtgewichtige Alternative sein. Und man kann sogar schrittweise dorthin migrieren. Basierend auf konkreter Projekterfahrung, möchte ich den Blick für diesen Ansatz schärfen, Vor- und Nachteile aufzeigen und das Ganze anhand von Codebeispielen illustrieren.
Zielpublikum: Architekt:innen, Entwickler:innen
Voraussetzungen…
Gefühlt stand das Akronym WWW lange Zeit eher für Wild Wild West. Architekturmuster und -Prinzipien waren im Frontend oft die Ausnahme. Erst mit der letzten großen Frameworkwelle und dem Siegeszug von SPAs begann ein längst notwendiges Umdenken.
Neuere Technologien führen aber nicht automatisch zu einer besseren Architektur. Es gilt, nach wie vor, Architekturmuster gezielt einzusetzen. Eines der bekanntesten Muster im Domain-Driven Design ist die Hexagonale Architektur. Wann lohnt sich der…
Softwaresysteme sind oft große, verwachsene Strukturen, welche Softwareschaffende nach einiger Zeit wieder in Form bringen müssen. Es ist aber eine Herausforderung, einen Überblick über das wuchernde Konglomerat von Softwarekomponenten und Funktionalitäten zu gewinnen, ganz zu schweigen von der Entwicklung eines klaren Plans für das weitere Vorgehen. Im Vortrag verwende ich Analogien aus der Pflege von Apfelbäumen, um Softwaremodernisierenden zu zeigen, wie sie ihre Softwaresysteme mit einem…
Beim Analysieren und Zerlegen von Legacy-Systemen nach DDD sind wir auf Domänen gestoßen, die einfach in Subdomänen aufgeteilt werden konnten, und auf Domänen, bei denen es deutlich schwieriger war. Auch das Alter und der Entwicklungsgrad einer Domäne haben Einfluss auf unsere Möglichkeiten, gute Subdomänen zu finden und die Legacy zu modularisieren. Inzwischen können wir diese Unterschiede beschreiben und haben verschiedene Domain Patterns gefunden und benannt. Ich freue mich auf Feedback und…
Many developers evoke technical debt to explain the misfortunes and troubles of their codebase and delivery. While unmanaged technical debt weighs down an architecture and exerts drag on its schedule, it is more often an effect than a cause. In this talk, we will look at what is and is not meant by technical debt with a view to properly attributing the root and recurring cause as technical neglect than technical debt. Without seeing technical neglect for what it is, we will continue to…
Auch wenn ihr Microservices bereits umgesetzt habt, hängt ein wirklich erfolgreiches Produkt von technisch weiterführenden, methodischen und organisatorischen Themen ab. Wie stark ist die vertikale Idee ausgeprägt? Gibt es eine “Thinnest Viable Platform” und einen Pfad des geringsten Widerstands? Wie gut sind empirische Prozesse ausgeprägt und wie dezentral sind eure Entscheidungswege? In diesem Talk geben wir die Möglichkeit zum Self-Assessment und liefern damit Impulse, Microservices besser zu…
Effizienz/Performanz gehört neben Sicherheit zu den meistgefragten Qualitätsattributen. Doch was heißt überhaupt Performanz und wie sollten Software-Architekten damit konkret umgehen? Gibt es einen Unterschied zwischen Performanz und Skalierbarkeit? Gibt es Architekturkonzepte, die sich beim Umgang mit Performanzkriterien als nützlich erweisen? Und wie lässt sich die Performanz eines Systems testen? Diese und andere Fragen möchte der Vortrag beantworten.
Zielpublikum: Entwickler:innen,…
Xin has lived and breathed DDD for more than a decade. Drawing on her experiences, Xin makes a case for DDD’s rising relevance in a post-modern world, where aging companies struggle with aging software, while adding new software and complexity to their IT portfolio. With good attractor effect DDD is evolving from a software-centric design discipline to a multi-dimensional toolbox. Join Xin to reflect together on, how DDD can help us sustain meaning and productivity in a reality of vast…
A main theme in modern architectures is around fine-grained, isolated, reactive components, that are managed by autonomous teams (think microservices). This is considered key to decoupling, which, in turn, leads to business agility. Unfortunately, this often goes wrong and people end up with more tightly coupled systems, that are hard to understand and change - the opposite of agility. In this talk, I will explore why this happens and provide my view on how process orchestration can improve the…
Architecture work has to balance providing clear guidance for important decisions with empowering people to build their aspects of the system without interference. In this session we'll explore how security principles can help achieve this for application security. The talk explains how principles can guide design decisions without being too prescriptive and explains a set of ten proven principles for designing secure systems, distilled from security engineering practice but presented in…
Dass Event Storming eine Methode aus dem Domain-driven Design ist und man damit ein gemeinsames Verständnis der Fachlichkeit erreichen kann, ist vielen bekannt. Ich möchte in dieser Session darüber hinausgehen und euch zeigen, wie man Event Storming auch als eine Grundlage für einen guten Serviceschnitt nutzen kann.
In meinem Vortrag erläutere ich euch die Vorteile von Event Storming und verprobe die Methode anhand eines Praxisbeispiels. Das Ziel ist die Erstellung von Aggregaten, die die Basis…
Das eigene Software-System in Microservices transformieren? Unabhängig davon, wir Softwerker sollten auch bestehenden Code entlang von Fachlichkeiten besser trennen. Wie gehen wir vor? Strangler-Pattern? Ist keine praktische Anleitung. Den Code in Geschäftsdomänen konzeptionell aufteilen und dann neu zu strukturieren? Klingt nach Big-upfront-Design.
Im Vortrag zeigen wir, wie man die bestehende Datenbasis über Code hinaus nutzen kann. Wie man z.B. die Features (im Issue-Tracker) oder die…
Henning (OO to the core) and Mike (ferociously FP) agree on all the fundamentals of software architecture, but when it comes to designing models, they can't seem to find common ground.
OO and FP folks like to congratulate themselves on how well they go together - and how OO languages are accreting one feature after another from the FP world.
Henning and Mike will highlight how OO and FP approaches to design differ, and offer possible approaches to unifying both for mutual gain and insight.
Targe…
Expanding horizons has many facets. It means taking advantage of new opportunities that arise from technical progress, such as Large Language Models, or societal challenges like Sustainability. Expanding horizons also means taking responsibility. AI and data analytics have a direct impact on our future life, good and bad. Expanding horizons also means reflection on existing practice. We have perhaps forgotten the benefits of structured monoliths, or have sometimes overdone it with agility, which…
In Projekten treffen wir oft auf zwei Arten von Architekturdokumentation:
Gar keine oder veraltet in gigantischem Umfang. Der Effekt ist der gleiche – es wird nichts mehr dokumentiert, begründet mit "Keine Zeit" oder "Das findet niemand mehr".
Wir stellen Euch den Architecture Communication Canvas (ACC) vor, mit welchem Ihr in kurzer Zeit die wichtigsten Aspekte Eurer Architektur dokumentieren und kommunizieren könnt. Mit Praxisbezug zeigen wir Euch, dass Dokumentation sparsam und dabei nützlich…
Designing good applications has become more demanding than ever: Extremely flexibility. Super-fast to change. Never down. Increasing user demands. Sustainability. Fewer developers. More AI. The list appears to be endless.
Many demands have not existed 10 or 15 years ago. Some have changed dramatically. Still, the discussions regarding architecture barely reflect that. In this session, we will take a look at how the architectural demands have changed and how to tackle the challenges of today…
Continuous Software Architecture is an approach to software architecture that tries to move architecture from a set of up-front blueprints to a continually developed set of architectural knowledge and decisions. While a simple idea, actually putting it into practice can be difficult. In this talk we will briefly recap the idea of Continuous Software Architecture and then explore the key practices that are usually needed to achieve it, as well as the common problems and how to address them.
Targe…
Das Sicherstellen der Softwarequalität in Microservice-Architekturen ist eine echte Herausforderung: Unsere bewährten Ansätze skalieren nicht mehr für komplexe Systeme mit zahlreichen Komponenten.
Wir präsentieren unseren Ansatz, der die Softwarequalität in komplexen Microservice-Architekturen beherrschbar macht. Wir sammeln und visualisieren verschiedene Metriken an zentraler Stelle, setzen auf Alerting bei Anomalien und unterstützen damit unsere Teams, frühzeitig zu erkennen, wohin wir unsere…
Most current UI libraries provide great user experience with a vast of components. But when it comes to heavy customization and non-standard scenarios, especially for E-Commerce, they become hard to manage, scale or even slow down performance. How to create a UI library that provides users the most possible freedom in customizing components, while keeping our performance and scalability to the fullest? How much customization freedom is enough? That's what my talk is about.
Target Audience:…
Last year in open source, we saw the compliance threat shift from license violation to contract violation, we saw the rise of the bill of material as a purchasing requirement, and we saw the continued growth of source-available licenses. If you don't know what I'm talking about, you really need to attend, because your business is at risk if you don't understand these changes. In this annual talk, I will review the last year and speculate about what the future may bring.
Target Audience: Product…
In a microservices architecture, services shall be as loosely coupled as possible. Still, they need to communicate with each other in order to fulfill business requirements. Now there are so many questions around this communication (synchronous vs asynchronous, event-driven? what is the influence on the coupling of your services? ...?). This talk will help you answer these questions for your project. You will better understand not only the architectural implications but also the effect on the…
Eine explizite Softwarearchitektur ist der Garant für erfolgreiche Softwareprojekte. Zur Unterstützung der Kommunikation braucht es eine inhaltlich hinreichende und aktuelle Dokumentation. Der Docs-as-Code-Ansatz unterstützt, indem die Dokumentation in Form leichtgewichtiger Text- und Grafikformate näher an den Quellcode gebracht, in der Versionsverwaltung abgelegt, mit leichtgewichtigen Entwicklerwerkzeugen (IDE/Texteditor, Build-Tools, CI/CD-Pipelines) bearbeitet und in die…
In der leidigen Diskussion um Technologieoffenheit wird übersehen, dass für zukunftsfähige Organisationen Denkoffenheit zentral ist. Unser Bildungssystem schafft es nicht, diese bei jungen Menschen zu fördern. Daher wurde im April '23 ehrenamtlich die Initiative ZUKUNFTschaffen gegründet, die jungen Menschen Kreativität anhand Projektarbeit an den 17 SDGs* vermittelt.
In der interaktiven Session wird ein Win-Win-Win präsentiert, bei dem Nachhaltigkeit, Unternehmen & deren Mitarbeitende durch…
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 Ressourcen-Bedarf stark überdimensioniert und tragen so unnötig zur globalen Erwärmung bei. Wie sieht die Energiebilanz Ihres Clusters und Workloads aus?
Zielpublikum: Architekt:innen, Platform Engineers,…
Projekte unterschätzen des Öfteren die Rolle der Software-Architektur als Kommunikationsmittel zwischen den Beteiligten. Eine Architektur hat allerdings unmittelbar Einfluss auf Usability, Habitability, also sowohl beim Nutzen der Architektur als auch beim Nutzen der Implementierung. Um dem gerecht zu werden, müssen diese Qualitäten schon bei der Architekturerstellung Berücksichtigung finden.
Der Vortrag zeigt auf, wie sich dieses Problem durch einen systematischen Ansatz vermeiden lässt.
Zielpu…
Are you lost when folks talk about "quality" in the context of software? Just when you thought "high quality" means "good" and "QA" means "assure it's good", somebody hits you over the head with ISO 25010, where "quality" is just a neutral property of a software system. It's all a big happy pile of terminology quicksand where you sink faster the more you struggle for unambiguous and clear definitions. But we're here to help you out. We'll be looking at what's relevant about quality from a…
**TL, DR;** Embrace no-code to explore more models and throw most of those models away. You will quickly discover what works, and what matters, in the business process that you are automating. If it matters enough, you can extract it into a high-fidelity design in code.
Target Audience: Everyone with a stake in the software production process
Prerequisites: None
Level: Basic
Extended Abstract:
Many software projects still consume considerable resources, and take a long time before anything…
Zero Trust ist anfangs ein Schlagwort, das von jedem Unternehmen individuell interpretiert werden muss. Während Slogans wie "Never trust, always verify" allgemeine Zustimmung finden, gibt es schnell kontroverse Diskussionen, wenn man ins Detail geht. Steht das Netzwerk, die Identität, die Daten oder die Geräte im Vordergrund, oder geht es letztendlich um die Systeme?
In diesem Vortrag möchte ich unsere Erfahrungen mit Dir teilen, die wir bei der Implementierung von Zero Trust in der Deutschen…
Heutzutage erfordern Systeme eine hohe Bandbreite an Qualitäten: immer online, schnell, robust, elastisch, skalierbar und sicher, oder was auch immer Ihre Interessenvertreter unter Qualität verstehen.
Ich erkläre, was Software-Entwicklungsprojekte brauchen: spezifische, konkrete und überprüfbare Qualitätsanforderungen, und warum bestehende Normen (wie ISO) in dieser Hinsicht nicht ausreichen.
Abschließend zeige ich einen pragmatischen, leichtgewichtigen (Open-Source-) Ansatz, der zu spezifischen…
DDD ist momentan extrem populär, was zu falschen oder überzogenen Erwartungshaltungen führen kann. Diese werden in meinem Vortrag angesprochen. Ich stelle Ihnen anhand zahlreicher konkreter Beispiele aus der Praxis vor, wie man die meisten Probleme mit DDD vermeiden oder wie man mit DDD erfolgreich arbeiten kann. Dabei werden Facetten aus verschiedensten Blickwinkeln aufgegriffen: Entwicklung, Strategie, Fachmodellierung, Organisation und Agilität.
Der Vortrag soll ein Gespür für den Einsatz von…
Im Architektur-Entwurf treffen wir ständig Architekturentscheidungen, die im besten Fall explizit, dokumentiert und verstanden sind. Aber wie praktisch wäre es, wenn man kontinuierlich prüfen könnte, ob diese Richtlinien auch eingehalten werden? Hier helfen Architecture Fitness Functions. Wir zeigen, wie man mit ArchUnit solche Fitness Functions schreibt, die die Struktur unseres Codes überprüfen, und wie man diese in den Entwicklungsprozess integriert. Außerdem zeigen wir, wie man mit der API…
High traffic during business hours, no traffic at night, weekends and vacations, multiple teams, and several staging environments - these characteristics of a typical enterprise application. Pay-as-you-go, "scale-to-zero" and managed services make serverless architectures appealing for enterprise applications.
On-premise, on the other hand, you get the maximum flexibility and full access to machines with less automation and so more plumbing.
I will compare both approaches with focus on…
Great engineers often use back-of-the-envelope calculations to estimate resources and costs. This practice is equally beneficial in Machine Learning Engineering, aiding in confirming the feasibility and value of an ML project. In my talk, I'll introduce a collaborative design toolkit for ML projects. It includes Machine Learning Canvas and MLOps Stack Canvas to identify ML use cases and perform initial prototyping, thus ensuring a business problem can be effectively solved within reasonable cost…
Bei Software steht oft komplexe Fachlichkeit im Mittelpunkt: Medikamentenstudien, Steuerberechnung, Teleskopsteuerung. Idealerweise wollen wir Softwerker ein Tool entwickeln, mit dem Fachexperten selbstständig Studien, Steuerberechnungen oder astronomische Beobachtungen beschreiben können, sodass sie direkt von Software ausführbar sind. Herauszufinden, wie man die Domäne vollständig und präzise beschreibt, ist dabei extrem wichtig. Der Vortrag liefert dafür konkrete Practices, die sich über…
**TL,DR**; In this course you will learn to map your business and technological landscape in such a way that a common language emerges to discuss strategic thinking and decision-making.
Max. number of participants: 13
Target Audience: Architects, Developers, Project Leaders, Decision Makers
Prerequisites: Basic theoretical knowledge of DDD
Level: Advanced
Extended Abstract:
Organizations face more and more complexity these days as a result of a mesh of products, services, technology and the…
Fachliche Komponenten in Code auszudrücken ist und bleibt eine fundamentale Herausforderung in Softwareprojekten. Der Workshop zeigt, wie mithilfe von Spring Modulith Java-Applikationen strukturiert werden können und diese Struktur kontinuierlich validiert werden kann. Des Weiteren werden verschiedene Formen der Interaktion zwischen Anwendungsmodulen diskutiert, insbesondere die Kompromisse einzelner Varianten, und wie Module isoliert und in Zusammenarbeit getestet werden können.
Max.…