Conference Program

Please note:
On this site, there is only displayed the English speaking sessions of the OOP 2022 Digital. You can find all conference sessions, including the German speaking ones, here.

The times given in the conference program of OOP 2022 Digital correspond to Central European Time (CET).

By clicking on "EVENT MERKEN" within the lecture descriptions you can arrange your own schedule. You can view your schedule at any time using the icon in the upper right corner.

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 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 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 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 7
CANCELATION: Embrace Uncertainty, And Reality Will Hug You Back
CANCELATION: Embrace Uncertainty, And Reality Will Hug You Back

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!

  • 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

Zurück