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
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:
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, arbeitet als Coach und Berater für Software-Entwicklung und -Architektur. Er ist Mitbegründer und Betreuer der Open-Source-Projekte arc42 (https://arc42.de) und aim42 (https://aim42.github.io), Buchautor und gelegentlicher Konferenzsprecher.
Mehr Inhalte dieses Speakers? Schaut doch mal bei sigs.de vorbei: https://www.sigs.de/autor/gernot.starke
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.
Vortrag Teilen
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.
Mehr Inhalte dieses Speakers? Schaut doch mal bei sigs.de vorbei: https://www.sigs.de/autor/stephan.pirnbaum
Vortrag Teilen
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!
Vortrag Teilen
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
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:
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.
Unternehmen, die Machine Learning (ML) in ihrem Kerngeschäft zur Anwendung bringen möchten, müssen MLOps, Model Governance und Explainable AI implementieren, um ML-Systeme in Produktion bringen und langfristig erfolgreich betreiben zu können.
Der Einsatz von Machine Learning und Künstlicher Intelligenz (KI) insgesamt bringt Verantwortung und Verpflichtungen mit sich. In vielen Bereichen müssen Unternehmen bereits regulatorische Vorgaben einhalten, die absehbar durch neue und KI-spezifische Auflagen ergänzt werden. So hat die EU-Kommission im April 2021 den Entwurf für eine KI-Verordnung vorgelegt, in der ein europäischer Ansatz für einen Rechtsrahmen für den Einsatz von KI formuliert wird. Schon jetzt zeichnet sich ab, dass die Umsetzung dieser Verordnung in die Praxis Unternehmen vor neue Herausforderungen stellen wird.
Neben regulatorischen Vorgaben sind es in vielen Anwendungsgebieten, in die KI zunehmend Einzug hält, hohe unternehmerische Risiken, die dazu führen, dass hohe Anforderungen an die Güte und Kontrolle von KI-Systemen gestellt werden müssen. Insbesondere dann, wenn in Fachprozessen Menschen Hand in Hand mit KI-Systemen arbeiten, besteht ein großer Bedarf, die automatisierten Entscheidungen in einer für die jeweilige Zielgruppe verständlichen Form zu erläutern und zu begründen.
Häufig steht auf dem Weg in den Produktivbetrieb von ML-basierten Systemen zunächst das Thema MLOps im Vordergrund: Wie muss die Infrastruktur aussehen? Wie können Trainings-Pipelines und Monitoring realisiert werden? Die Relevanz von Model Governance und Explainable AI wird für viele Unternehmen hingegen erst dann in vollem Umfang deutlich, wenn das erste Produktions-Deployment kurz bevorsteht.
In diesem Workshop zeigen wir, dass der Betrieb von KI-Systemen im Einklang mit aktueller wie zukünftiger Regulatorik und unternehmerischen Anforderungen keinesfalls ein abstraktes, sondern ein konkret lösbares Problem darstellt. Gemeinsam mit den Teilnehmerinnen und Teilnehmern erarbeiten wir anhand praxistauglicher Frameworks und alltagsnahen Anwendungsfällen ein umfassendes Verständnis, wie MLOps, Model Governance und Explainable AI als unverzichtbare Bausteine für einen erfolgreichen und zukunftsfähigen KI-Einsatz ineinandergreifen.
Kilian Kluge arbeitet als Co-Gründer von Inlinity daran, mit Explainable AI Anwendungsbereiche für KI-Systeme zu erschließen, in denen bislang regulatorische oder unternehmerische Risiken einem Einsatz entgegenstehen. Zuvor war er mehrere Jahre als IT-Berater und Entwickler in der deutschen Finanzbranche tätig und hat an der Universität Ulm zu nutzerzentrierter KI promoviert.
Isabel Bär studiert Data Engineering am Hasso-Plattner-Institut und arbeitet als Werkstudentin bei INNOQ. Sie beschäftigt sich mit Fragen rund um den langfristig erfolgreichen Einsatz von KI, zu denen insbesondere MLOPs und die Implementierung von Model Governance gehören.
Vortrag Teilen
Jede Organisation braucht ihren eigenen Weg – eine „Lesson Learned“ bei erfolgreichen agilen Transformationen. Viele Frameworks suggerieren vorgefertigte Strukturen und Prozesse, jedoch ist die Anwendung auf den eigenen Kontext häufig schwierig. Wir stellen Ihnen bewährte Trittsteine vor, die Sie zu Ihrem individuellen Weg zusammenfügen können.
Maximale Teilnehmerzahl: 30
Zielpublikum: Manager, Führungspersönlichkeiten, Agile Coaches, Scrum Master, Entscheider
Voraussetzungen: Grundlagen der Agilität sind notwendig, Grundlagen einzelner Methoden sind nicht erforderlich. Sie profitieren am meisten von diesem Workshop, wenn Sie bereits Erfahrung mit einer agilen Transformation oder auch anderen Veränderungsprozessen haben.
Schwierigkeitsgrad: Fortgeschritten
Extended Abstract:
Wir begleiten Sie durch die unterschiedlichen Teilstrecken einer agilen Transformation: Strategie, Readiness, Transition und Evolution.
Egal an welcher Stelle Sie sich auf Ihrem agilen Transformationsweg befinden, werden Sie feststellen, dass manche Schritte immer wieder wichtig sind. Wir zeigen Ihnen einen Überblick über Trittsteine, die Ihnen helfen, Halt zu finden. Sie haben die Gelegenheit, einige dieser „Gehhilfen“ in Übungen auszuprobieren:
So passt’s. Das ist mein Motto für meine Arbeit mit Einzelpersonen, Teams und Unternehmen. Kein Dogmatismus. Kein Perfektionismus. Das, was ich tue, passt zu meinen Überzeugungen und Wertvorstellungen. Schließlich: Wenn es mal nicht mehr passen sollte, helfe ich Ihnen gerne beim Anpassen. Das alles ist für mich der Kern meiner Arbeit als Agile Trainerin (Certified Scrum Trainerin) und Coach (Certified Enterprise Coach, Certified Team Coach, ICF PCC).
Alisa Ströbele ist seit 2011 in agilen Kontexten unterwegs: zuerst als Software-Entwicklerin und seit 2014 als Agile und Transformation Coach. Alisa ist Accredited Kanban Trainerin (AKT) und ausgebildete Systemic Business Coach (dvct).
Vortrag Teilen
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).
Mehr Inhalte dieses Speakers? Schaut doch mal bei sigs.de vorbei: https://www.sigs.de/autor/rainer.stropek
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 and trainer. His development interests are in programming, practice and people. He is co-author of two volumes in the ”Pattern-Oriented Software Architecture” series, and editor and contributor for multiple books in the ”97 Things” series. He lives in Bristol and online.
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).
Vortrag Teilen
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:
Vortrag Teilen
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 30 Jahren als Entwickler, Autor und Trainer und in der Software-Entwicklung tätig. Sein Schwerpunkt liegt dabei auf C++, über das er etliche Bücher geschrieben hat und wo er an der Standardisierung beteiligt ist.
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:
Henning Schwentner loves programming in high quality. He lives this passion as coder, coach, and consultant at WPS – Workplace Solutions in Hamburg, Germany. There he helps teams to structure their monoliths or to build new systems from the beginning with a sustainable architecture. Microservices or self-contained systems are often the result. Henning is author of “Domain Storytelling – A Collaborative Modeling Method” and the www.LeasingNinja.io as well as translator of “Domain-Driven Design kompakt”.
Mehr Inhalte dieses Speakers? Schaut doch mal bei sigs.de vorbei: https://www.sigs.de/autor/henning.schwentner
Vortrag Teilen
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 mehreren Jahren in der Softwareentwicklung und ist vor allem in konservativen Branchen tätig. Als Senior Consultant hilft er, Software nachhaltig und wirtschaftlich sinnvoll zu entwickeln und zu verbessern. Er ist aktiver Mitgestalter in Communities zu den Themen Software Analytics, Softwarearchitektur, Softwaresanierung und Java. Zudem ist er akkreditierter Trainer für den iSAQB Foundation Level und dem Advanced-Level-Modul IMPROVE.
Unfortunately, the session is cancelled without replacement.
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!
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.
Mehr Inhalte dieses Speakers? Schaut doch mal bei sigs.de vorbei: https://www.sigs.de/autor/rik.marselis
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:
Agenda
Vortrag Teilen