Tracks of the OOP 2018

The Program Committee - a panel of expert consultants, assisted by more than 70 reviewers - examines all presentations thoroughly before deciding which speakers and topics will be included in the OOP programme.

Agile Program and Project ManagementThorsten Janning

Project management has been one the most important success factors for the development of very complex systems. At least with the scaling agile frameworks the agile community presents some alternative practices and tools to master those complex development tasks.

In this track we present ideas and experiences of Agile and non-Agile organizations, programs and projects. We give a non-ideological current state of project management.

Developer PracticesMarc Bless

Many software development teams do not apply mandatory developer practices. This track focuses on topics like Test-First Development, TDD, Refactoring, Pairing, and any other developer practices that are useful to build better quality systems with more fun.

Software is becoming more complex, and engineers struggle to ensure correctness, reliability and security. Theoretical computer science promises to help with techniques like abstract interpretation, constraint solving, model checking or theorem proving; the tools have matured in recent years to make them useful in practice.

This track presents talks for engineers who want to explore the potential of these techniques: each talk introduced a particular method, demonstrates one or more tools and illustrates its use with real-world examples.

Digitalization is revolutionizing IT. It is transforming whole industries and businesses by the integration of heterogenous edge-based devices with Cloud-based backends. Such systems process and distribute large amounts of data, support decision making or even autonomous behavior, and integrate new kinds of Human-Machine-Interaction. In addition, they are based on open standards, open/inner source, and ecosystem architectures. This leads to significant consequences for software engineers. E.g., software architecture will be tightly intertwined with system engineering. in addition - according to the CIO Magazine - the competencies needed by software engineers will radically change as well.

The track addresses the impact of digitalization on software architecture and software engineering. They might comprise but are not constrained to case studies, architecture concepts & patterns, role & competences of architects, and technological impact.

Modern ArchitectureEberhard Wolff

In these times software needs to be even easier to change, to scale more and to run in the Cloud. This track shows how architecture can help to answer these challenges with approaches like Microservices, Servless and Self-contained Systems - and how architecture influences the organization.

The vast majority of OOP attendees are mainly using established Top-10 programming languages such as Java, Python, C, C++, C#, JavaScript, and PHP using imperative, object-oriented, and generic paradigms. But times are changing. Other programming languages, such as D, Dart, Go, Kotlin, R, Rust, and Swift establish more and more. New versions of well-known programming language (C++17, Java 9) introduce cool and powerful features (especially for concurrent programming). This transforms the way we develop software.This track is dedicated to these modern programming languages and features. The goal is to help that professional system architects and software developers don't lose track of modern programming and software development. We present overviews / comparisons of new languages and paradigms, or report on remarkable languages and their features.

My Dad should've told meFrank Buschmann

Modern processes, methods, and technologies like SAFe, LeSS, Microservices or Serverless Computing promise to make software development more efficient, scalable or more productive. Now doubt this is the case, but in many projects the root cause of challenges is not the inappropriate application of the latest innovations. Instead the true reason for trouble is very often the neglect of fundamental practices in software engineering. These practices are known for a long time and so elementary that they are not innovative or cool enough to be subject conference talks or journal papers. Obviously they have been forgotten over time or developers are unaware of their importance.

In this track renowned software experts and “silver-backs” shed light on these timeless practices, methods and techniques. With hindsight of their experience they tell why these elementary practices are so essential for the success of software projects – despite all innovations in our field.

Next-generation Infrastructure & PlatformsStefan Tilkov

Platforms, networks, and server environments are increasingly becoming software-defined. Hardware that essentially used to be set in stone relative to the flexibility of software that runs on is now becoming easily changeable, and many architectural assumptions are being challenged.

In this track, we’ll explore the advantages, problems, and new solutions that appear at the boundary of software and sophisticated, public and private platforms.

Requirements Engineering: Innovate & ValidateSusanne Mühlbauer

The signs point to Innovation! Requirements Engineering (RE) methods can support innovative design and development. It goes even further; RE can be the glue between Innovation and Validation. „Innovate and Validate“- let us check whether our innovation delivers the right solution for a need. But let us not forget the verification over validation. Can we implement our innovation in a way that all the requirements concerning safety, legal, standards, reliability, supportability, etc. are considered? How can we avoid to lose thereby speed and innovation power?

Social IntegrationOlaf Lewitz

We are social beings - and as engineers, we have a tendency to nurture our relationships less than other systems we work on. Integration, in the words of neurobiologist Dan Siegel, means “honoring differences, promoting linkages”. As engineers we’ve applied this successfully to systems and software … making it automatic and continuous. Now we want to focus on integrating social and technical systems, our organizations with our customers, or our business with our IT.

In this track we integrate different aspects of our software-creating systems. We combine our expertise in the domains of people, process and product and bring ideas together in new and inspiring ways.

SocITyJohannes Mainusch

IT changes the life of people and ultimately our society. Will we see truly intelligent robots in our lifetime? Will distance in future be measured in trust between people rather than in miles? And how would that change our understanding of ourselves in relation to our fellows.

Effective and efficient software and system development requires superior test approaches in place and a strong commitment to quality. There are many test approaches, methods, and techniques available but the knowledge of their interdependencies, effectiveness, and efficiency is still a well-known research topic. To determine the right mix of test methods and quality measures is no easy task in real project life due to increasing demand for reliability of systems, cost efficiency, and market needs on speed and flexibility.

Therefor the T&Q-Track@OOP2018 provides practical guidance how to address these challenges in the area of testing and quality and shows how testing is transforming in the digitalization era. Experts from different domains present new directions in the field, explain approved strategies and practices, and share valuable project experiences how to make it happen.

Trends & TechniquesJutta Eckstein

In this track we are concentrating on how the details of current and future trends & techniques influence the interplay of software and business. Amongst other things we will take a look at how to create great teams, the critical skills for refactoring, Serverless Microservices, or the application for Blockchain for architectural decisions.