1 Workshops

3rd International Workshop on Hybrid Development Approaches in Software Systems Development (HELENA)

A software process provides a game plan for organizing project teams and running projects. Software processes have existed in many forms, over a period of decades. Yet, it is still a challenge to select the most appropriate process for a given context. A multitude of development approaches compete for the developers’ favor, and there is no silver bullet serving all possible setups. Moreover, recent research as well as experience from practice show companies utilizing different development approaches to assemble the best-fitting approach for the respective company, team and project at that point in time. For instance, a more traditional process might provide the basic framework often to serve the organization, while project teams embody this framework with more agile (and/or lean) practices to leverage their flexibility.

This Workshop continued the software process community work initiated at ICSSP 2016 (Austin, Texas). The HELENA workshops accompany the HELENA study which aims at investigating the current state of practice in software and systems development. HELENA is an acronym for “Hybrid dEveLopmENt Approaches in software systems development”. In particular, the study aims to determine which development approaches (traditional, agile, mainstream, or homegrown) are used in practice and how they are combined, how such combinations are developed over time, and if and how standards (e.g., safety standards) affect the development process as such and the methods applied. With this information, the study aims to push forward systematic process design and improvement activities to allow for more efficient and lower-overhead development approaches.

The HELENA study has been planned as a 3-stage international research endeavor. The first stage initiated data collection through the building and testing of a survey instrument. The second stage enabled “mass data” collection using a revised survey instrument, available in four languages. This second stage was conducted via a large international consortium comprising more than 70 partners from more than 20 countries. Finally, the third stage will emphasize more focused research based on the outcomes of the second stage. This workshop aimed at bringing together all HELENA contributors in order to

  1. 1.

    Report the current state and (tentative) outcomes of the HELENA survey (from global and regional perspectives),

  2. 2.

    Develop a work program and define next steps within the whole community, and

  3. 3.

    Build working groups, to work on the selected (sub-)topics of interest.

The 3rd HELENA Workshop was a full-day event, organized for the community to meet and advance topics of interest. The program included sessions on work in progress and ongoing initiatives and the current state of the HELENA study from a global perspective. In addition, future joint initiatives were planned and the foci of the third phase of the HELENA study was presented and discussed. The 3rd HELENA workshop was organized by Paolo Tell (IT University of Copenhagen), Stephen MacDonell (Auckland University of Technology), and Sherlock Licorish (University of Otagoc).

2nd International Workshop on Managing Quality in Agile and Rapid Software Development Processes (QuASD)

The 2nd International Workshop on Managing Quality in Agile & Rapid Software Development Processes aimed at investigating product and process quality in the context of agile and rapid software development. The objective of the workshop was to exchange challenges, experiences, and solutions among researchers and practitioners in the aforementioned area to bring agile and rapid software development processes a step further to seamless integrate quality management activities into their practices.

The program started with a keynote talk by Dietmar Pfahl on the topic Data Science for Software Quality ManagementExamples and Challenges. The following abstract summarizes the keynote: “Software has become part of our daily life: whether we drive a car, sit on a plane, use our washing machine, perform a bank transaction, or file our tax return, software is involved in all of these activities. To develop such systems, software engineers must take many decisions in their daily work. The quality of their decision-making is crucial for the success of every new software system deployed to the market. Unlike other engineers, software engineers cannot rely on the laws of nature but must base their decisions to a large extent on experience and empirically derived models. During the last decade, with the emergence of what is now called Data Science, automated approaches for managing quality in software projects and products have come into the focus of research and practice, often using techniques from the realms of Artificial Intelligence and Machine Learning (ML).” The talk provided (a) two examples of using ML in the context of software quality management, (b) a discussion of some of the associated challenges, and (c) a list of questions that should be answered when using automated approaches to software quality management.

The workshop accepted the following articles

  • Simon Andre Scherr, Frank Elberzhager and Lisa Müller. Quality Improvement of Mobile Apps – Tool-supported Lightweight Feedback Analyses

  • Raquel Ouriques, Krzysztof Wnuk, Richard Svensson and Tony Gorschek. Thinking Strategically about Knowledge Management in Agile Software Development

  • Nuno Santos, Jaime Pereira, Nuno Ferreira and Ricardo-J. Machado. Modeling in agile software development: decomposing use cases towards (logical) architecture design

  • Philipp Hohl, Sven Theobald, Martin Becker, Michael Stupperich and Jürgen Münch. Mapping Agile to Automotive Software Product Line Concerns

  • Marcus Ciolkowski and Florian Lautenschlager. Making Runtime Data Useful for Diagnosis

The 2nd QuASD workshop was organized by Claudia Ayala (Universitat Politècnica de Catalunya), Silverio Martínez-Fernández (FhG), and Pilar Rodríguez (University of Oulu).

2 Tutorials

The Human Factor in Agile Transitions – Using the Personas Concept in Agile Coaching

Any agile transition would be simple if there were not people involved. Unfortunately, we will not just come upon ideal personalities for the agile transition in real world. As agile leader and coach, we must support every single person and lead all team members to use their skills efficiently for the agile transition. The team should have a common understanding of how to work. The Personas (lat. mask) concept is an effective analytical approach used in human-computer-interaction to identify so called “personas”. A persona is a prototype for a group of users. It is described with specific characteristics and user behavior. The concept offers excellent guidelines for the design and development of the desired software. In this tutorial we want to apply the personas concept to people involved in the agile transition process and gather answers to the following questions: Which personas do we know? What are their characteristics? How do we empower them to do the right things for the team effort? Together with the tutorial participants we want to identify suitable personas who represent a certain group of people in the agile transition. These are described with specific characteristics and behavior. Together we want to find ways to empower, promote and challenge these personas in the sense of coaching and leading teams in agile transitions.

This presenters of this tutorial are Markus Seiwert (Bank Deutsches Kraftfahrzeuggewerbe) and Stefan Hilmer (Acando)

Process Management 4.0 – Best Practices

The tutorial provides best practice methods and techniques for all areas of process management that were accrued in more than 15 years of experience in which Method Park performed worldwide process audits at more than 700 engineering organizations. As a participant, you will benefit from (a) a 360° view with which you will be able to identify the potential for optimization in the process management of organizations, (b) the tools with which you can initiate appropriate improvements or carry them out yourself. The tutorial covers the following topics:

  • Motivation

    • What do digitalization and Industry 4.0 mean for process management?

    • Process modeling instead of process description and what it facilitates

  • Setting objectives

    • How process management can support business objectives and why it should

    • How can one derive meaningful metrics from the objectives?

  • Analysis of the current state

    • Dimensions of the analysis of the current state (process capability) and why we have to consider it for process management (influencing factors)

  • Process architecture

    • Techniques for process reuse for modularization or variant creation

    • The value chain as an architectural founder

    • Architectural challenges of engineering processes

  • Process definition

    • Process-collection techniques

    • Modeling guidelines

    • The RASIC model of the responsibility of roles in the process

    • Compliance with norms, standards and maturity models

  • Process implementation (process roll-out)

    • Methods and aspects of process introduction

  • Process management

    • Roles and structural organization of process management

    • The process of process management

    • Feedback-, change- and release management

The presenter of this tutorial is Oliver Hammrich (Method Park).

Domain-specific Languages for Specification, Development, and Testing of Autonomous Systems

Autonomous systems become more and more integrated in the workplace, taking over a wide range of tasks from providing product support, to automated credit decisions, to autonomous driving functions in modern cars. Guaranteeing the safety and correctness of such systems is of utmost importance since their actions can have severe consequences. Two key aspects for assessing the safety of these systems is understanding the domains they operate in and making their decisions comprehensible in the language of a domain – found in requirements. One big challenge is bridging the gap between informal specifications and system implementation. Domain-specific languages can close this gap. Domain-specific languages (DSLs) are programming languages that are less expressive than general-purpose programming languages and provide vocabulary for specific domains (e.g., for describing situations an autonomous system can encounter). After being an active field of research and development for many years, frameworks for developing DSLs have become reliable and stable tools in the toolbox of software engineers. Today’s vision is so-called language-driven development of systems, where domain engineering and accompanied DSL development become an integral part of the early phases of software projects, closing the gap between requirements and system by enabling system implementation in a domain-specific language. Languages and frameworks for smart executable contracts are one instance of this new paradigm that received a lot of attention in the recent past. The tutorial consists of two parts:

  1. 1.

    An introductory lecture that provides a brief introduction to the state of the art in the area of domain-specific languages and testing.

  2. 2.

    A tutorial in which participants can work on a small domain-specific language for development and testing of an autonomous system.

The demonstrated tools have been used successfully in numerous industrial projects. The presenters of this tutorial are Falk Howar, Stefan Naujokat and Bernhard Steffen (Dortmund University of Technology).

  • November 2018 

  • Jürgen Münch

  • Krzyszstof Wnuk