Track: Vorträge
- Dienstag
22.10. - Mittwoch
23.10.
Die richtige Datenarchitektur und Plattform für Datenanalyse und AI unterscheidet sich für jedes Unternehmen. Welche unterschiedlichen Wege gibt es? Welche Rahmenbedingungen beeinflussen Weg und Lösung? Wollen alle die eine, magische Plattform oder gibt es auch sehr spitz zugeschnittene, spezifische Lösungen? Auch die Herausforderungen unterscheiden sich: Den einen fehlt Know-how und Kapazität, andere sind erschlagen von der Komplexität der eigenen IT-Landschaft, wieder andere müssen alles ohne…
Why are we always complaining about old code? Why are we rarely happy when digging into old stuff, especially old code by other people?
It is very tempting to believe that you can easily do it better than that. And that you can improve the situation by rewriting code. By making stuff simpler. In the first park of this talk, I will dive into why we believe this. Expect some insights into psychology and into how our brains work :)
Second part: Why we are wrong, most of the times. Again, this will…
Eine auf (Micro-)Services 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 dieser Session…
Mit Architekturbewertungen ist es möglich, Schwächen und Potenziale von Softwarelösungen herauszuarbeiten, Entscheidungen abzusichern und Verbesserungsmaßnahmen zu bewerten. Klassische Analyseansätze aus diesem Umfeld wie ATAM sind fundiert, kommen aber gerade in beweglichen Softwarevorhaben etwas schwergewichtig, mitunter fast zeremoniell daher. In diesem Vortrag lernt ihr mit LASR (Lightweight Approach for Software Reviews) eine leichtgewichtige Herangehensweise kennen. Ihr könnt diese mit…
Was bedeutet es eigentlich, Domain-driven Design (DDD) umzusetzen? Dieser Vortrag führt durch ein vollständiges Beispiel und zeigt, wie verschiedene Techniken wie Event Storming, strategisches Design und taktisches Design zusammenwirken, um den Aufbau von Anwendungen zu unterstützen. Auf diese Weise bekommen die Teilnehmer praktische Hinweise, wie sie mit einem einfachen, aber vollständigen Ansatz mit DDD beginnen können.
Wie werde ich in der Architekturarbeit agiler, wenn ich "alte", historisch gewachsene Architekturen modernisieren muss, damit sie sich in die aktuellen IT-Plattformen integrieren lassen.
Architekturarbeit findet nicht immer auf der grünen Wiese statt. Wie im richtigen Leben, kommt es sehr selten vor, dass wir komplexe Architekturen auf dem Reißbrett neu konzipieren. Softwarearchitekturen werden ja immer gerne mit dem Städtebau assoziiert. In der Regel werden Städtebau-Architekten die meiste Zeit…
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 stelle ich ein Self-Assessment vor und biete damit Impulse, Microservices besser zu leben.
Wahrscheinlich liegt es am einprägsamen Bild der Testpyramide: Projekte strotzen nur so von tausenden winziger Tests mit zweifelhafter Bedeutung, und die Software funktioniert trotzdem nicht. Das ist nicht verwunderlich, denn diese Minitests vernachlässigen die Kollaboration der Bestandteile, auf die es genauso ankommt. Wir werden nicht für einzelne Klassen bezahlt, sondern für Features und Usecases, und die gilt es primär zu testen. Also mal Umdenken: Testunits nicht so klein, sondern so groß…
In the world of software development, legacy code often poses significant challenges. Existing codebases, built years ago, may lack documentation and understanding of the original domain. This lack of knowledge can hinder effective maintenance, upgrades, and feature development. The process of rediscovering the domain of legacy code is invaluable for developers seeking to enhance and extend these systems.
In this talk we'll delve into various domain re-discovery patterns that help in identifying…
Softwareentwicklung muss branchenübergreifend immer kürzeren Releasezyklen gerecht werden. Dieser Trend hat starke Auswirkungen auf die Qualitätssicherung, denn wir können Releases nicht länger in dedizierten Test- und Stabilisierungsphasen absichern. Vielmehr müssen wir dafür sorgen, dass unsere Softwaresysteme praktisch jederzeit die Qualitätsansprüche für ein Release erfüllen. Deshalb führen wir mit "Continuous Quality Control" Maßnahmen zur Qualitätssicherung (Codeanalyse, Tests, Reviews)…
Wie schafft man es, die sich stetig ändernden Anforderungen in Langzeit-Projekten kontinuierlich umzusetzen? Bestehende Qualitätsanforderungen stehen immer in einem Spannungsfeld zu neuen Qualitätsanforderungen und neuen fachlichen Anforderungen. Das lässt sich besonders bei Legacy-Software beobachten: Dort ist es typischerweise entscheidend, dass das System erweiterbar und wartbar bleibt – dies bringt aber oft größere Anpassungen der Architektur mit sich.
Dieses Dilemma beleuchten wir anhand…
Immer mehr Softwareprojekte setzen auf eventgetriebene Architekturen, da sie einfache Erweiterbarkeit, Robustheit und Skalierbarkeit sowie lose Kopplung versprechen. Oft wird dabei jedoch die Komplexität der Implementierung unterschätzt. Diese ergibt sich nicht nur aus technischen Herausforderungen, die gelöst werden müssen, sondern auch daraus, dass viele unterschiedliche Vorstellungen davon existieren, was eine eventgetriebene Architektur eigentlich ist und wie sie zu funktionieren hat.
Diese…
Migration von lange gewachsener Legacy-Softwareentwicklung birgt von vornherein viele Risiken. Häufig ist das Detailwissen zu großen Teilen der Fachlichkeit verloren gegangen. Der Code ist komplex und Tests gibt es sowieso nicht. Da liegt es in der Natur der Sache, dass der Aufwand für ein Migrationsprojekt schwer geschätzt werden kann. Das Ergebnis sind häufig Zeit- oder Budget-Überschreitungen. Nicht selten werden solche Projekte abgebrochen und als gescheitert erklärt.
Was kann man dagegen…
Resilience is an important issue these days. Many companies claim to have a resilient IT, very few have one.
What does it mean to be resilient? How do I get there? How can I figure out where I currently am? How can I improve?
We will look at several gradations of becoming resilient. We will examine their properties and tradeoffs and how to get there. We will discuss what we can achieve at an IT system level and when we need to address the whole socio-technical system.
At the end of the session,…
Domain-Driven Design ist kein Patentrezept und löst kein Problem auf magische Weise. Die Herausforderungen und die Komplexität, die wir mit DDD zu bewältigen versuchen, sind schwierig, und es gibt keinen einfachen Lösungsansatz. Nichtsdestotrotz gibt es eine wachsende Popularität und Wertschätzung für das Thema auf dem Markt, was zu überhöhten Erwartungen und schließlich zu Enttäuschungen führen kann.
Der Referent dieses Vortrags arbeitet seit 17 Jahren mit Domain-Driven Design an vielen…
Finding the right balance at work is neither an individual task nor is it only a team’s responsibility. It’s an interaction of both - and more! Leaders also play a vital role as they often (still) have a higher organizational lever.
In this session I will:
- define what sustainable pace is
- share common pitfalls that can “unbalance” a system (i.e. team, whole company, and also yourself)
- offer simple yet powerful self-care practises for individuals and for teams
- mix in psychological background…
usePAT ist Anbieter einer neuen Ultraschalltechnologie, die von einem multidisziplinären Team entwickelt wird. Die angebotenen IoT Systeme schließen Hard- und Softwarekomponenten ein, die Schnittstellen sind besonders komplex. Sie verbinden einerseits das Gerät mit der Steuerung eines industriellen Prozesses und andererseits die im Gerät erhobenen Daten mit den Menschen dahinter. Es werden auf Grund der Analysen sicherheitskritische Entscheidungen getroffen, die regulatorischen Anforderungen an…
Die Veröffentlichung von ChatGPT jährt sich nun bald zum zweiten Mal. Ein Ende des Hypes ist noch lange nicht abzusehen. Zu groß sind die Mehrwerte dieser Technologie, zu intuitiv ist der Umgang in Form eines Chats. Für das Jahr 2024 wurde erwartet, dass der Sprung vom explorativen Herumspielen mit Large Language Models (LLMs) zum produktiven Einsatz gewagt wird. Diese Prognose bewahrheitete sich und viele Unternehmen lagerten beispielsweise den Customer Support auf LLM-powered ChatBots aus.…
Single-Page-Anwendungen (SPA) sind einerseits weit verbreitet, andererseits aber auch umstritten. Sie bieten ein hohes Maß an Interaktivität und Komfort für Benutzer:innen, aber nicht für jede Anforderung ist eine SPA deswegen automatisch die richtige Wahl. Auf der anderen Seite wiederum sind "klassische" auf dem Server gerenderte Anwendungen oftmals nicht ausreichend, wenn es um Webanwendungen mit viel Interaktivität geht. Diese Lücke möchte die Bibliothek HTMX schließen, die serverseitiges…
Vor zehn Jahren habe ich zum ersten Mal einen Vortrag über Event-driven Architecture gehalten. Kafka war gerade seit zwei Jahren Open Source und bei Version 0.8, und nur ein paar Wochen vorher war Java 8 erschienen, und die erste Version von Spring Boot. Damals war gerade das Label "reactive" populär, und so hieß er "From Enterprise To Reactive". Unter anderem habe ich das Saga-Pattern propagiert.
In den zehn Jahren habe ich einiges dazugelernt - musste aber vor allem auch vieles erst einmal…
Softwaresysteme bestehen aus Bausteinen. Aber kann ein Softwaresystem Baustein eines anderen sein? Andersherum: Besteht ein System aus "Bausteinen all the way down"? Das wäre gut, weil beim Zusammensetzen die Details verschwinden und so konsequent abstrahiert wird – wir komponieren dann, anstatt einfach nur zu basteln. Das gleiche gilt für Domänenmodelle – sogennante Kombinatormodelle sind flexible Baukästen statt starrer Formulare.
Die Realität der meisten Systeme sieht leider anders aus:…