Searcharxiv⌕ Search

arXiv subjects

Kurt Schneider

Publications and source records attributed to Kurt Schneider.

At least 37 records · Page 2Linked to original sources

Human Factors in Model-Driven Engineering: Future Research Goals and Initiatives for MDE

Purpose: Software modelling and Model-Driven Engineering (MDE) is traditionally studied from a technical perspective. However, one of the core motivations behind the use of software models is inherently human-centred. Models aim to enable practitioners to communicate about software designs, make software understandable, or make software easier to write through domain-specific modelling languages. Several recent studies challenge the idea that these aims can always be reached and indicate that human factors play a role in the success of MDE. However, there is an under-representation of research focusing on human factors in modelling. Methods: During a GI-Dagstuhl seminar, topics related to human factors in modelling were discussed by 26 expert participants from research and industry. Results: In breakout groups, five topics were covered in depth, namely modelling human aspects, factors of modeller experience, diversity and inclusion in MDE, collaboration and MDE, and teaching human-aware MDE. Conclusion: We summarise our insights gained during the discussions on the five topics. We formulate research goals, questions, and propositions that support directing future initiatives towards an MDE community that is aware of and supportive of human factors and values.

cs.SE↗

Explanations in Everyday Software Systems: Towards a Taxonomy for Explainability Needs

Modern software systems are becoming increasingly complex and opaque. The integration of explanations within software has shown the potential to address this opacity and can make the system more understandable to end-users. As a result, explainability has gained much traction as a non-functional requirement of complex systems. Understanding what type of system requires what types of explanations is necessary to facilitate the inclusion of explainability in early software design processes. In order to specify explainability requirements, an explainability taxonomy that applies to a variety of different software types is needed. In this paper, we present the results of an online survey with 84 participants. We asked the participants to state their questions and confusions concerning their three most recently used software systems and elicited both explicit and implicit explainability needs from their statements. These needs were coded by three researchers. In total, we identified and classified 315 explainability needs from the survey answers. Drawing from a large pool of explainability needs and our coding procedure, we present two major contributions of this work: 1) a taxonomy for explainability needs in everyday software systems and 2) an overview of how the need for explanations differs between different types of software systems.

cs.SE↗

Privacy Explanations - A Means to End-User Trust

Software systems are ubiquitous, and their use is ingrained in our everyday lives. They enable us to get in touch with people quickly and easily, support us in gathering information, and help us perform our daily tasks. In return, we provide these systems with a large amount of personal information, often unaware that this is jeopardizing our privacy. End users are typically unaware of what data is collected, for what purpose, who has access to it, and where and how it is stored. To address this issue, we looked into how explainability might help to tackle this problem. We created privacy explanations that aim to help to clarify to end users why and for what purposes specific data is required. We asked end users about privacy explanations in a survey and found that the majority of respondents (91.6 \%) are generally interested in receiving privacy explanations. Our findings reveal that privacy explanations can be an important step towards increasing trust in software systems and can increase the privacy awareness of end users. These findings are a significant step in developing privacy-aware systems and incorporating usable privacy features into them, assisting users in protecting their privacy.

cs.SE↗

How Can We Develop Explainable Systems? Insights from a Literature Review and an Interview Study

Quality aspects such as ethics, fairness, and transparency have been proven to be essential for trustworthy software systems. Explainability has been identified not only as a means to achieve all these three aspects in systems, but also as a way to foster users' sentiments of trust. Despite this, research has only marginally focused on the activities and practices to develop explainable systems. To close this gap, we recommend six core activities and associated practices for the development of explainable systems based on the results of a literature review and an interview study. First, we identified and summarized activities and corresponding practices in the literature. To complement these findings, we conducted interviews with 19 industry professionals who provided recommendations for the development process of explainable systems and reviewed the activities and practices based on their expertise and knowledge. We compared and combined the findings of the interviews and the literature review to recommend the activities and assess their applicability in industry. Our findings demonstrate that the activities and practices are not only feasible, but can also be integrated in different development processes.

cs.SE↗

What Makes Agile Software Development Agile?

Together with many success stories, promises such as the increase in production speed and the improvement in stakeholders' collaboration have contributed to making agile a transformation in the software industry in which many companies want to take part. However, driven either by a natural and expected evolution or by contextual factors that challenge the adoption of agile methods as prescribed by their creator(s), software processes in practice mutate into hybrids over time. Are these still agile? In this article, we investigate the question: what makes a software development method agile? We present an empirical study grounded in a large-scale international survey that aims to identify software development methods and practices that improve or tame agility. Based on 556 data points, we analyze the perceived degree of agility in the implementation of standard project disciplines and its relation to used development methods and practices. Our findings suggest that only a small number of participants operate their projects in a purely traditional or agile manner (under 15%). That said, most project disciplines and most practices show a clear trend towards increasing degrees of agility. Compared to the methods used to develop software, the selection of practices has a stronger effect on the degree of agility of a given discipline. Finally, there are no methods or practices that explicitly guarantee or prevent agility. We conclude that agility cannot be defined solely at the process level. Additional factors need to be taken into account when trying to implement or improve agility in a software company. Finally, we discuss the field of software process-related research in the light of our findings and present a roadmap for future research.

cs.SE↗

FLOW Mapping: Planning and Managing Communication in Distributed Teams

Distributed software development is more difficult than co-located software development. One of the main reasons is that communication is more difficult in distributed settings. Defined processes and artifacts help, but cannot cover all information needs. Not communicating important project information, decisions and rationales can result in duplicate or extra work, delays or even project failure. Planning and managing a distributed project from an information flow perspective helps to facilitate available communication channels right from the start - beyond the documents and artifacts which are defined for a given development process. In this paper we propose FLOW Mapping, a systematic approach for planning and managing information flows in distributed projects. We demonstrate the feasibility of our approach with a case study in a distributed agile class room project. FLOW Mapping is sufficient to plan communication and to measure conformance to the communication strategy. We also discuss cost and impact of our approach.

cs.SE↗

An Interdisciplinary Guideline for the Production of Videos and Vision Videos by Software Professionals

Background and Motivation: In recent years, the topic of applying videos in requirements engineering has been discussed and its contributions are of interesting potential. In the last 35 years, several researchers proposed approaches for applying videos in requirements engineering due to their communication richness and effectiveness. However, these approaches mainly use videos but omit the details about how to produce them. This lack of guidance is one crucial reason why videos are not an established documentation option for successful requirements communication and thus shared understanding. Software professionals are not directors and thus they do not necessarily know what constitutes a good video in general and for an existing approach. Therefore, this lack of knowledge and skills on how to produce and use videos for visual communication impedes the application of videos by software professionals in requirements engineering. How to Create Effective Videos and Vision Videos?: This technical report addresses this lack of knowledge and skills by software professionals. We provide two guidelines that can be used as checklists to avoid frequent flaws in the production and use of videos respectively vision videos. Software professionals without special training should be able to follow these guidelines to achieve the basic capabilities to produce (vision) videos that are accepted by their stakeholders. These guidelines represent a core set of those capabilities in the preproduction, shooting, postproduction, and viewing of (vision) videos. We do not strive for perfection in any of these capabilities, .e.g., technical handling of video equipment, storytelling, or video editing. Instead, these guidelines support all steps of the (vision) video production and use process to a balanced way.

cs.SE↗

Catching up with Method and Process Practice: An Industry-Informed Baseline for Researchers

Software development methods are usually not applied by the book. Companies are under pressure to continuously deploy software products that meet market needs and stakeholders' requests. To implement efficient and effective development processes, companies utilize multiple frameworks, methods and practices, and combine these into hybrid methods. A common combination contains a rich management framework to organize and steer projects complemented with a number of smaller practices providing the development teams with tools to complete their tasks. In this paper, based on 732 data points collected through an international survey, we study the software development process use in practice. Our results show that 76.8% of the companies implement hybrid methods. Company size as well as the strategy in devising and evolving hybrid methods affect the suitability of the chosen process to reach company or project goals. Our findings show that companies that combine planned improvement programs with process evolution can increase their process' suitability by up to 5%.

cs.SE↗

Representing Software Project Vision by Means of Video: A Quality Model for Vision Videos

Establishing a shared software project vision is a key challenge in Requirements Engineering (RE). Several approaches use videos to represent visions. However, these approaches omit how to produce a good video. This missing guidance is one crucial reason why videos are not established in RE. We propose a quality model for videos representing a vision, so-called vision videos. Based on two literature reviews, we elaborate ten quality characteristics of videos and five quality characteristics of visions which together form a quality model for vision videos that includes all 15 quality characteristics. We provide two representations of the quality model: (a) A hierarchical decomposition of vision video quality into the quality characteristics and (b) A mapping of these characteristics to the video production and use process. While the hierarchical decomposition supports the evaluation of vision videos, the mapping provides guidance for video production. In an evaluation with 139 students, we investigated whether the 15 characteristics are related to the overall quality of vision videos perceived by the subjects from a developer's the point of view. Six characteristics (video length, focus, prior knowledge, clarity, pleasure, and stability) correlated significantly with the likelihood that the subjects perceived a vision video as good. These relationships substantiate a fundamental relevance of the proposed quality model. Therefore, we conclude that the quality model is a sound basis for future refinements and extensions.

cs.SE↗

Tool-Supported Experiments for Continuously Collecting Data of Subjective Video Quality Assessments During Video Playback

The adequate use of documentation for communication is one challenge in requirements engineering (RE). In recent years, several researchers addressed this challenge by using videos as a communication mechanism. All of them concluded that this way of using videos has the potential to facilitate requirements communication. Nevertheless, software professionals are not directors and thus do not necessarily know what constitutes a good video. This lack of knowledge is one crucial reason why videos are still not an established communication mechanism in RE. When videos shall be established in the RE activities, practices, and techniques, requirements engineers have to acquire the necessary knowledge to produce and use good videos on their own at moderate costs, yet sufficient quality. In our research project ViViReq (see Acknowledgment), we aspire to bridge this knowledge gap about what constitutes a good video. Whether a video is good or not depends on its quality perceived by its viewers. However, video quality is a rather ill-defined concept due to numerous unspecified technical and subjective characteristics. As part of our research plan, we develop a quality model for videos inspired by the idea of Femmer and Vogelsang to define and evaluate the quality of videos as RE artifacts. In addition to evaluating videos, this quality model can be used to identify the relevant characteristics of videos for their specific purpose which can be further used to specify requirements, their criteria for satisfaction, and corresponding measures. Therefore, software professionals may use the quality model as guidance for producing and using videos.

cs.SE↗

Refining Vision Videos

[Context and motivation] Complex software-based systems involve several stakeholders, their activities and interactions with the system. Vision videos are used during the early phases of a project to complement textual representations. They visualize previously abstract visions of the product and its use. By creating, elaborating, and discussing vision videos, stakeholders and developers gain an improved shared understanding of how those abstract visions could translate into concrete scenarios and requirements to which individuals can relate. [Question/problem] In this paper, we investigate two aspects of refining vision videos: (1) Refining the vision by providing alternative answers to previously open issues about the system to be built. (2) A refined understanding of the camera perspective in vision videos. The impact of using a subjective (or "ego") perspective is compared to the usual third-person perspective. [Methodology] We use shopping in rural areas as a real-world application domain for refining vision videos. Both aspects of refining vision videos were investigated in an experiment with 20 participants. [Contribution] Subjects made a significant number of additional contributions when they had received not only video or text but also both - even with very short text and short video clips. Subjective video elements were rated as positive. However, there was no significant preference for either subjective or non-subjective videos in general.

cs.SE↗

A Multi-Objective Anytime Rule Mining System to Ease Iterative Feedback from Domain Experts

Data extracted from software repositories is used intensively in Software Engineering research, for example, to predict defects in source code. In our research in this area, with data from open source projects as well as an industrial partner, we noticed several shortcomings of conventional data mining approaches for classification problems: (1) Domain experts' acceptance is of critical importance, and domain experts can provide valuable input, but it is hard to use this feedback. (2) The evaluation of the model is not a simple matter of calculating AUC or accuracy. Instead, there are multiple objectives of varying importance, but their importance cannot be easily quantified. Furthermore, the performance of the model cannot be evaluated on a per-instance level in our case, because it shares aspects with the set cover problem. To overcome these problems, we take a holistic approach and develop a rule mining system that simplifies iterative feedback from domain experts and can easily incorporate the domain-specific evaluation needs. A central part of the system is a novel multi-objective anytime rule mining algorithm. The algorithm is based on the GRASP-PR meta-heuristic but extends it with ideas from several other approaches. We successfully applied the system in the industrial context. In the current article, we focus on the description of the algorithm and the concepts of the system. We provide an implementation of the system for reuse.

cs.LG↗

An Industrial Case Study on Shrinking Code Review Changesets through Remark Prediction

Change-based code review is used widely in industrial software development. Thus, research on tools that help the reviewer to achieve better review performance can have a high impact. We analyze one possibility to provide cognitive support for the reviewer: Determining the importance of change parts for review, specifically determining which parts of the code change can be left out from the review without harm. To determine the importance of change parts, we extract data from software repositories and build prediction models for review remarks based on this data. The approach is discussed in detail. To gather the input data, we propose a novel algorithm to trace review remarks to their triggers. We apply our approach in a medium-sized software company. In this company, we can avoid the review of 25% of the change parts and of 23% of the changed Java source code lines, while missing only about 1% of the review remarks. Still, we also observe severe limitations of the tried approach: Much of the savings are due to simple syntactic rules, noise in the data hampers the search for better prediction models, and some developers in the case company oppose the taken approach. Besides the main results on the mining and prediction of triggers for review remarks, we contribute experiences with a novel, multi-objective and interactive rule mining approach. The anonymized dataset from the company is made available, as are the implementations for the devised algorithms.

cs.SE↗

Software Professionals are Not Directors: What Constitutes a Good Video?

Videos are one of the best documentation options for a rich and effective communication. They allow experiencing the overall context of a situation by representing concrete realizations of certain requirements. Despite 35 years of research on integrating videos in requirements engineering (RE), videos are not an established documentation option in terms of RE best practices. Several approaches use videos but omit the details about how to produce them. Software professionals lack knowledge on how to communicate visually with videos since they are not directors. Therefore, they do not necessarily have the required skills neither to produce good videos in general nor to deduce what constitutes a good video for an existing approach. The discipline of video production provides numerous generic guidelines that represent best practices on how to produce a good video with specific characteristics. We propose to analyze this existing know-how to learn what constitutes a good video for visual communication. As a plan of action, we suggest a literature study of video production guidelines. We expect to identify quality characteristics of good videos in order to derive a quality model. Software professionals may use such a quality model for videos as an orientation for planning, shooting, post-processing, and viewing a video. Thus, we want to encourage and enable software professionals to produce good videos at moderate costs, yet sufficient quality.

cs.SE↗

Task Interruption in Software Development Projects: What Makes some Interruptions More Disruptive than Others?

Multitasking has always been an inherent part of software development and is known as the primary source of interruptions due to task switching in software development teams. Developing software involves a mix of analytical and creative work, and requires a significant load on brain functions, such as working memory and decision making. Thus, task switching in the context of software development imposes a cognitive load that causes software developers to lose focus and concentration while working thereby taking a toll on productivity. To investigate the disruptiveness of task switching and interruptions in software development projects, and to understand the reasons for and perceptions of the disruptiveness of task switching we used a mixed-methods approach including a longitudinal data analysis on 4,910 recorded tasks of 17 professional software developers, and a survey of 132 software developers. We found that, compared to task-specific factors (e.g. priority, level, and temporal stage), contextual factors such as interruption type (e.g. self/external), time of day, and task type and context are a more potent determinant of task switching disruptiveness in software development tasks. Furthermore, while most survey respondents believe external interruptions are more disruptive than self-interruptions, the results of our retrospective analysis reveals otherwise. We found that self-interruptions (i.e. voluntary task switchings) are more disruptive than external interruptions and have a negative effect on the performance of the interrupted tasks. Finally, we use the results of both studies to provide a set of comparative vulnerability and interaction patterns which can be used as a mean to guide decision-making and forecasting the consequences of task switching in software development teams.

cs.SE↗

Is Task Board Customization Beneficial? - An Eye Tracking Study

The task board is an essential artifact in many agile development approaches. It provides a good overview of the project status. Teams often customize their task boards according to the team members' needs. They modify the structure of boards, define colored codings for different purposes, and introduce different card sizes. Although the customizations are intended to improve the task board's usability and effectiveness, they may also complicate its comprehension and use. The increased effort impedes the work of both the team and team externals. Hence, task board customization is in conflict with the agile practice of fast and easy overview for everyone. In an eye tracking study with 30 participants, we compared an original task board design with three customized ones to investigate which design shortened the required time to identify a particular story card. Our findings yield that only the customized task board design with modified structures reduces the required time. The original task board design is more beneficial than individual colored codings and changed card sizes. According to our findings, agile teams should rethink their current task board design. They may be better served by focusing on the original task board design and by applying only carefully selected adjustments. In case of customization, a task board's structure should be adjusted since this is the only beneficial kind of customization, that additionally complies more precisely with the concept of fast and easy project overview.

cs.SE↗

Video as a By-Product of Digital Prototyping: Capturing the Dynamic Aspect of Interaction

Requirements engineering provides several practices to analyze how a user wants to interact with a future software. Mockups, prototypes, and scenarios are suitable to understand usability issues and user requirements early. Nevertheless, users are often dissatisfied with the usability of a resulting software. Apparently, previously explored information was lost or no longer accessible during the development phase. Scenarios are one effective practice to describe behavior. However, they are commonly notated in natural language which is often improper to capture and communicate interaction knowledge comprehensible to developers and users. The dynamic aspect of interaction is lost if only static descriptions are used. Digital prototyping enables the creation of interactive prototypes by adding responsive controls to hand- or digitally drawn mockups. We propose to capture the events of these controls to obtain a representation of the interaction. From this data, we generate videos, which demonstrate interaction sequences, as additional support for textual scenarios. Variants of scenarios can be created by modifying the captured event sequences and mockups. Any change is unproblematic since videos only need to be regenerated. Thus, we achieve video as a by-product of digital prototyping. This reduces the effort compared to video recording such as screencasts. A first evaluation showed that such a generated video supports a faster understanding of a textual scenario compared to static mockups.

cs.SE↗

Reframing Societal Discourse as Requirements Negotiation: Vision Statement

Challenges in spatial planning include adjusting settlement patterns to increasing or shrinking populations; it also includes organizing food delivery in rural and peripheral environments. Discourse typically starts with an open problem and the search for a holistic and innovative solution. Software will often be needed to implement the innovation. Spatial planning problems are characterized by large and heterogeneous groups of stakeholders, such as municipalities, companies, interest groups, citizens, women and men, young people and children. Current techniques for participation are slow, laborious and costly, and they tend to miss out on many stakeholders or interest groups. We propose a triple shift in perspective: (1) Discourse is reframed as a requirements process with the explicit goal to state software, hardware, and organizational requirements. (2) Due to the above-mentioned characteristics of spatial planning problems, we suggest using techniques of requirements engineering (RE) and CrowdRE for getting stakeholders (e.g. user groups) involved. (3) We propose video as a medium for communicating problems, solution alternatives, and arguments effectively within a mixed crowd of officials, citizens, children and elderly people. Although few spatial planning problems can be solved by software alone, this new perspective helps to focus discussions anyway. RE techniques can assist in finding common ground despite the heterogeneous group of stakeholders, e.g. citizens. Digital requirements and video are well-suited for facilitating distribution, feedback, and discourse via the internet. In this paper, we propose this new perspective as a timely opportunity for the spatial planning domain - and as an increasingly important application domain of CrowdRE.

cs.SE↗