Konferenzprogramm

Die im Konferenzprogramm der OOP 2022 Digital angegebenen Uhrzeiten entsprechen der Central European Time (CET).

Per Klick auf "VORTRAG MERKEN" innerhalb der Vortragsbeschreibungen können Sie sich Ihren eigenen Zeitplan zusammenstellen. Sie können diesen über das Symbol in der rechten oberen Ecke jederzeit einsehen.

Unser Programm gibt es auch als praktische PDF-Datei >>Zum Download

Track: Full Day Tutorial

Nach Tracks filtern
Nach Themen filtern
Alle ausklappen
  • Montag
    31.01.
  • Freitag
    04.02.
, (Montag, 31.Januar 2022)
10:00 - 17:00
Mo 1
Ausgebucht The Art of Software Reviews
The Art of Software Reviews

Auch in erfolgreichen Softwaresystemen lauern praktisch immer Probleme. Durch systematische Reviews können Sie diese Probleme zielgerichtet identifizieren – und damit eine robuste Grundlage für zukünftige Verbesserungen schaffen.

Der Workshop erklärt methodisches Vorgehen bei Software-Reviews, mit Fokus auf eine Breitensuche typischer Problemkategorien.

In interaktiven Sessions erarbeiten Sie unter Anleitung wesentliche Probleme Ihrer eigenen Systeme - und erhalten damit konkrete Hilfestellung für Ihr konkretes Arbeitsumfeld.

Maximale Teilnehmerzahl: 35

Zielpublikum: Architektur, Entwicklung, Management, POs -> alle, die mit SW-Entwicklung zu tun haben
Voraussetzungen: Projekterfahrung
Schwierigkeitsgrad: Fortgeschritten

Extended Abstract
Getreu dem Bonmot „Besser geht immer“ leidet praktisch alle Software an Problemen kleiner oder großer Natur: Vielleicht läuft sie zu langsam, stürzt manchmal ab oder sieht weniger schön aus als das System der Konkurrenz. Häufig beschwert sich das „Business“ lautstark darüber, dass neue Features viel zu lange dauern – neudeutsch: die Time-to-Market ist zu schlecht. Abgesehen von hello-world, lässt sich überall noch so manches besser machen.

Falls Sie dieses Verbesserungspotenzial Ihres Systems heben möchten, sollten Sie auf jeden Fall zuerst ein explizites, konkretes und spezifisches Verständnis der vorhandenen Probleme erarbeiten.

Dabei können wir aus der Medizin lernen: Dort steht vor den Therapievorschlägen zuerst eine gründliche Diagnose („Untersuchung“). Ohne ein solches „Review“, wie die Untersuchung in der IT-Branche heißt, droht Verschlimmbesserung.

Der Workshop führt Sie in methodische Software-Reviews ein, mit den folgenden wesentlichen Schritten:

  • Klärung von Scope und Kontext
  • Klärung der wesentlichen Stakeholder
  • Identifikation wesentlicher Qualitätsprobleme („qualitative Analyse“)
  • Analyse wesentlicher struktureller und Code-Probleme
  • Identifikation von Problemen externer Schnittstellen
  • Analyse von Problemen bei Anwendungsdaten
  • Analyse technischer Probleme
  • Wirksame Aufarbeitung und Kommunikation von Review-Ergebnissen

Der Workshop enthält eine Reihe interaktiver Übungen, in deren Verlauf Sie eine Übersicht über die Probleme Ihres eigenen Systems bekommen (können).

Dr. Gernot Starke (INNOQ Fellow) ist Coach, Berater und Trainer für methodische Software-Architektur und Software-Engineering, (Mit-)Gründer von arc42.org, Gründer von aim42.org. Gernot Starke war an der Architektur und Implementierung mittlerer und großer Systeme für Organisationen in verschiedenen Geschäftsbereichen beteiligt, hauptsächlich im Finanzwesen, in der Automobilindustrie, in der Logistik und in der Telekommunikation, derzeit mit dem Schwerpunkt auf Entwicklung und Verbesserung von Legacy-Systemen sowie Software-Reviews. Er hat zahlreiche Bücher über Software-Architektur und verwandte Themen geschrieben, veröffentlicht regelmäßig Fachartikel und gibt seine Erfahrungen auf Konferenzen und in Trainings weiter. Gernot lebt in Köln.

Benjamin Wolf ist Entwickler und Architekt bei INNOQ. Er erträgt unsauberen Code nur schwer und scheut nicht vor umfangreichen Refactorings zurück. Seine Vorstellung von Softwarequalität und ordentlicher Softwareentwicklung gibt er als Sprecher bei Konferenzen und Meetups, als Trainer sowie als Consultant weiter. Dabei ist ihm wichtig, dass nicht nur Technologien, sondern vor allem die Einstellung eines Teams für eine gute Softwarequalität ausschlaggebend sind.

Gernot Starke, Benjamin Wolf
Gernot Starke, Benjamin Wolf
flag VORTRAG MERKEN

Vortrag Teilen

10:00 - 17:00
Mo 2
Ausgebucht Architekturen effizient dokumentieren und kommunizieren mit Architecture Decision Records
Architekturen effizient dokumentieren und kommunizieren mit Architecture Decision Records

Architekturentscheidungen werden häufig und zumeist implizit getroffen. Da eine Dokumentation dieser nur selten erfolgt, existiert Wissen über diese nur in den Köpfen der Entwickler und eine Weitergabe des Wissens ist schwer bis unmöglich. Ein Wildwuchs verschiedener Implementierungsstile und eine Erosion der Architektur ist der logische Schluss.

Am Beispiel wird gezeigt, wie die Arbeit mit Michael Nygards ADRs erfolgreich etabliert werden kann, um Entscheidungen zu dokumentieren, und welche Tools existieren, um deren Umsetzung automatisiert zu prüfen.

Zur Teilnahme benötigt wird ein Laptop mit Google Chrome oder Mozilla Firefox.

Maximale Teilnehmerzahl: 30

Zielpublikum: Softwareentwickler:innen sowie Architektinnen und Architekten mit Nähe zum Code
Voraussetzungen: Erfahrung im Umgang mit einer IDE
Schwierigkeitsgrad: Fortgeschritten

Extended Abstract
Dieser Workshop möchte mit Michael Nygards "Architecture Decision Records" (ADRs) einen leichtgewichtigen Ansatz zur Dokumentation und Kommunikation von Architektur-Eentscheidungen aufzeigen. Am Beispiel soll erläutert werden, wie sich das Treffen und Kommunizieren von Entscheidungen mit ADRs effizient in den Entwicklungsprozess integrieren lassen. Das Hauptaugenmerk liegt dabei insbesondere in dem Nachvollziehbar-Machen der Entscheidungen für alle Entwickler. Es wird gezeigt, wie sich ADRs mit AsciiDoc versioniert und nachvollziehbar im Projekt integrieren lassen, diese zentral allen zur Verfügung gestellt werden können und wie die Einhaltung der Entscheidungen automatisiert geprüft werden kann. Der Workshop basiert auf den Erfahrungen bei verschiedenen Kunden, bei welchen die Dokumentation mittels Architecture Decision Records erfolgreich eingeführt wurde.

Stephan Pirnbaum ist Consultant bei der BUSCHMAIS GbR. Er beschäftigt sich leidenschaftlich gern mit der Analyse und strukturellen Verbesserung von Softwaresystemen im Java-Umfeld. In Vorträgen und Workshops präsentiert er seine gesammelten Erfahrungen und genutzten Methodiken.
Stephan Pirnbaum
Stephan Pirnbaum
flag VORTRAG MERKEN

Vortrag Teilen

10:00 - 17:00
Mo 3
Limitiert Scrum Patterns: Understanding Scrum In-Depth and Accelerating your Team
Scrum Patterns: Understanding Scrum In-Depth and Accelerating your Team

The Scrum Guide lays out the rules of the game called Scrum. Beyond it, there are known "secrets" necessary to making Scrum work—but most teams never get to them.

Scrum experts have been working for years to collect and write these nuggets down as patterns. The seminar is based on the book "A Scrum Book" — a de facto standard for Scrum, and a definitive exposition of the why behind everything Scrum. You'll learn about Scrum at a deeper level than you probably reached during your CSM, PSM, or CSPO training — focusing on your team's special needs.

Maximum number of participants: 30

Target Audience: Scrum team members (all Scrum roles); managers and other players in organizations using Scrum
Prerequisites: Basic Scrum familiarity (any Scrum certification, or membership on a practicing Scrum team)
Level: Advanced

Extended Abstract
When you have a new child in your family, there are a lot of things you need to know that aren't in the owner's manual. What? You didn't get an owner's manual with your child? Even Scrum has an "owner's manual" called The Scrum Guide — but all it does is to provide a dry, formal description of the boundaries of Scrum. Yet there are known "secrets" to making Scrum work, but, unfortunately, some teams never get to them.

Scrum community experts have been collecting these secrets for years, and working together to write them down as patterns. The seminar is based on the book "A Scrum Book" — a de facto standard for what Scrum means, and a definitive exposition of the why behind everything Scrum. Even the inventor of Scrum, Jeff Sutherland, now uses them as a central part of his training and of describing Scrum. And now they’re freely available to you. Come and learn how to use them and what they mean to your organization, and how you can use them to chart a powerful new direction of kaizen for your Scrum team! You'll learn things about Scrum at a deeper level than you probably reached during your CSM, PSM, or CSPO training — and the seminar is focused on your team's special needs.

There will be exercises to develop pattern sequences from the pattern language, and to identify solutions to your own impediments using patterns. The session culminates with an exercise where you assess your own Scrum team and develop a concrete action plan to remedy the gaps between your current practice and those parts of Scrum that will move you forward. In the end, the goal is to move beyond Scrum — and this session lays the foundations for you eventually to do that.

We encourage you to attend as Scrum team, perhaps using this event as a retrospective!

Jim Coplien is an old programming language shark who now does world-wide consulting on Agile software development methods and architecture. He is one of the founders of the software pattern discipline, and his organizational patterns work is one of the foundations of both Scrum and XP. He has written several books on programming, software design, and organizational design. He currently works for Gertrud & Cope in Denmark. When he grows up he wants to be an anthropologist.
James O. Coplien
James O. Coplien
flag VORTRAG MERKEN

Vortrag Teilen

10:00 - 17:00
Mo 4
Modern C++ Design for Safe and Embedded Systems
Modern C++ Design for Safe and Embedded Systems

This tutorial will demystify some of C++ complexities by showing clear guidelines to simpler use of specific language features for designing functions and types of your system. From the experience in specifying new MISRA C++ guidelines the author will show how to write safer C++ for embedded and other systems.

Learning goals consist of

  • designing function interfaces: parameter passing styles and error reporting
  • employ strong typing for better domain values
  • conscious class design for resource management and hierarchies

Target Audience: Developers
Prerequisites: Practical knowledge of C++
Level: Advanced

Extended Abstract
This tutorial is trying to simplify your use of C++. We have many great rule sets to chose from, some partially outdated, like Scott Meyers 3rd edition, some futuristic, like the C++ core guidelines. While working on the AUTOSAR C++ and new MISRA C++ guidelines I found that many of the guidelines forbid things without giving actual guideline on how to do things and when to deviate.

Also many talks (mine included) on C++ explain the modern features and show how they work, but only few put things into context and show what to give up and how things combine sanely.

This full day tutorial is the result of thinking about that. It won’t show C++20 feature by feature, but gives a coherent set of practices to improve your design and code using existing standard C++ features where they give you benefits.

We will cover the following topics:

  • designing function interfaces in a way that they are easy to call correctly and hard to call incorrectly
  • how to report function contract violations (at least 5 different ones) and their individual benefits and liabilities, so you can make a conscious choice.
  • what parameter passing style and return value style works best under what conditions
  • how to create (parameter) type wrappers to avoid passing wrong arguments
  • class design for simple value wrappers to improve function interfaces
  • mix-in strategies for functionality and operators, so that creating value wrappers is simpler
  • provide an overview of class styles, e.g., value, manager, oo-bases and show how to select from the rules for special member functions
  • take a look at the lesser known C++11 feature of ref-qualified member functions and show why and when to use them for your member functions

If you are brave enough, bring your own examples that we can look at and discuss where they are perfect and where they could be improved.

Peter Sommerlad is a consultant and trainer for C++ and agile software development. He was professor and lead the Institute for Software at HSR Rapperswil. Peter is co-author of the books POSA Vol. 1 and Security Patterns and contributed to "97 things every programmer should know". Peter is an ACM Senior Member and member of ACCU, IEEE CS, and the ISO WG21( C++ ) and WG23 (vulnerabilities) committees. Peter participated in the creation of MISRA C++202x.
Peter Sommerlad
Peter Sommerlad
Vortrag: Mo 4
flag VORTRAG MERKEN

Vortrag Teilen

10:00 - 17:00
Mo 5
MLOps – Wie passen Machine Learning, IoT und Software-Architekturen zusammen?
MLOps – Wie passen Machine Learning, IoT und Software-Architekturen zusammen?

Die Themen KI und Maschinelles Lernen (ML) sind heute allgegenwärtig. Meistens geht es um technische Konzepte oder mathematische Modelle. Viel zu wenig findet Beachtung, wie sich KI im Allgemeinen und ML im Speziellen in den Entwicklungsprozess und in Software- & Systemarchitekturen integrieren lassen. Das Tutorium adressiert dieses Thema anhand von IoT-Systemen, da sich dadurch auch die Systemseite beleuchten lässt. Sein Inhalt umfasst den Einstieg in KI/ML, den MLOps-Zyklus und notwendige architektonische Maßnahmen.

Software: Edge Impulse, Teilnehmende können einen beschränkten Account anlegen.

Zielpublikum: Software-Architekt:innen, technologieinteressierte Entscheider:innen
Voraussetzungen: Tiefe Kenntnisse über Software-Architekturen und Software-Entwicklung
Schwierigkeitsgrad: Anfänger

Extended Abstract
Die Themen Künstliche Intelligenz (KI) und Maschinelles Lernen (ML) sind heute allgegenwärtig. Meistens geht es um technische Konzepte oder mathematische Modelle. Viel zu wenig findet Beachtung, wie sich KI im Allgemeinen und ML im Speziellen in den Entwicklungsprozess und in Software- & System-Architekturen integrieren lassen.

Hier stellen sich verschiedene Fragen:

  • Was bedeutet ML überhaupt und wozu ist es gut?
  • Wie sollten Entwicklungsprozess und Rollenverteilung aussehen?
  • Was ist MLOps und wie setze ich es um?
  • Lässt sich ML auch für IoT-Geräte nutzen und falls ja wie?
  • Welche Auswirkungen hat ML auf Software-Architekturen und welche Best/Bad Practices gibt es?

Das Tutorium adressiert dieses Thema anhand von IoT-Systemen, da sich dort auch die Systemseite beleuchten lässt. Angefangen vom Einstieg in ML über den MLOps-Zyklus bis hin zu architektonischen Maßnahmen erstreckt sich das abgedeckte Spektrum.

Zu den Lernzielen gehört unter anderem:

  • Grundlegendes Verständnis über KI und ML und ihrer Grenzen
  • Verstehen und abschätzen von MLOps
  • Einblick in Rollenverteilung und Integration von ML in den Entwicklungsprozess
  • Kennenlernen von Software-Architekturaspekten bei ML
Prof. Dr. Michael Stal forscht bei Siemens Technology an Themen rund um Software-Architektur und ist seit drei Jahrzehnten international als Experte auf diesem Gebiet renommiert.
Michael Stal
Michael Stal
flag VORTRAG MERKEN

Vortrag Teilen

10:00 - 17:00
Mo 6
Sichere Navigation in unsicheren Zeiten mit dem Agile Transition Canvas (ATC)
Sichere Navigation in unsicheren Zeiten mit dem Agile Transition Canvas (ATC)

Ab sofort sind wir agil!” schallt es von der Chefetage herab. Die Betroffenen schütteln resigniert den Kopf. Wie soll das gelingen? Best Practices sind kaum zu erwarten. Erfahrungen erfolgreicher agiler Transitionen sind eher überschaubar.

Das ATC ermöglicht diesen Organisationen die Positionsbestimmung, Kartografie und Navigation auf ihrer agilen Reise. Mit einem auf allen Ebenen klar sichtbaren Polarstern gelingt die Identifizierung möglicher Piloten, deren Umgebungen und Kontexten, sowie das Etablieren einer lernenden Organisation.

Zielpublikum: Manager, Führungspersönlichkeiten, Agile Coaches, Scrum Master, Entscheider
Voraussetzungen: Es braucht hier ein Grundverständnis von Agilität und Erfahrung in Agilen
Transformationen.
Schwierigkeitsgrad: Fortgeschritten

Extended Abstract
Wir haben das “Agile Transition Canvas” entwickelt, das wir in dieser Session vorstellen. Insbesondere am Anfang einer agilen Transition liefert das ATC mehr Klarheit über die Richtung und die nächsten Schritte auf der agilen Reise. Doch auch bereits gestartete Transitionen profitieren vom ATC, die hier einen Spiegel bekommen, um die bisherigen Maßnahmen im richtigen Blickwinkel zu beleuchten und daraus wesentliche Impulse für weitere Maßnahmen ableiten können.

Björn Jensen ist Certifed Scrum Trainer (CST) & Certified Team Coach (CTC). Seit den frühen 2000er Jahren ist er in agilen Kontexten unterwegs und begleitet Unternehmen seit 2008 in ihren Wandlungen.
Marc Bless hat 1984 angefangen, Software zu entwickeln. In den 90ern hat er Informatik mit Schwerpunkt Künstliche Intelligenz studiert und beschäftigt sich seit 1999 mit Agilen Methoden. Marc coacht Entscheider und Umsetzer bei der Einführung agiler Frameworks und moderner Entwicklungspraktiken. Er ist ausgebildeter Solution-Focused Coach sowie Certified Enterprise Coach (CEC) und Certified Team Coach (CTC) der Scrum Alliance.
Björn Jensen, Marc Bless
Björn Jensen, Marc Bless
flag VORTRAG MERKEN

Vortrag Teilen

10:00 - 17:00
Mo 7
Rust Fundamentals Workshop
Rust Fundamentals Workshop

This training has been designed for developers who want to start working with Rust professionally and already have a solid background in programming from other C-like languages like Java, C++, C#, or JavaScript/TypeScript. It is not specialized on a specific field of use but should rather equip attendees with fundamental knowledge to successfully get started with Rust.

Target audience: Developers, Architects
Prerequisites: Solid background in programming from other C-like languages
Level: Practicing

Extended Abstract
Rust has recently gained significant popularity. It has been achieving top rankings in the Most Loved Language-category of the Stack Overflow developer survey for many years in a row. The reasons for Rust’s success are manifold. The language is statically typed but with zero-cost abstractions, it eliminates entire classes of bugs because of its memory safeness, it generates blazingly fast code, you can build a wide variety of application types ranging from embedded systems for IoT devices to RESTful web APIs in the cloud, etc.

This training has been designed for developers who want to start working with Rust professionally and already have a solid background in programming from other C-like languages like Java, C++, C#, or JavaScript/TypeScript. It is not specialized on a specific field of use but should rather equip attendees with fundamental knowledge to successfully get started with Rust.

Rainer Stropek is co-founder and CEO of the company software architects and has been serving this role since 2008. At software architects, Rainer and his team are developing the award-winning SaaS time tracking solution time cockpit. Previously, Rainer founded and led two IT consulting firms that worked in the area of developing software solution based on the Microsoft technology stack.
Rainer is recognized as an expert concerning software development, software architecture, and cloud computing. He has written numerous books and articles on programming languages, database development, cloud computing, and web development. Additionally, he regularly speaks at conferences, workshops and trainings in Europe and the US. In 2010 Rainer has become one of the first MVPs for the Microsoft Azure cloud computing platform. In 2015, Rainer also became a Microsoft Regional Director. 2016, Rainer additionally received the MVP award for Visual Studio and Developer Technologies.
Rainer graduated the Higher Technical School Leonding (AT) for MIS with honors and holds a BSc (Hons) Computer Studies of the University of Derby (UK).
Rainer Stropek
Rainer Stropek
flag VORTRAG MERKEN

Vortrag Teilen

, (Freitag, 04.Februar 2022)
09:00 - 16:00
Fr 1
Paradigms Lost, Paradigms Regained: Programming with Objects and Functions and More
Paradigms Lost, Paradigms Regained: Programming with Objects and Functions and More

It is very easy to get stuck in one way of doing things. This is as true of programming as it is of life. Although a programming paradigm represents a set of stylistic choices, it is much more than this: a programming paradigm also represents a way of thinking. It represents a set of patterns of problem framing and solving and contains the ingredients of software architecture.

This session explores the strengths and weaknesses of different programming styles, patterns and paradigms across different programming languages, past and present.

Target Audience: Developers, Architects
Prerequisites: Programming experience
Level: Advanced

Extended Abstract
It is very easy to get stuck in one way of doing things. This is as true of programming as it is of life. Although a programming paradigm represents a set of stylistic choices, it is much more than this: a programming paradigm also represents a way of thinking. Having only way to think about problems is too limiting. A programming paradigm represents a set of patterns of problem framing and solving and contains the ingredients of software architecture. As Émile Auguste Chartier noted, there is nothing more dangerous than an idea when you have only one idea.

Perhaps even more problematic than being stuck with a narrow view of paradigms, is being stuck with a dysfunctional view of each paradigm. For instance, many developers working in languages and frameworks that support object orientation have a strong idea of the principles of interaction, data abstraction and granularity that support an effective view of OO, and instead surround themselves with manager objects, singletons and DTOs.

This session explores the strengths and weaknesses of different programming styles, patterns and paradigms across different programming languages, past and present.

Kevlin Henney is an independent consultant, speaker, writer, reviewer, and trainer. His development interests are in programming, people and practice. He is co-author of “A Pattern Language for Distributed Computing” and “On Patterns and Pattern Languages”, two volumes in the Pattern-Oriented Software Architecture series, and editor of “97 Things Every Programmer Should Know” and co-editor of “97 Things Every Java Programmer Should Know”.
Kevlin Henney
Kevlin Henney
flag VORTRAG MERKEN

Vortrag Teilen

09:00 - 16:00
Fr 2
Ausgebucht Workshop Big Data und Machine Learning in der Praxis
Workshop Big Data und Machine Learning in der Praxis

Big Data und Machine Learning sind aktuelle Konzepte und Technologien, die neue Anwendungsmöglichkeiten für IT in Unternehmen schaffen. In diesem eintägigen Workshop lernen Sie, wie Sie schnell und auf einfache Weise Aufgabenstellungen im Bereich Big Data und Machine Learning mit Hilfe der freien, offenen, grafischen Umgebung "KNIME" selbst bearbeiten können. Sie bearbeiten hierbei in einem Scrum-Team eigenständig jeweils Fallstudien aus dem Bereich Big Data und Machine Learning zur Verarbeitung von OpenData aus dem Bereich Car-Sharing (Flinkster).

Benötigt wird die Software KNIME.

Maximale Teilnehmerzahl: 20

Zielpublikum: Entwickler:innen, (Unternehmens-)Architekt:innen, IT-Manager/IT-affine Mitarbeiter:innen
Voraussetzungen: Grundkenntnisse Programmierung, Big Data, Machine Learning
Schwierigkeitsgrad: Anfänger

Extended Abstract
Big Data und Machine Learning sind aktuelle Konzepte und Technologien, die neue Anwendungsmöglichkeiten für IT in Unternehmen schaffen. Eine Einarbeitung ist normalerweise mit erheblichem Aufwand und verbunden. In diesem eintägigen Workshop lernen Sie, wie Sie schnell und auf einfache Weise Aufgabenstellungen im Bereich Big Data und Machine Learning mit Hilfe der freien, offenen, grafischen Umgebung "KNIME" selbst bearbeiten können. Sie bearbeiten hierbei in einem Scrum-Team eigenständig jeweils Fallstudien aus dem Bereich Big Data und Machine Learning zur Verarbeitung von OpenData aus dem Bereich Car-Sharing (Flinkster).

  1. Analysieren Sie die Fahrzeugdaten (Big Data)
  2. Analysieren Sie die Stationen, Buchungen und Buchungsdaten (Big Data)
  3. Trainieren Sie ein ML-System mit Fahrzeugdaten und lassen Sie es Fahrzeugdaten voraussagen (Machine Learning)
Nach dem Studium der Betriebswirtschaftslehre mit den Schwerpunkten Unternehmensführung und Informatik in Köln hat Michael Kunz fast 25 Jahre als Projektleiter, (Unternehmens-)Architekt, (Transformations-)Berater und Manager in der IT-Industrie gearbeitet. Dabei war er sowohl für Anwenderunternehmen als auch für Beratungs- und Produkthäuser tätig. In den letzten 10 Jahren hatte er die Verantwortung für die Sanierung einer ganzen Reihe von Großprojekten. In den letzten Jahren hat er Unternehmen in verschiedenen Branchen bei ihrer Digitalen Transformation auf Fach- und IT-Seite unterstützt - u. a. beim Aufbau Digitaler Geschäftsmodelle.
Michael Kunz
Michael Kunz
flag VORTRAG MERKEN

Vortrag Teilen

09:00 - 16:00
Fr 3
Ausgebucht Facilitating Collaborative Design Decisions
Facilitating Collaborative Design Decisions

If we want to make sustainable design decisions for our architecture that are embraced by everyone, the most effective way is to do this collaboratively. It is hard to do because we need to deal with all sorts of group dynamics that cause people to stop sharing what they want, ending up in resistance behaviour from sarcastic jokes, to stopped communication. So how can we make collaborative design decisions better? Join us in this hands-on workshop where we explore different models of decision making.

Maximum number of participants: 24

Target Audience: Architects, Managers, Decision Makers
Prerequisites: None
Level: Expert

Extended Abstract
If we want to make sustainable design decisions for our architecture that are embraced by everyone, the most effective way is to do this collaboratively. Everyone can feel a part of the decision, and can potentially give the input they have. The group is aligned and knows what is to be expected onward. On paper this sounds great, but in reality we know it is hard to do because we need to deal with all sorts of group dynamics. Dynamics like cultural differences, conflicts of opinions, cognitive biases, and polarities that the group are part of. These dynamics cause people to stop sharing what they want, which ends up in resistance behaviour from sarcastic jokes, to stopped communication or leaving the session. No wonder a lot of people resort to a more autocratic form of decision making, where the architect analyzes and makes the decision. So how can we make collaborative design decisions better?

Join Gien, Evelyn and Kenny in this hands-on workshop where we explore different models of decision making that can help facilitate collaborative design decisions. We will dive into a variety of facilitation techniques such as:

  • Working with climate reports to trigger hidden group conflicts
  • Visualising trade-offs of different models with the pro-con-fix list
  • Taking group decisions with full buy in with Deep Democracy
Leveraging Deep Democracy, Domain-Driven Design, Continuous Delivery and visual collaborate tools, Kenny Baas-Schwegler empowers organisations, teams and people in building valuable software products.
Gien Verschatse, a software developer with 10 years of experience, mainly in a .NET environment, who likes to start her day with coffee. She specialises in bridging the gap between users and developers by practicing domain driven design. Besides that she loves to learn how teams can improve the way they make decisions both on a technical and organisational level. She is a strong believer of continuously learning by deliberate practice and knowledge sharing, which is why she dedicates a lot of her free time speaking at conferences or user groups.She also helps to organise an F# conference in the US, Open FSharp. When she is not busy with all of the above, you will find her on the sofa, reading a book (yes, with coffee).
Evelyn van Kelle is a strategic software delivery consultant, with experience in coaching, advising and guiding organisations and teams in designing socio-technical systems.
Kenny Baas-Schwegler, Gien Verschatse, Evelyn van Kelle
Kenny Baas-Schwegler, Gien Verschatse, Evelyn van Kelle
flag VORTRAG MERKEN

Vortrag Teilen

09:00 - 16:00
Fr 4
C++20 – Ein vollständiger Überblick
C++20 – Ein vollständiger Überblick

C++20, die nächste große Revolution von C++, ist dabei sich durchzusetzen.

Mit Concepts, Ranges, Koroutinen und Modulen stehen große neue Features zur Verfügung, die das Programmieren in C++ teilweise radikal ändern. "Kleinigkeiten" wie neue Operatoren, Erweiterungen zu Multi-Threading und Concurrency, Kalender und Zeitzonen, formatierte Ausgabe, neue Template-Features und Sprachmittel zum Compile-Zeit-Computing runden das Release ab.

Dieses Tutorial gibt einen umfassenden Überblick gewürzt mit Beispielen und ersten Erfahrung aus der Praxis.

Zielpublikum: Entwickler:innen
Voraussetzungen: Grundkenntnisse in C++
Schwierigkeitsgrad: Fortgeschritten

Nicolai Josuttis ist seit über 20 Jahren an der Standardisierung von C++ beteiligt, ist Autor etlicher internationale Standard-Werke zu C++ und ein bekannter Sprecher und Trainer auf dem Gebiet.
Nicolai Josuttis
Nicolai Josuttis
Vortrag: Fr 4
Themen: C++
flag VORTRAG MERKEN

Vortrag Teilen

09:00 - 16:00
Fr 5
Domain-Driven Design-Tutorial: DDD intensiv
Domain-Driven Design-Tutorial: DDD intensiv

In den Zeiten von Microservices wird klar, wie wichtig Domain-Driven Design nach wie vor ist. Denn nur mit Strategischem Design und dem Aufteilen der Domäne in Bounded Contexts kann ein sinnvoller (nämlich fachlicher) Schnitt für die Microservices gefunden werden.

Aber auch Taktisches Design mit der Ubiquitous Language und den Building Blocks haben nichts an Aktualität verloren.

In diesem Workshop nehmen wir uns einen Tag Zeit, um DDD näher anzuschauen. Der Workshop besteht aus abwechselnd Vortrag, Diskussion und Übungen.

Zielpublikum: Architekt:innen, Entwickler:innen, Projektleiter:innen, Manager, Entscheider, POs, Fachexpert:innen
Voraussetzungen: Erfahrung in mittleren bis großen Projekten
Schwierigkeitsgrad: Anfänger

Extended Abstract
In den Zeiten von Microservices wird klar, wie wichtig Domain-Driven Design (DDD) nach wie vor ist. Denn nur mit Strategischem Design (also DDD im Großen) und dem Aufteilen der Domäne in Bounded Contexts kann ein sinnvoller (nämlich fachlicher) Schnitt für die Microservices gefunden werden.

Aber auch Taktisches Design (also DDD im Kleinen) mit der Ubiquitous Language und den "Building Blocks" Entities, Value Objects, Aggregates, Services und Co. haben nichts an Aktualität verloren.

In diesem Workshop nehmen wir uns einen Tag Zeit, um DDD näher anzuschauen. Der Workshop besteht aus abwechselnd Vortrag, Diskussion und Übungen.

Der Aufbau wird so sein, dass wir zunächst einen Überblick über DDD geben und uns dann die einzelnen Themen detailliert betrachten. Dabei nähern wir uns DDD gewissermaßen von außen nach innen. Inhaltlicher Aufbau:

  1. Einführung und Überblick
  2. Domäne kennenlernen
  3. Domäne aufteilen
  4. Sprache lernen und bauen
  5. Domäne modellieren
  6. Modell implementieren
Henning liebt Programmieren in hoher Qualität. Diese Leidenschaft lebt er als Coder, Coach und Consultant bei der WPS - Workplace Solutions aus. Dort hilft er Teams dabei, Ihre gewachsenen Monolithen zu strukturieren oder neue Systeme von Anfang an mit einer tragfähigen Architektur zu errichten. Häufig kommen dann Microservices oder Self-Contained Systems heraus. Henning ist Autor von »Domain Storytelling« und dem www.LeasingNinja.io sowie Übersetzer von »Domain-Driven Design kompakt«.
Henning Schwentner
Henning Schwentner
flag VORTRAG MERKEN

Vortrag Teilen

09:00 - 16:00
Fr 6
Hands-On-Einstieg in Wardley Mapping
Hands-On-Einstieg in Wardley Mapping

In diesem interaktiven Workshop erarbeiten wir uns das Thema Wardley Maps und wie sich diese in der Weiterentwicklung von komplexen Softwaresystemen und Softwarelandschaften pragmatisch einsetzen lassen.
 
Wardley Maps sind evolvierende Strategielandkarten, welche ein kontextspezifisches Situationsbewusstsein für die eigenen Softwaresysteme (und mehr) schaffen. Sie bieten uns einen Ort, um komplexe Sachverhalte zu kommunizieren: Wie hängen Business und Systeme zusammen? Wo bauen wir etwas selbst und was holen wir von extern? Welche Entwicklungspraktiken und Vorgehen setzen wir dafür ein?
 
Mit Wardley Maps erstellen wir für diese Art von Fragen Landkarten, um unsere eigene Situation besser zu verstehen. Und mehr! Mit einer Karte können wir auch planen, wo die Reise hingehen soll. Wardley Mapping bietet uns hierfür einen reichen Fundus an Wegweisern zum Navigieren und Tipps zum Umgang mit Hindernissen.
 
 
Zielpublikum: Architekt:innen, Entwickler:innen, Projektleiter:innen, Manager, Entscheidende
Voraussetzungen: Interesse an visueller Kommunikation, keine Scheu vor praktischen Übungen in Miro
Schwierigkeitsgrad: Anfänger
 
Teilnehmendenbegrenzung: keine

Markus Harrer arbeitet seit über zwölf Jahren in der Software-Entwicklung. Seine Spezialgebiete sind Clean Code, Softwaresanierung, Performance-Optimierung und Software Analytics. Als Berater bei INNOQ hilft er, Software nachhaltig und strategisch sinnvoll zu verbessern.
Markus Harrer
Markus Harrer
flag VORTRAG MERKEN

Vortrag Teilen

09:00 - 16:00
Fr 7
Embrace Uncertainty, And Reality Will Hug You Back
Embrace Uncertainty, And Reality Will Hug You Back

We live in an uncertain world that seems to shift and transform by the second. How can our software teams ever be effective when the ground is shifting below their feet?

While the discomfort of uncertainty and chaos may well make us feel uncomfortable, even fearful. It's precisely where the value in most of our projects lies.

In this session we'll explore how to embrace uncertainty and deliver the right things at the right time. Even when it seems hard to pin down what the right thing is and when it's needed!

Target Audience: Agile Coaches, Product Managers, Product Owners, Project Managers
Prerequisites: Some experience with the application of agility to a team or organisation.
Level: Advanced

Extended Abstract
We liv in an uncertain world that seems to shift and transform by the second. How can our software teams ever be effective when the ground is shifting below their feet?

While the discomfort of uncertainty and chaos may well make us feel uncomfortable, even fearful. It's precisely where the value in most of our projects lies.

In this session we'll explore how to embrace uncertainty and deliver the right things at the right time. Even when it seems hard to pin down what the right thing is and when it's needed!

  • How to make your work board (virtual or real) a tool to support group problem solving and collaboration.
  • How to use story mapping to plan work and understand the level of uncertainty.
  • How to use projections to help with prioritisation and planning.
  • Why having a language to discuss uncertainty is so important.
  • This tutorial is for anyone wanting to better prioritise their teams' work, respond effectively to an ever changing environment and deliver value.
John Le Drew has spent most of the last 2 decades working in the software industry, with a focus on web echnologies. After 10 years as a software engineer John moved into consultancy where he quickly learned the value of team dynamics and how most technical challenges are projecting underlying issues with collaboration. So his focus shifted, while still being very involved technically, his first focus is on facilitating a safe, creative, collaborative environment.
John Le Drew
John Le Drew
Vortrag: Fr 7
Themen: Agility
flag VORTRAG MERKEN

Vortrag Teilen

09:00 - 16:00
Fr 8
Structured Test Design and Condition-Oriented Test Case Design with ECT And MCDC
Structured Test Design and Condition-Oriented Test Case Design with ECT And MCDC

Test case design is one of the core competences of the testing profession. This tutorial is about an effective and elegant technique that is still too little known.

After an overview presentation of test design using coverage-based test design techniques and experience-based test approaches, this tutorial addresses one of the (seemingly) harder techniques from the condition-oriented group of coverage-based test design techniques, the Elementary Comparison Test (ECT) that uses Modified Condition Decision Coverage (MCDC).

Target Audience: Quality Engineers, Test Engineers, Developers
Prerequisites: General knowledge of IT delivery, quality engineering and testing
Level: Advanced

Extended Abstract
Test case design is one of the core competences of the testing profession.

Which test design techniques do you use? And is this effective and efficient?

In the TMAP body of knowledge we distinguish 4 main groups of test design techniques: Process-oriented (such as path testing), Condition-oriented (such as decision table testing), Data-oriented (such as Data Combination test) and Appearance-oriented (such as Syntactic testing and performance testing).

After an overview presentation of test design using coverage-based test design techniques and experience-based test approaches, this tutorial addresses one of the (seemingly) harder techniques from the condition-oriented group of coverage-based test design techniques, the Elementary Comparison Test that uses Modified Condition Decision Coverage.

Suppose you must test the entry-check of the new Wuthering Heights Rollercoaster in the QualityLand amusement park. Every person must be at least 120 cm tall to be allowed in the rollercoaster. What technique would you use? Boundary Value Analysis (from the group data-oriented testing), right? That’s not a tough choice.

But now the marketing department of QualityLand has a special offer for Halloween. To be allowed with the special discount-rate, a person must still be at least 120 cm tall, but must also wear a Halloween outfit and needs to be at the gate on 31 October (that’s a decision with 3 conditions). On top of this, if the person has bought a ticket online, and paid 10% extra, they may skip the line (that’s another decision, with 2 conditions).

So, all in all you have 2 decision points, with together 5 conditions.

Now what test case design technique do you use?

In the above example (with 5 conditions) choose a condition-oriented test design technique. But which? Probably you know Decision Table Testing. Applying this technique would lead to 2-to-the-power-of-5 = 32 test cases. That’s a bit too much to call this an efficient test set.

My advice is to use the Elementary Comparison Test (ECT) design technique, together with Modified Condition Decision Coverage (MCDC). This way, with only 6 (!!) test cases you can guarantee that EVERY condition has contributed to trigger EVERY outcome of the entry-check of the rollercoaster. So, it is both effective and efficient!

Have you never heard of ECT before? Well, even though it exists for decades, I can imagine, because ISTQB doesn’t teach you this. But is has been part of the TMAP body of knowledge since 1995 :-)

This HUSTEF conference you will get your chance to learn all about ECT & MCDC!!

Join me in this half-day or full-day tutorial and I will make sure that you will get hands-on experience.

Rik Marselis is principal quality consultant at Sogeti in the Netherlands. He is a well-appreciated presenter, trainer, author, consultant, and coach in the world of quality engineering. His presentations are always appreciated for their liveliness, his ability to keep the talks serious but light, and his use of practical examples with humorous comparisons.
Rik is a trainer for test design techniques for over 15 years.
Rik Marselis
Rik Marselis
Vortrag: Fr 8
flag VORTRAG MERKEN

Vortrag Teilen

09:00 - 16:00
Fr 9
Ausgebucht Reactive Streams: Automatische Parallelität, Wunsch und Wirklichkeit
Reactive Streams: Automatische Parallelität, Wunsch und Wirklichkeit

Reactive Streams sind eine Schlüsseltechnologie für hochskalierbare verteilte Systeme, sie automatisieren Parallelität und Nebenläufigkeit transparent. Aber wie erziele ich ein ganz bestimmtes Parallelitätsverhalten? Wann laufen Datenproduktion oder Pipeline-Stufen parallel? Wie optimiere ich Performance und Skalierbarkeit?

Im Tutorial lernen Sie, Parallelität in Reactor und RxJava effizient auf nichtfunktionale Anforderungen Ihres Systems zuzuschneiden und lernen den grundlegenden Einsatz und Realisierungskonzepte dieser Frameworks kennen.

Auf dem Rechner sollte JDK 9 oder neuer installiert sein.

Maximale Teilnehmerzahl: 30

Zielpublikum: Entwickler / Architekten die Reactive Streams effizient nutzen wollen (beliebige Programmiersprache)
Voraussetzungen: Kein Reactive Stream Wissen erforderlich, Java Grundlagen, JDK 9 oder neuer für die Übungsaufgaben
Schwierigkeitsgrad: Anfänger

Extended Abstract
The Time is Now: Das Pandemiejahr hat gezeigt, wie wichtig die Skalierbarkeit von Softwaresystemen für das Funktionieren unserer Gesellschaft ist. Reactive Streams sind eine zentrale Schlüsseltechnologie für hochskalierbare nebenläufige und verteilte Systeme. Parallelität und Nebenläufigkeit werden transparent hergestellt und mit wenigen Aufrufen konfiguriert. Aber in der Praxis ist es nicht immer einfach zu erkennen, mit welcher Konfiguration ich ein ganz bestimmtes gewünschtes Parallelitätsverhalten herstellen kann, und wie sich dieses dann auf Performance und Skalierbarkeit meiner Applikation auswirkt.

Nach einer Einführung in die Anwendung der Reactive Streams Framewoks RxJava und Reactor erwerben Sie in diesem Tutorial die Fähigkeit, die Parallelitätskonzepte in Reactive-Streams generell zu verstehen und diese gezielt für die Anforderungen Ihrer Applikation zu einzusetzen.

Es wird gezeigt, wie sich Parallelität, Nebenläufigkeit und Nonblocking Back-Pressure konfigurieren lassen, und welches genaue Verhalten hinsichtlich Datenproduktion, Datenfluss und Parallelität in der Pipeline sich hinter den jeweiligen Alternativen verbirgt.

Da die Konzepte programmiersprachenübergreifend sind, ist das Tutorial auch für Anwender von Reactive Streams in anderen Sprachen als Java gut geeignet.

Anhand zahlreicher praktischer Übungsaufgaben lernen Sie, sich Fragen der folgenden Art zu beantworten:

  • Was muss ich bei parallellaufenden Stream-Stufen beachten?
  • Wie ist das Queueing in einem Reactive Stream realisiert?
  • Wie setze ich Back-Pressure als Schlüssel zu einer hohen Skalierbarkeit ein?

Agenda

  • Einführung: Reactive Streams Standard und das Reactive Manifesto
  • Grundlegende Benutzung von Reactor / RxJAva
  • Streams aufbauen, verzweigen und zusammenführen
  • Datengeneratoren
  • Parallelität: Konfiguration und Verhalten
  • Nebenläufigkeit: Datenmanagement in den Frameworks
  • Nonblocking Back-Pressure: Benutzung und Realisierung
  • Nichtfunktionale Anforderungen: Skalierbarkeit und Performance
Marwan Abu-Khalil ist Softwarearchitekt in der Siemens AG und Trainer im Siemens Zertifizierungsprogramm für Software Architekten. Er unterrichtet seit Jahren leidenschaftlich Parallele Programmierung für die unterschiedlichsten Programmiersprachen und Umgebungen.
Marwan Abu-Khalil
Marwan Abu-Khalil
flag VORTRAG MERKEN

Vortrag Teilen

Zurück