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
Daten sind Macht. Sie haben heute eine wesentliche Bedeutung, da auf ihrer Grundlage vermehrt neue Produkte und Geschäftsmodelle entwickelt und besser informierte Entscheidungen getroffen werden. Aktuelle technische Entwicklungen beginnen sich zu etablieren, um Daten in Datenökosystemen zu teilen, dabei aber als Dateneigentümer gleichzeitig auch volle Kontrolle darüber bewahren zu können. Das ermöglicht es Datenlieferanten, ihre individuellen Rechte zu wahren, und schafft die Grundlage für neue digitale Geschäftsmodelle.
Zielpublikum: Architekt:innen, Projektleiter:innen, Manager, Entscheider
Voraussetzungen: Fachkenntnisse zu digitalen Produkten, Produktentwicklung, Grundkenntnisse Software-Architektur
Schwierigkeitsgrad: Fortgeschritten
Extended Abstract
Die Bedeutung von Daten hat in den letzten Jahrzehnten stetig zu genommen. Während Daten früher meist nur als Ergebnis bzw. Nebenprodukt eines Prozesses verstanden wurden, hat sich die Rolle von Daten geändert hin zum Wegbereiter für Prozesse und für Produkte. Häufig werden Daten heute als strategische Ressource und sogar selbst als Produkt gesehen. In Datenökosystemen werden Daten heute genutzt, um neue Geschäftsmodelle zu entwickeln und besser informierte Entscheidungen zu treffen. Endnutzer spielen hier eine kritische Rolle, weil sie als Datenlieferanten häufig weder autonom darüber entscheiden können, wer ihre Daten nutzt, verarbeitet, speichert und bewegt noch darüber informiert werden, welche Datenflüsse überhaupt stattfinden. Eine einmal getroffene Entscheidung, Daten zu teilen, kann häufig nicht mehr vollständig rückgängig gemacht werden. Die seit vielen Jahren, in Medien, gehäuft diskutierten Datenskandale haben dazu geführt, dass Misstrauen bei Nutzern entsteht, was die Entwicklung von Datenökonomien negativ beeinflusst. Datenmissbrauch ist insofern kritisch, da Daten, werden sie heute unreguliert weitergegeben oder in die falschen Hände gegeben, morgen aufgrund technischen und kulturellen Fortschrittes mehr Informationen als heute offenbaren können, was für den Einzelnen potenziell unvorhersehbare negativen Folgen haben kann. Da Nutzer in Bezug auf Datenschutz häufig irrationale Entscheidungen treffen, stehen Unternehmen umso mehr in der Verantwortung, Sorge zu tragen, die Nutzer ihrer Produkte dabei zu unterstützen, ihr Recht auf souveräne Bestimmung über die Verwendung ihrer Daten ausüben zu können. Das hat auch die Politik erkannt und Datensouveränität – eine Ebene digitaler Souveränität – als digitalpolitisches Schlüsselkonzept positioniert und die Entwicklung einheitlicher technologischer Grundlagen gefördert. Die im Vortrag vorgestellten Entwicklungen, rund um die Referenz-Architektur International Data Spaces, ermöglichen die Etablierung dezentraler Daten-Architekturen, bei der Daten in Datenmarktplätzen geteilt und Dateneigentümer verlässlich Nutzungsbedingungen an Datenlieferungen knüpfen können. Auch Projekte wie Solid, von Tim Berners-Lee, zahlen darauf ein, Nutzern die Kontrolle über ihre Daten zurückzugeben. Beide Projekte haben verschiedene Schwerpunkte, können sich bei der Ausgestaltung einer technischen Architektur aber auch sehr gut ergänzen. Ziel des Vortrags ist es, deutlich zu machen, wie aktuelle technologische Entwicklungen es möglich machen wollen, Datenökonomien zu etablieren, die auf gemeinsamen verlässlichen Regeln und Standards basieren, und wie dabei die deutlich sichtbar werdenden digitalethischen Implikationen beim Teilen von Daten effektiv adressiert werden. Außerdem soll gezeigt werden, welche neuen digitalen Geschäftsmodelle damit möglich werden und wie alle Beteiligten dabei von Fairness und Transparenz profitieren.
Datenkonvertierungen sind in fast allen Projekten ein notwendiges Übel. Egal, ob es sich um ein Legacy-System handelt oder ob einfach Daten von einem anderen System übernommen werden müssen.
Trotzdem hat man oft das Gefühl, dass immer wieder von vorne angefangen wird.
Dieser Talk zeigt neben der Planung und Vorbereitung auch einige Tipps & Tricks aus dem Projektalltag.
Zielpublikum: Entwickler:innen, Architekt:innen, Projektleiter:innen, Administratoren
Voraussetzungen: Programmierkenntnisse, Kenntnisse über Datenhaltung, allgemeine Projekterfahrung
Schwierigkeitsgrad: Fortgeschritten
Thomas Ronzon arbeitet seit 2000 als Projektleiter und Senior Software-Entwickler bei der w3logistics AG in Dortmund. Dabei beschäftigt er sich vor allem mit der Modernisierung von unternehmenskritischen Logistikanwendungen.
In der Zeitschrift JavaSPEKTRUM berichtet er regelmäßig über neue „Tools“ für Architekten (The Tool Talk). Darüber hinaus veröffentlicht er regelmäßig Fachartikel und spricht auf Konferenzen. Thomas taucht leidenschaftlich gerne und tief in technische Aspekte ein, verliert dabei jedoch nie den Bezug zur Fachlichkeit. Mit viel Empathie, Erfahrung und konkreten Lösungsvorschlägen schlägt er damit immer wieder die Brücke zwischen Business und IT.
Vortrag Teilen
Vortrag Teilen
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: Architects, Developers
Prerequisites: Basic knowledge of Python, Java
Level: Advanced
Extended Abstract
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. The systems spans different contexts, from client to cloud, and different programming languages, from Python to Java, respectively. We will showcase how the Rust language itself and its tooling simplified this task and discuss different integration patterns.
Vortrag Teilen
In today’s software-driven world, the integrity of software assets isn’t just a regulatory and compliance requirement, it’s critical for maintaining trust and avoiding irreparable damage to your brand and reputation. We found that Compliance, Software Chain of custody and in-App Security as well as API Security are seen as an overburdened bureaucracy. But they have to be part of your software value stream. So the question is, how they can be so lean, automated and optimized that they can contribute actual value inside your DevSecOps Approach?
Target Audience: Architects, Developers
Prerequisites: Project development experience
Level: Advanced
Extended Abstract
In today’s software-driven world, the integrity of software assets isn’t just a regulatory and compliance requirement, it’s critical for maintaining trust and avoiding irreparable damage to your brand and reputation.
The same also applies to Quality, In-App Security, and API Security in a more and more digitized world.
In a lot of case studies, we found that Compliance, Software Chain of custody and in-App Security as well as API Security are seen as an overburdened bureaucracy. But in all cases, they have to be part of your software value stream.
So the question is, how they can be so lean, automated, and optimized that they can contribute actual value inside your DevSecOps Approach? In the lecture we provide some key insight in how to solve that dilemma and integrate them into your day-to-day work.
Matthias Zieger ist seit fast 25 Jahren in der IT-Branche tätig – mit Rollen in Soft-wareentwicklung, Architektur, Testautomatisierung, Application Lifecycle Ma-nagement und DevOps für IBM, Borland, Microsoft und codecentric. In den letzten Jahren hat er große Unternehmen dabei unterstützt, ihre Software mit der Relea-se-Orchestrierung und Deployment-Automatisierung von XebiaLabs schneller in Produktion zu bringen – von klassischen Java EE-Umgebungen über Container und Cloud bis hin zu serverlosen Architekturen. Seit zwei Jahren bei Digital.ai hilft er großen Unternehmen, ihre Ziele der digitalen Transformation durch Value Stream Management schneller zu erreichen..
Der verstärkte Einsatz von Microservices führt zu einer erhöhten Kommunikation zwischen den Systemkomponenten. Bei der technischen Realisierung sind REST-Schnittstellen für die synchrone und Message Broker für die asynchrone Informationsverteilung weit verbreitet. Wenn es aber um den Inhalt und die syntaktische Struktur der Nachrichten geht, kann es leicht zu einer babylonischen Sprachverwirrung kommen. In diesem Vortrag betrachten wir verschiedene Ansätze, um einer solchen Sprachverwirrung Einhalt zu gebieten.
Zielpublikum: Architekt:innen, Entwickler:innen
Voraussetzungen: Projekterfahrung
Schwierigkeitsgrad: Anfänger
Extended Abstract
Der verstärkte Einsatz von Microservices führt zu einer erhöhten Kommunikation zwischen den Systemkomponenten. Bei der technischen Realisierung sind mittlerweile REST-Schnittstellen für die synchrone und Message Broker für die asynchrone Informationsverteilung weit verbreitet. Wenn es aber um den Inhalt und die syntaktische Struktur der Nachrichten geht, kann es leicht zu einer babylonischen Sprachverwirrung kommen.
„Ach, das Feld. Ne, das haben wir doch umbenannt“ oder „Dieses Feld haben wir doch schon vor Wochen entfernt und dies über … bekannt gegeben“ dürften bekannte Sätze sein, wenn man den Gesprächen der beteiligten Entwickler lauscht.
In diesem Vortrag möchte ich vor allem im Hinblick auf einen asynchronen Nachrichtenaustausch einige Ansätze betrachten, um einer solchen Sprachverwirrung Einhalt zu gebieten. Anschließend werden wir einen Blick auf die schema-basierte Lösung werfen, die wir im aktuellen Projekt einsetzen.
Vortrag Teilen
(Agile) Games are sounding throughout the land. Everyone plays games and anyone guides games. However, what makes playing games "interesting" from the business owner's perspective?
We look into the criteria of effectiveness and efficiency of games and thus the capabilities of creating business impact for the company.
As such, it turns out a game - is just a game and remains a play if one does not align with underlying business needs. Sounds familiar? But you wonder how to do so?
In this talk, we will look in a 4-Step-Modelmaking the obvious tangible. And in the end, it becomes a structured approach how one might create business impact too.
Target Audience: Moderators, (young) Scrum Masters, Project Leaders, Managers, Decision-Makers, Facilitators
Prerequisites: General understanding of games and agility, and how to lead games successfully
Level: Basic
Ihr Motto „You go first! – Nimm dein Leben in die Hand!", steht für ihr Tun: Rein in den nachhaltigen Erfolg durch Eigenverantwortung und Selbstführung.
Anne Hoffmann unterstützt Menschen und Organisationen dabei, erfolgreich ihre Ziele zu erreichen. Als Expertin für Selbstführung und mit ihrem Motto „You go first!“ erinnert sie daran, dass nachhaltiger Erfolg durch hohe Eigenverantwortung insbesondere dann entsteht, wenn diese Selbstführung vorgelebt wird.
Anne benutzt oft Spiele, um Erkenntnisse weiterzugeben.
So many challenges, so little time. As testers or quality engineers, we need to sharpen the saw, but how? Gamification can be a way to look at how you're doing and find out where to improve. It's a great way to have everyone engaged and get the best out of people.
In this presentation, Ben Linders will show how playing games (onsite or online) with the Agile Testing Coaching Cards and Agile Quality Coaching Cards help to explore your current quality and testing practice and decide as a team on what to improve or experiment with.
Target Audience: Testers, Agile Teams, Tech Leads, Technical Coaches, Scrum Masters
Prerequisites: None
Level: Advanced
Extended Abstract
The Agile Testing Coaching Cards and Agile Quality Coaching Cards are a deck of cards with statements that help people to share and reflect. Examples of cards are "Testers help developers design acceptance criteria for user stories", "Failing tests get proper attention even when no defect in the product has been detected", and "Refactoring is done to keep code maintainable and reduce technical debt".
Playing games with these coaching cards (onsite or online), you can learn from each other. Teams can use the coaching cards to discuss quality and testing values, principles, and practices, and share their experiences and learnings.
Different game formats can be used to share experiences on testing and quality principles and practices and explore how they can be applied effectively. The playing formats from the Agile Self-assessment Game (benlinders.com/game) can be used to play with these cards. This presentation provides an overview of playing formats and will inspire you to come up with your own formats.
Facilitation is key when playing with these coaching cards. Ben Linders will present how to prepare a game session and facilitate it, what can be done to keep people engaged, and how debriefing can help to pull out learnings and ideas for improvement.
Takeaways:
- Show how to use gamification to self-assess your current way of working.
- Present examples of playing games with the Agile Testing Coaching Cards and Agile Quality Coaching Cards.
- Explore how facilitating games can help to enhance quality and testing in agile teams.
If any person or groups of people feel unwelcome because of the language being used in a community, its products, or documentation, then the words should change. We can choose words that are precise, not dependent on metaphors, and convey messages without negative connotations.
We will discuss the process of auditing our own work and identifying divisive language. We will also talk about methods to standardize replacements and collaborate with writers and product developers to carry out these changes in a sustainable way.
Target Audience: Content creators (writers, developers, etc.) and management
Prerequisites: None
Level: Basic
Vortrag Teilen
Mit Microservice-Architekturen & DevOps-Prozessen werden große zentrale Security Gateway-Installationen zunehmend in Frage gestellt. Die notwendige Koordination zwischen Anwendungsverantwortlichen, Administratoren, Entwicklern & Security führt zu Effizienzverlusten und Frustration. Besser wäre es, Security-Aufgaben mittels Microgateways zu erledigen. Der Vortrag beleuchtet technische und organisatorische Herausforderungen von Microgateways und zeigt in einer Demo, wie Microgateways genutzt werden können, um existierende Services zu schützen.
Zielpublikum: Architekt:innen, Entwickler:innen
Voraussetzungen: Projekterfahrung
Schwierigkeitsgrad: Anfänger
Extended Abstract
Mit dem Aufkommen von Microservice-Architekturen und DevOps-Prozessen werden große zentrale Security Gateway-Installationen zunehmend in Frage gestellt. Die notwendige Koordination zwischen Anwendungsverantwortlichen, Administratoren, Entwicklern und dem Security-Team führt zu Effizienzverlusten und Frustration. Besser wäre es, wenn Security-Aufgaben nahe bei den zu schützenden Services mittels sogenannter Microgateways erledigt würden. DevOps-Teams könnten die Verantwortung für die Sicherheit ihrer Services von der ersten Minute an bis in die Produktion übernehmen (Shift Left). Der Vortrag beleuchtet technische und organisatorische Herausforderungen rund um den Einsatz von Microgateways. Zudem wird in einer Demo gezeigt, wie Microgateways konkret genutzt werden können, um existierende Services zu schützen.
Bei der Berücksichtigung von UX im Software Development sehen sich Unternehmen häufig vor neue Herausforderungen gestellt. Wichtige Faktoren stellen Kosten, Zeit, die nachhaltige UX-Integration in die bestehende Vorgehensweise und spezifische Einschränkungen in der Praxis dar. Im Rahmen des Vortrags bieten wir einen Einblick in unsere Projekterfahrungen sowie die relevantesten Erkenntnisse und präsentieren unsere daraus abgeleitete Vorgehensweise.
Zielpublikum: Entscheider, Projektleiter:innen, UX-Spezialist:innen und -Interessierte, Schnittstellen IT und Fachbereich
Voraussetzungen:Grundkenntnisse menschzentrierter Gestaltung/UX, Projekterfahrung
Schwierigkeitsgrad: Fortgeschritten
Extended Abstract
Klingt die Berücksichtigung der UX geradezu paradiesisch, zeigen sich dabei häufig unerwartete Herausforderungen. Zwar gewinnen die Relevanz und der Mehrwert der Nutzerzentrierung an Bekanntheit, dennoch besteht nicht selten Skepsis seitens Kollegen oder Kunden. So werden gelegentlich weiterhin Aussagen wie „UX kostet mehr Zeit und Geld“ als Argument gegen die Berücksichtigung von UX in Projekten verwendet.
Daraus ergeben sich für die Integration von UX zunächst zwei Faktoren:
Darüber hinaus sehen sich Unternehmen im Zuge der Berücksichtigung von UX im Software Development vor weiteren organisatorischen Hürden. Häufige Fragen, denen sie sich stellen müssen, sind mitunter:
Wir haben uns dieser Fragen angenommen und verschiedene Vorgehensweisen verprobt.
Zu unseren wichtigsten Erkenntnissen gehört, dass der Einfluss menschzentrierter Gestaltung bei richtigem Einsatz über eine positive UX hinaus geht: Nicht nur die Endnutzer sind mit den Ergebnissen zufriedener, sondern auch die Stakeholder, zu denen häufig auch die beteiligten Fachabteilungen zählen. Während eine gemeinsame, kohärente Produktvision und positive UX sichergestellt werden, erfolgt obendrein eine Beschleunigung des Software Developments. Dies führt zu einem nachhaltigen und begehrenswerten Endprodukt. Wie das möglich ist, wird im Rahmen des Vortrags vorgestellt. Wir bieten einen Einblick in unsere Projekterfahrungen und stellen unsere daraus abgeleitete Vorgehensweise vor.
Vortrag Teilen
Each project has its own unique technology stack, different business logic and a unique team. The definition of quality in our projects can vary greatly. However, there are good practices that will work everywhere. There are steps that can be taken in every project and team to produce the software of better quality. I will tell you how to improve communication and processes, and what tools we can use not to be ashamed of the fruits of our work. Everything from a programmer's perspective.
Target Audience: Developers and Tech/Project Leaders
Prerequisites: Some experience in profesional software development
Level: Advanced
Extended Abstract
Each project has its own unique technology stack, different business logic and a unique team. Some of us work on mature products that have been in production for many years. Others are constantly struggling to innovate in the race against time. The definition of quality in our projects can vary greatly. However, there are good practices that will work everywhere. There are steps that can be taken in every project and team to produce the software of better quality. I will tell you how to improve communication and processes, and what tools we can use not to be ashamed of the fruits of our work. Everything from a programmer's perspective.
“TDD is when you write tests before implementing the business logic” - a simple sentence that is also often misunderstood.
Moving from one project to another, I have observed how many times people were terrified of TDD. I have been there too.
This session will focus on trying to understand HOW and more importantly WHY you should consider TDD. I've transformed failures from my experience into a series of lessons learned, things that in hindsight should have been obvious.
Target Audience: Architects, Developers
Prerequisites: Basic knowledge in testing techniques
Level: Basic
Vortrag Teilen
Vortrag Teilen
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 Richtungen Vertrauen ausstrahlen, dass das Projekt und die Organisation auf dem richtigen Weg sind. Dazu gehört auch, die richtigen Probleme zu kennen und die richtigen Lösungen zu wählen.
Machen Sie mit: in dieser interaktiven Session reden wir darüber. Wir betrachten das Neue und das Mitgenommene, die Lösungen und die Nebenwirkungen, die Stakeholder und ihre Prioritäten.
Zielpublikum: Architekt:innen, und die mit ihnen arbeiten
Voraussetzungen: Rollenerfahrung
Schwierigkeitsgrad: Fortgeschritten
Die meisten unserer alltäglichen Notizen leiden unter dem “Lang-und-unleserlich”-Syndrom, weswegen sie schnell im Altpapier landen. Oft helfen diese Notizen nicht dabei, sich an die wichtigen Dinge zu erinnern. Dabei haben wir sie doch genau dafür erstellt!
Alle können Sketchnotes erstellen: Ich zeige dir, wie du mit dem Sketchnoten starten kannst, worin die Vorteile liegen, und wir zeichnen Schritt für Schritt Symbole für abstrakte IT-Begriffe, damit du deine erworbenen Kenntnisse auf der OOP einsetzen kannst.
An die Stifte, fertig, los!
Zielpublikum: Alle
Voraussetzungen: Papier und Stift (digital oder analog)
Schwierigkeitsgrad: Anfänger
Extended Abstract
Alle von uns machen im Berufsalltag unzählige Notizen - von Vorträgen, Meetings, komplexen Aufgaben, …
Die meisten dieser Notizen leiden unter dem “Lang-und-unleserlich”-Syndrom, weswegen sie schnell im Altpapier landen. Oft helfen diese Notizen nicht dabei, sich an die wichtigen Dinge zu erinnern. Dabei haben wir sie doch genau dafür erstellt!
Gemeinsam erkunden wir die Welt der Sketchnotes. Du erfährst, was Sketchnotes sind, und wie du sie in deinen Arbeitsalltag integrieren kannst. Du bist hier richtig, wenn du deine Notizen endlich hilfreicher gestalten möchtest. Dafür brauchst du keine 1 in Kunst, sondern einfach nur Lust, mal etwas Neues auszuprobieren.
Alle können Sketchnotes erstellen: Ich zeige dir Wege, wie du „erstmal langsam“ mit dem Sketchnoten starten kannst. Damit du dein erworbenes Wissen bei den nächsten beiden Tagen der OOP nutzen kannst, zeichnen wir gemeinsam Schritt für Schritt einige Symbole für abstrakte Begriffe aus der IT.
An die Stifte, fertig, los!
When breaking up our software into modules we all too often forget the important social aspects; how the design affects the teams. We need modules that not only make us efficient but also harmonious.
We know that good fences make good neighbours, but only when the boundaries are placed correctly. We are going to take a closer look at why modularity is needed, what it actually can do for us, and how we can increase our chances of getting it right by taking a systems thinking approach.
Target Audience: Software Architects, Developers, Systems Designer
Prerequisites: None
Level: Expert
Extended Abstract
Modularity is a key aspect of software and architectural design, setting explicit boundaries between different parts of the system. But we have been banging on about this since the 70s, and still we are creating big balls of mud -- now even the distributed kind. Either modularity as a concept is insufficient or maybe there are aspects here we seem to get wrong. We know that good fences make good neighbours, but only when the boundaries are placed correctly. How can we create robust and sustainable modular designs when identifying those boundaries are so challenging?
In this talk, we are going to take a closer look at why modularity is needed, what it actually can do for us, and how we can increase our chances of getting it right by taking a systems thinking approach. The claim made is that a holistic view of the problem space is critical; one that considers all its parts, including the business and all the people affected. Software development today is inherently a sociotechnical endeavour and any modularisation effort, be it information hiding, SOA, microservices, DDD, Team Topologies and more, must take this into account in order to be able to create solutions that are sustainable and have the necessary conceptual integrity.
In summary, this talk will help you piece together all of the these good modularisation practices and understand the theory behind them, improving your holistic system design skills, and enabling you to create requisite coherence in your designs. Maybe this will guard you against the dreaded distributed big ball of mud, the killer of agility and productive collaboration.