Please note:
On this page you will only see the English-language presentations of the conference. You can find all conference sessions, including the German speaking ones, here.
The times given in the conference program correspond to Central European Time (CET).
- Montag
03.02. - Dienstag
04.02. - Mittwoch
05.02. - Donnerstag
06.02. - Freitag
07.02.
Agile teams don't want to depend on outside help to solve problems and deliver value. In this tutorial, we will practice culture change through visualization exercises to increase team autonomy and agility and learn how to solve problems collaboratively inside teams by playing the Impediment Board Game.
Culture matters! It can make or break things. Get people moving or inhibit them. Drive people toward results, or drive them nuts. An agile culture is a foundation for an agile way of working and…
Good testing is full of challenges that need to be addressed to bridge the gaps and to improve. This interactive tutorial is about real-world examples of testing challenges from different areas (e.g., test mission, TDD, review and test design, design for testability, built-in quality) and how to overcome them in practice.
Attend this tutorial to
- get familiar with specific testing challenges based on real-world examples
- learn how these testing challenges have been solved
- share experiences on…
How easily can your product team respond to changes in business requirements, technological advances, and new tools? When your code can be secured, upgraded, moved, or modernized with greater ease, you can swiftly and effectively adapt to changes in technology and markets.
We’ll show you how to use OpenRewrite, an open-source auto-refactoring tool, to study and analyze your code before arranging migration and modernization efforts – and then automate code updates for your teams.
Guided by small…
Envision an enterprise where Scrum, LeSS, Lean, and Kanban can thrive fully, bolstering the evolution of your products and services. Welcome to GAME3.
GAME3, standing for Generic Agile Metaframework for Empirical-based Enterprise Evolution, is a game-changer in business agility. It focuses on three key components: A robust leadership system, strategic evolution, and universal rules for the Enterprise.
Whether you're leading a small or medium-sized Enterprise or a division within a larger…
Software stakeholders and users approach technology through the lens of their cultural norms and worldviews. As software designers, we often introduce new concepts and terminology to better address those needs. This can mean adapting or even reshaping their cultural perspectives. But culture, by nature, seeks consistency and conformity, providing a framework to our daily chaos. This consistency can make language and models rigid, often leading to ambiguity. So, how can we navigate and reshape…
When building complex systems, it's easy to focus on features and overlook software qualities, specifically architecture and technical debt. Some believe that following Agile practices—starting quickly, keeping code clean, and having many tests—will naturally lead to good architecture. While an architecture will emerge, if there is not enough attention paid to the architecture and the code, technical debt, and design problems will creep in until it becomes muddy, making it hard to deliver new…
How can we contribute to improving the delivery of valuable software?
Not everyone working in IT has deep experience as a software developer. And not every developer has had the opportunity to experience a fast-paced development process using effective TDD in a mobbing session.
- > still, we're expected to deliver ever more complex solutions in ever more connected systems.
This session allows you to deeply experience the development process without needing development skills. We'll be working in…
Software is changing our world – and the speed of change is increasing. Continously evolving business demands, software technology advances, and social changes mean that gaps can quickly arise between the actual state of a software and its desired state. Not reacting to these gaps can lead to software no longer being competitive or marketable. Reacting too quickly can lead to software becoming “immature” with corresponding negative business impact. Bridging the gaps is not easy and requires…
This session is dedicated to offloading and streamlining tasks of software engineers and IT architects to LLM-based AI. Experience how it can assist in creating real-world architectural decision records, making sense of complex system architectures, and generating enterprise architecture diagrams. Through interactive experiments, you'll see AI discovering, reviewing, and refining system architectures, producing professional architectural outputs or uncovering quality challenges in enterprise…
This talk will explore principles of event-driven architecture. Special consideration will be given to boundaries of responsibility, and the relationship of processes and data. Starting from events as the fundamental unit of communication, we'll explore how they impact the overall design of the system. Which communication patterns are a good match for events, and which are at odds with them? Specifically, we'll look at handling "unhappy" flows and duties of emitters and recipients of events.…
In diesem Vortrag werden wir einen Überblick über die aktuellen Angriffsvektoren in der Cybersicherheitslandschaft geben und die spezifische Bedrohungslage in Deutschland beleuchten. Wir diskutieren, wie technologische Entwicklungen wie Digitalisierung und Künstliche Intelligenz die Bedrohungen verändern und welche Auswirkungen diese auf die Sicherheitslage in Deutschland haben. Der Vortrag bietet zudem eine Perspektive darauf, welche Maßnahmen erforderlich sind, um den neuen Herausforderungen…
How to structure your program right? This has been a central question since the beginning of software development. This talk takes a look into the history of software architecture to understand why we are building software the way we are. We start with foundations like information hiding, modularity, separation of concerns, loose coupling. We move on to principles like layering and design patterns. We conclude with an outlook to modern ideas like hexagonal architecture, onion architecture,…
Die Entwicklung typischer aktueller Webanwendungen kann einen erschlagen: Umfangreiche, komplexe JavaScript-Frameworks, Client-Side-Rendering/Server-Side-Rendering, (De-)Hydration, komplizierte Buildprozesse und und und
Die unterliegenden Technologien, Protokolle und Architekturmuster wie HTTP(2/3), HTML/CSS, Web Components, Representational State Transfer (REST) u. a. geraten dabei manchmal völlig aus dem Blick. Für die Entwicklung von Webanwendungen, die nachhaltig und skalierbar sein sollen,…
Is there still value in organizing our work in projects? And how can Systems Thinking help us make the impact of project- or product organization transparent?
Not just the work we do is complex but also the way we organize our work has become a complex system of processes, working, agreements, culture, habits, interests, priorities and a whole set of wanted and unwanted side effects. Taking a holistic view enables us to better understand the impact of changes or transitions. Systems Thinking…
"KI ist gekommen, um zu bleiben", ist von vielen Seiten zu hören. Das stimmt. KI ist nicht mehr wegzudenken. Millionenfach finden wir KI in Anwendungen und Funktionalitäten wieder. Die Entwicklung ist rasant und viele wollen noch "auf den Zug aufspringen". Darunter sind auch Lösungen, die ohne KI auskommen und sogar effizienter wären. Umso wichtiger ist es, bei der Planung zu erkennen, wann ein Problem auch ohne KI gelöst werden kann. In dieser Session lernen wir ein paar komplexe Beispiele aus…
Generative AI is the talk of the town. Anyone who spends just five minutes thinking about AI can surely come up with several useful business use cases. However, all too often, we find ourselves facing the following dilemma: we want to quickly launch our chatbots and assistant systems and bring our ideas to market readiness. Yet at the same time, important, complex, cross-functional aspects such as data protection, compliance, operational readiness, or model fine-tuning often slow down rapid…
Corporate environments can be a tough nut to crack. Many departments and roles are involved, each with different priorities to yours, and you face changes that must be navigated. The Product Owner (PO) accountability, while critical, often doesn’t wield the power Scrum suggests. You can accept this status quo and focus on managing your backlog only, or take action and leverage your POwer to meet product needs and foster productive cross-department collaboration.
Join me if you want to:
- Discover…
In the pressure cooker of product development, success depends not just on processes but on the strength of informal networks—the trusted relationships that cut across hierarchies and silos. Companies that fail to cultivate these networks struggle to adapt, innovate, and deliver.
At this session, we will explore how to intentionally foster informal networks that drive product development forward and enable seamless collaboration across departments, ultimately aligning efforts with business goals…
What is the difference of a test architect to a commonly known software architect? And why do I need one? What do they have in common and where do they differ? Is there a gap where we need a bridge (Spoiler: yes)? What are the different expectations of other roles on a test architect?
Questions over questions which will be covered in this talk. With examples where it did go well because there was a test architect and examples where things got haywire maybe because a test architect was missing.
A…
The objective of visual test automation is replace flaky and hard to read selectors with images. Many software packages offer the possibility of using images as selectors, but it rarely works reliably. Appium has the function "findElementByImage," Playwright has functions like "toHaveScreenshot." Code and no-code tools alike provide a number of options to tweak the sensitivity, where both, too low and to high values, produce their own set of artefacts. What makes this so difficult? Doesn't AI…
Why do you deserve to be happy at the job (even if you get paid)? Why do developers deserve better tools - especially for application security? What is the meaning of life (eventually)? Why is Application Security (often) a bad trip? Why do traditional tools get in the way? And most importantly - how can Runtime Security be a potential solution?
Our work with software is a system of systems, comprising technical systems (software, hardware...) and social systems (users, business, teams...). For decades, our primary focus has been on the quality of technical systems. Social capacity (agile, kanban ...) is often perceived as a support for producing software, a means to an end.
When complicated software systems take on more complex traits in a sociotechnical entanglement, software design need to be evolved from a craft of mechanistic…
We make decisions all the time in software – our architectures are the sum of them; both conscious and unconscious.
Yet we have so little awareness about *what* decisions are and *how* we decide. This is not only the source of great friction and waste, it is leading to terrible outcomes for our software.
In this talk I’ll describe what architectural decisions are, and the different ways that we approach them (individually and collectively) making clear the pros and cons of each. I’ll then…
Retrospectives are the key event for ensuring continuous improvement in agile and non-agile teams. However, many participants tend to have bad experiences with poorly facilitated retrospectives, which demotivates them from sharing personal insights and, in the end, might lead to a cancelling of retrospectives from the team's schedule.
There are many books and articles about how a good retrospective looks like. They describe the result but often they lack the crucial part of HOW to get to…
Fasten your seatbelt and join an exhilarating session that delves into the transformative world of decentralized data management and artificial intelligence (AI) in the automotive industry. Embark on a journey through the latest trends, innovations, and data-driven decision-making techniques that are shaping the road ahead. Get ready to uncover the revolutionary Data Mesh technology and its pivotal role in propelling the industry forward. Learn about mastering data domains, harnessing data…
Creating high-quality software is challenging due to a focus on solutions over understanding organizational context. Developers need to engage with stakeholders across contexts. However, stakeholder communication can lead to misunderstandings and conflicts, disrupting knowledge sharing. This often results in autocratic decisions by architects. Achieving sustainable and design decisions, it's more effective to employ visual techniques, improving collaboration with stakeholders.
This talk explores…
GenAI services have been rapidly integrated into various digital business models, but what if your data holds better answers? How can this technology be combined with an organization's knowledge and data?
This talk explores Large Language Models (LLMs) and their augmentation with custom data via Retrieval-Augmented Generation (RAG). Discover Statista's pioneering journey from rich search results to concise, informed answers with their LLM-based application, ResearchAI. We'll discuss challenges…
You know our natural world is burning and climate disaster is upon us. We need system change - not climate change. We as IT people are in the perfect position to help the system change happen, because what we do in IT product development matters; rather a lot to be honest. Let's uncover better ways to develop IT products in a more sustainable way.
This talk will take you on a crash course of thinking like a 21st century economist (it will be all about doughnuts), principles of circular design…
Application modernization is crucial for businesses to stay competitive in today's digital landscape. This presentation explores how leveraging AWS cloud technologies can reduce costs, improve efficiencies, and maximize existing investments. We'll discuss strategies for seamless transition to a modernized model, simplifying operations and engineering practices.
Discover how AWS's cutting-edge solutions accelerate modernization, and why modern architectures and robust data foundations are…
Disclosure - this is a talk about people - not about AI. This is a talk about how we will continue to apply our humans strenghts in a world enhanced by AI.
One of the LLM engines I work with seems to think it can take over my job as an architect. I say with some confidence that for the next few decades, my job will be heavily influenced by AI, but not replaced by AI. For example I am presenting and OOP and *it* is not.
Software architects and system architects will not be replaced anytime soon…
Die ideale Gelegenheit zum Netzwerken und Austauschen bietet die Welcome Reception. Lassen Sie den Konferenztag mit anderen Teilnehmern, Referenten, Ausstellern und Sponsoren bei Fingerfood und Getränken in der Expo ausklingen.
Bounded Contexts spielen bei Domain-driven-Design-Diskussionen eine zentrale Rolle. Sie gelten als eine vielversprechende Lösung zur Modularisierung von Systemen, sei es in Form von Deployment-Monolithen oder Microservices. Doch die Anwendung in der Praxis bringt Herausforderungen mit sich: Es ist oft schwierig, eine Domäne sinnvoll in Bounded Contexts aufzuteilen. Zudem ist das Konzept nicht einfach zu verstehen. Einerseits steht es für die Aufteilung eines Softwaresystems in Module,…
Die Grundlage für gute Software ist eine gute Architektur. Eine zum System passende Architektur kann jedoch nicht im luftleeren Raum entstehen – um eine geeignete Architektur definieren zu können, muss man die Domäne und ihre Anforderungen verstehen. Moderne Architekturarbeit beginnt somit ein ganzes Stück vor der eigentlichen Architektur. Für diese Exploration der Domäne wurden im Rahmen von Domain-Driven Design (DDD) verschiedene kollaborative Modellierungstechniken entwickelt. Deren Ziel ist…
In den letzten Jahren haben generative KI-Tools, insbesondere im Bereich des Designs, erheblich an Bedeutung gewonnen. Die meisten Diskussionen konzentrieren sich jedoch auf die Bildgenerierung und vernachlässigen das breitere Spektrum an Aufgaben im Designprozess, insbesondere im Kontext des User-Centered Design (UCD). Das UCD-Framework betont das Verständnis der Benutzerbedürfnisse, die Generierung von Ideen und Anforderungen, das Prototyping konkreter Lösungen und die Einbeziehung von…
Wie verändert unsere Sprache die KI und die KI unser Denken?
Der Einsatz von LLMs hat rasant zugenommen, ohne KI kommen wir gefühlt kaum noch aus. Gleichzeitig wissen wir, dass die Modelle Biases beinhalten, die zu ethisch fragwürdigen oder nach menschlichem Ermessen unfairen Ergebnissen führen können, und dass die KI diese Vorurteile von uns gelernt hat! Wenn nun aber die KI von uns lernt und wir von der KI, wo setzen wir dann an, um uns gemeinsam zu verbessern?
In diesem Talk greife ich alte…
Consider for example, this line of C++ code:
std::pmr::vector<std::variant<int,double,std::pmr::string>> values;
Are you aware that this line of code contains at least five Gang-of-Four (GoF) design patterns? If not, then this talk is definitely for you! It will help you realize that design patterns are everywhere. They are the key to managing dependencies between software entities. They help us to structure our software, to separate concerns, and to communicate our intentions. Even better, they…
Let’s face it, the only way to make it in our fast-paced, ever-changing business environment is to focus on learning. Learning as leaders, learning as team and learning as an organization. Learning about our business direction, learning about our work and work environment, learning about our customers’ needs, and more. Essential for sustained success and innovation, the heart of an effective Organizational Learning culture lies with leadership. Leaders not only set the vision and strategic…
So... in our organisation we've been busy trying to bridge the gap between Dev and Ops. And we've been moving towards an almost completely automated Infrastructure enablement. We thought we were doing so well. And then... it turned out that even without human intervention, IT infrastructure is secretly still about human interaction. I will tell you our real life story of how we hit rock bottom Developer Experience because as enablement teams we were so focused on IaC and automating everything…
In this constantly changing world, we face new challenges: rapidly changing customer needs, increasing competition, and a shortage of skilled workers. Agility and speed are essential. Adopting Platform Engineering can be key, providing the flexibility and scalability to adapt swiftly, outpace competitors, and bridge the skills gap through automation and optimization.
I will demonstrate, using a real Platform, how Platform Engineering can help companies overcome hurdles and scale issues with…
As part of our ongoing efforts to empower and support women in technology, we are excited to invite you to join us for an enriching discussion that combines expert knowledge with personal experiences, empowering you to take charge of your professional journey.
This meet-up is specifically designed to address a crucial topic that resonates deeply with many professionals in our field: identifying and filling skill gaps to further your career.
The OOP conference has consistently demonstrated a…
Please note that the workshop consists of Part 1 (10:00 to 12:00) and Part 2 (13:00 to 15:00). To get the most out of this workshop you need to attend both parts.
Join us at this development-focused workshop designed to supercharge your developer productivity. If you want to learn how to tackle the unique challenges of developer velocity in large organizations, this session is for you. Have you ever wondered whether GitHub is the right DevOps platform for your organization? Do you want to…
AI for testing to generate test code or AI for coding (see Copilot) to suggest good code examples; this is almost "state-of-the-art". But isn't something missing? Aren't we largely dealing with brownfield software that needs to be transformed in order to be cloud-ready and scalable? Couldn't AI help here too?
In the presentation, we will look at what AI-based methods could do to simulate architecture restructuring (based on data that goes beyond code to evaluate feature/temporal coupling,…
Today we know very well how to start a new project on a greenfield and how to build a good architecture. But most of us work in projects that have been around for a long time and whose architecture (to put it mildly) is not quite so beautiful. “Monolith” and “Big Ball of Mud” are the unflattering labels put on such systems.
This talk will show how we can introduce (or bring back) structure. Every system is different here, so it’s important to first understand where you are. Then the right steps…
In my lifetime, we’ve experienced the equivalent of 20,000 years of change. Nonlinear change. We’re the architects of change, yet we seem to do the same things again and again, expecting different results. Digital information systems have a staggering effect on relational complexity. Yet, we still approach software development in a mechanistic, industrial & reductionistic way. To design information systems, we need to think in systems. Don’t just adopt Kubernetes, change the structure of your…
The development and deployment of AI and Generative AI systems in a way that promotes environmental, social, and economic well-being for current and future generations is referred to as sustainable AI. To do this, AI must be built with energy-efficient algorithms and run on renewable energy sources to reduce carbon footprints. Ethical considerations are crucial, ensuring that AI respects human rights and diversity while avoiding increasing disparities. Data management must uphold the ideals of…
Ever worked on a deathmarch like project? Or rewrote a codebase "because CTO told us"?
Ever saw such an endeavour succeed? WITHOUT burning money, motivation, reputation and: people?
The quest for Sustainable Pace is – at least – as old as XP.
It's neither individual nor is it only a team's responsibility.
It's an interaction of both and beyond: it's all about systems!
Without sustainable organisational systems - how can we develop decent socio-technical systems with customers?
In this session…
There is a clear trend: ICT is responsible for more and more greenhouse gas (GHG) emissions: it has already reached an estimated level of 4% of global GHG emissions, which is comparable to the entire aviation sector, and ICT energy consumption is growing at an estimated rate of ca. 9% per year. Fortunately, there are ways to reduce these negative effects. One of these ways is DevGreenOps. It is an extension of the DevOps approach to software development. DevGreenOps takes additional inspiration…
Please note that the workshop consists of Part 1 (10:00 to 12:00) and Part 2 (13:00 to 15:00). To get the most out of this workshop you need to attend both parts.
Join us at this development-focused workshop designed to supercharge your developer productivity. If you want to learn how to tackle the unique challenges of developer velocity in large organizations, this session is for you. Have you ever wondered whether GitHub is the right DevOps platform for your organization? Do you want to…
Conclusion and Q&A after the Workshop
Boosting Developer Productivity with Platform Engineering and AI
Eric Evans' Big Blue Book has a chapter titled "closure of operations", largely ignored by the community and subsequent works on DDD. This is tragic, as closure of operations is one of the most powerful techniques for domain modeling. A concept imported from functional programming, it makes for flexible and long-lived domain models with the help of combinators - operations that build big domain objects from smaller ones recursively. This is refreshing alternative to the rigid hierarchical…
In an era where digital transformation is paramount, regulatory frameworks like the European Data Act and the upcoming Financial Data Access (FIDA) are reshaping the landscape of data management and security. Our presentation aims to demystify the complexities of API security and user consent management under these new regulations, drawing parallels from the successful GSMA Open Gateway Initiative in the telecommunications sector.
Key Points of Discussion:
Introduction to API Challenges in…
Ever seen an expert work on a problem and come to a solution, and it looked like magic because you didn’t understand the steps they were going through internally? For the outsider (or new manager/leader), leadership is no different. We make multiple decisions per hour, deal with planned and unplanned situations, and decide on strategies - and we hardly ever “show our working”.
Of course, if leadership was simply complicated as opposed to complex, then we would have a catalogue of activities and…
Let’s be honest, the tech we have today is amazing but it can also be complex. So, it’s only natural that the platforms we build want to hide that complexity to improve productivity, avoid mistakes, and reduce cognitive load. So, the more complexity we can hide, the better our platform? Actually no - we need to be careful that we create useful abstractions, not dangerous illusions. This talk reflects on two decades of building complex distributed systems, highlighting where abstractions helped…
Agile methodologies promise rapid delivery, flexibility, and resilience, allowing teams to respond swiftly to customer needs and market changes. However, the success of these agile practices is deeply intertwined with the underlying software architecture. An enabling architecture can enhance agility, while a restrictive one can significantly hinder it.
This talk explores how architectural and organizational decisions impact the agility of development teams. We will discuss the role of modularity…
GAIA-X is a strategic initiative of the European Union in order to support secure and trustworthy dataspaces. But what does it mean to set up a GAIA-X compliant data space, polished powerpoint aside?
In this presentation we will report about our experiences learned from almost three years' work in one of the GAIA-X lighthouse projects "COOPERANTS". COOPERANTS is the world’s only collaborative alliance of industry, SMEs and research institutes in the Aeronautics and space sector that solves…
Architecture work can be tough: juggling tech stacks, new tools, facilitating decisions, working with different stakeholders & even some organisational development. Herding cats is easier, isn’t it?
With Architecture in ACTion, I introduce you to decades of practical science on the Human Mind. We’ll dig into Psychological Flexibility and ACT - concepts that are (still) rarely used in biz but have huge impact at work!
Because: Deep tech expertise, domain navigation *and* change skills is a lot!
Y…
Code that is well-designed and easy to understand is cheaper to extend and modify - so you can deliver more value, sooner. Many organizations struggle with older codebases that use outdated designs and have too much cruft.
I found that the technical coaching I was doing was addressing those kinds of issues successfully, but it was slow to scale up to large projects where there are tens of teams of developers working on different parts of the same codebase.
Recently I’ve been using a…
Measuring software engineering productivity can significantly enhance managerial decision-making, improve developer enablement, and optimize development workflows. However, despite the potential benefits, there is no uniform approach in industry or research. We present our solution, which is designed to use quantitative data generated during the development process. We gather data from popular software development tools, looking further then simply using the oversimplified source lines of code…
If you ship a software product that includes open-source software, (1) you need to make sure it does not include unwanted open source code, (2) you need to declare its software bill of materials, (3) you need to create and deliver correct legal notices, and (4) you need to monitor security vulnerabilities of your current and past shipped code. Ignore these requirements, and you risk being sued by copyright trolls or get embarrassed by irate customers. This tutorial shows you how to get…
Während einer Product Discovery werden alle relevanten Beteiligten zusammengebracht und so viele valide Informationen wie notwendig gesammelt, um den gesamten Problemraum durch die wichtigsten Anforderungen aller Perspektiven klar zu definieren. Nach dem Motto “fail early” werden darauf aufbauend passende Lösungsansätze erarbeitet, evaluiert und iteriert - erstmal ganz ohne Programmieraufwände. Diese Praxis ermöglicht langfristig ein effektives, ressourcenschonendes Entwickeln und trägt durch…
Immer wieder stehen wir vor der Frage "Make or Buy?" und begegnen dabei featurereichen Platform-as-a-Service- oder Software-as-a-Service-Lösungen, die unsere Anforderungen erfüllen sollen.
Doch ist das tatsächlich so? Unsere Erfahrung zeigt, dass fertige Lösungen von der Stange in den seltensten Fällen genau die Fähigkeiten mitbringen, die unsere Anforderungen erfüllen.
Am Beispiel API-Management stellen wir unseren Ansatz des Capability Journey Mappings als Herangehensweise zur pragmatischen…
In der dynamischen Welt der Softwareentwicklung ist eine effiziente interne Entwicklungsplattform der Schlüssel zum Erfolg, denn sie steigert die Effizienz der Entwickler durch einen schnelleren Weg zum Produktionsbetrieb und standardisiert Sicherheit und Compliance für alle Anwendungen innerhalb eines Unternehmens.
Dieser Vortrag stellt das CNCF Reifemodell für Platform Engineering vor um interne Entwicklungsplattformen an den Anforderungen des Businesses und der Organisation zu optimieren. Das…
In den letzten 2 Jahren haben cloud-basierte Entwicklungsumgebungen wie Gitpod oder GitHub Codespaces stark an Popularität gewonnen. Mit Devpod kam vor kurzem eine neue Open Source Technologie in diesem Feld dazu und es ist sehr wahrscheinlich, daß es in naher Zukunft noch weitere Neuerscheinungen geben wird.
Mit diesem Vortrag vergleiche ich den Ansatz dieser Technologien im Vergleich zu traditionellen IDEs und versuche die Rolle der Container Technologie - insbesonders der devcontainer…
In software development, the dreaded "big ball of mud" is all too familiar – a tangled, unmaintainable codebase that makes everything harder. Modularization? Impossible. Reuse? Too much coupling. Regression bugs? Endless. Simplifying or modernizing the code? Too risky. In this session, we'll explore why so many projects end up as big balls of mud, why it's so hard to avoid, and how we can break this cycle. Also share practical strategies and proven techniques to ensure clean, well-architected…
The Japanese philosophy of Wabi-Sabi celebrates the beauty of imperfection. I will explore how applying such principles to software engineering projects can enhance the outcomes. Using the relaunch of my client's content-driven website as a case study, I will demonstrate how an open and positive attitude, combined with flexibility and a readiness to embrace unconventional methods, has led to better results. The aim of this talk is to enable project team members to confidently navigate the…
We're in the middle of the energy transition: from reliable, always-on and dirty fossil fuel to volatile but clean renewable energy. This means that requirements for when, where and how much energy to consume will change, in IT as anywhere else. In this talk, you'll learn what cloud providers' and software architecture's roles in this are, how the future energy market will affect IT systems and what software architects can do today to make sure their products aren't just ready for, but can even…
INITIAL SITUATION
When modernizing enterprise applications that were developed many years ago and adapted over decades, you are often faced with several challenges.
- What does the current architecture actually look like?
- Which technologies have all been utilized?
- Which and how much technical debt, i.e. things that would have to be changed anyway, are hidden in the source code?
Normally, various developers have "immortalized" themselves in the code and the architecture. And a uniform and…
Are you tired of trying to find every edge case in your code and write a test for it? Generative testing is the answer to that. In this talk we'll explore how _property-based testing_ is the antidote to brittle and hard-to-maintain test suites. Using examples in C# we'll work through how to take your existing example-based tests and evolve them to use property-based testing to expand your coverage and probe your edge-cases more thoroughly.
Target Audience: Developers, Technical Leaders
Prerequis…
What marks anyone as an outstanding leader is the ability to inspire, encourage and enable others to walk across the bridge into the better future. Ideally it is that future you and your organisation have envisioned. Staying in the picture of a bridge. A brige holds the tension between two poles. In this session the author explores 7 "briges" and helps the audience reflect on them using visualization. The seven briges are:
- Relatedness vs Remote
- Hero vs Team
- Artificial vs Human Intelligence
- G…
There is a clear trend: ICT is responsible for more and more greenhouse gas (GHG) emissions: it has already reached an estimated level of 4% of global GHG emissions, which is comparable to the entire aviation sector, and ICT energy consumption is growing at an estimated rate of ca. 9% per year. Fortunately, there are ways to reduce these negative effects. One of these ways is DevGreenOps. It is an extension of the DevOps approach to software development. DevGreenOps takes additional inspiration…
Fitness functions are an essential part of evolutionary architectures – and they can also bring desired structures and properties to legacy code bases, step by step. But how do they look like in practice? What kinds of fitness do they check and assert?
After a general introduction to fitness functions we'll do a deep dive into some concrete examples, covering use cases for common architectural patterns. We'll see examples in Java code, based on ArchUnit and jMolecules. But the basic ideas and…
This talk presents an experience report on utilising Artificial Intelligence (AI) as an intelligent assistant for a team of DevOps Engineers responsible for operating a critical customer system 24/7. Given the complexity and criticality of the supported system, the DevOps team has built a comprehensive library of how-to guides, documenting specific incident cases and their solutions.
However, accessing and following the appropriate guidelines requires diligent analysis, experience, and a high…
Software development is a profession, discipline and industry obsessed with solutions. It places justifiably high value on answers... but what if we take a step back for a moment to consider that an answer arises as a response to a question? And, therefore, perhaps we should be placing more focus on asking questions.
The right questions can be more powerful in the long run than answers. Answers may shift as specific technologies change beneath our feet, but if we are able to frame the right…
Generative AI is a powerful asset if you know how to tame it. As this technology rapidly transforms the software landscape, one of the key challenges lies in effectively testing and validating GenAI applications. Traditional testing methodologies fall short in addressing the unique complexities posed by these systems, especially in enterprise environments.
Drawing from real-world experiences and hard-earned insights, we'll explore how to adapt established software engineering principles to the…
EventStorming, collaborative modelling, bounded context canvas - now what?
Did you ever feel like you're standing in front of a mountain of cloud tools and implementation options, with a well-designed domain model, but no idea where to start? Or are you fully equipped with technical understanding and cloud experience, but deeply unsure how to "cut" your system for good modularization?
Fear not, because this workshop will introduce you to a solid set of tried and proven methods and tools, that…
As a tech lead or senior developer, you’re expected to mentor and train more junior team members - coaching is already part of your job. In this masterclass with Emily Bache, you’ll learn skills and concrete activities you can use to bring on others and build up your team. You don’t need to be a full-time technical coach to make a difference in your organization, and this training will help you to get started with learning hours. These are not vacuous “icebreaker”-style fun and games, the focus…
Good Software Design — the proper management of dependencies — is the foundation for the success of a project. The basic building blocks for software design are design patterns. Design patterns have proven themselves invaluable over several decades and thus knowledge about them is essential to design robust, decoupled systems. Modern C++, however, has profoundly changed the way we use C++, how we think about design and implement solutions. This also affects how we implement design patterns.
This…