Kurt Schneider

dblp:s/KurtSchneider · DBLP profile ↗
← Back
146ranked-venue papers
17as first author
42since 2021 · last 2026
0000-0002-7456-8323ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 137 · 15 first-author · 41 since 2021Artificial intelligence and machine learning · 11 · 1 first-author · 1 since 2021Applied, interdisciplinary, general and emerging computing · 6 · 2 first-authorHuman-computer interaction and ubiquitous computing · 4 · 1 first-authorSecurity and privacy · 2Databases, data management, data science and information retrieval · 1Graphics, computer vision, multimedia, augmented reality and games · 1 · 1 since 2021
YearPublicationVenuePosition
2026 Misunderstandings by Design: Using Erroneous Tutorials to Induce Mental Model Conflicts and the Need for Explanations
Jakob Droste, Hannah Deters, Carolin Kirchhoff, Lukas Nagel, Martin Obaidi, Kurt Schneider
REFSQ6
2026 Immersive and Enjoyable Explanations On Distinct Explainability Requirements in Games
Jakob Droste, Ronja Fuchs, Hannah Deters, Martin Obaidi, Alexander Dockhorn, Kurt Schneider
REFSQ6
2026 Supporting Stakeholder Requirements Expression with LLM Revisions: An Empirical Evaluation
Michael Mircea, Emre Gevrek, Elisa Schmid, Kurt Schneider
REFSQ4
2026 Understanding Usefulness in Developer Explanations on Stack Overflow
Martin Obaidi, Kushtrim Qengaj, Hannah Deters, Jakob Droste, Marc Herrmann, Kurt Schneider, Jil Klünder
REFSQ6
2026 All Eyes on User Needs: Using Gaze and Pupillometric Measures to Identify Explanation Needs
Laura Reinhardt, Hannah Deters, Jakob Droste, Kurt Schneider
REFSQ4
2026 Too Many Issues: Automatically Prioritizing Analyzer Findings by Tracing Security Importance
abstract
Code-based analyzers often find too many potentially security-related issues to address them all. Therefore, issues likely to lead to vulnerabilities should be fixed first. Such prioritization requires project-specific knowledge, such as quality requirements, security-related decisions, and design, which is not accessible to code analyzers. We present TraceSEC, an automated technique for prioritizing issues according to their security-related importance to the project. Its core concept is to incorporate available design artifacts and trace links between them, thus considering the project context that the code lacks. We reduce the problem of issue prioritization to a maximum flow problem and quantify the importance of each issue by the flow from user-defined quality aspects to the issue, i.e., quantifying its impact on project-specific security preferences. Our evaluation shows that TraceSEC effectively provides automated prioritization and can be tailored to project-specific quality goals. Its prioritization correlates stronger with manual expert prioritization than SonarQube rule severities, which are commonly used in practice. In particular, TraceSEC has a higher similarity for identifying high-priority issues. TraceSEC scales reasonably well for codebases up to four million lines of code, and the initial setup overhead is likely to be recouped after the first automated prioritization.
Sven Peldszus, Katharina Großer, Marco Konersmann, Wasja Brunotte, Maike Ahrens, Kurt Schneider, Jan Jürjens
ACM Trans. Softw. Eng. Methodol.6
2025 Identifying Explanation Needs: Towards a Catalog of User-based Indicators
abstract
In today’s digitalized world, where software systems are becoming increasingly ubiquitous and complex, the quality aspect of explainability is gaining relevance. A major challenge in achieving adequate explanations is the elicitation of individual explanation needs, as it may be subject to severe hypothetical or confirmation biases. To address these challenges, we aim to establish user-based indicators concerning user behavior or system events that can be captured at runtime to determine when a need for explanations arises. In this work, we conducted exploratory research by means of an online study to collect self-reported indicators that could indicate a need for explanation. We compiled a catalog containing 17 relevant indicators concerning user behavior, 8 indicators concerning system events and 14 indicators concerning emotional states or physical reactions. We also analyze the relationships between these indicators and different types of need for explanation. The established indicators can be used in the elicitation process through prototypes, as well as after publication to gather requirements from already deployed applications using telemetry and usage data. Moreover, these indicators can be used to trigger explanations at appropriate moments during the runtime.
Hannah Deters, Laura Reinhardt, Jakob Droste, Martin Obaidi, Kurt Schneider
RE5
2025 How to Elicit Explainability Requirements? A Comparison of Interviews, Focus Groups, and Surveys
abstract
As software systems grow increasingly complex, explainability has become a crucial non-functional requirement for transparency, user trust, and regulatory compliance. Eliciting explainability requirements is challenging, as different methods capture varying levels of detail and structure. This study examines the efficiency and effectiveness of three commonly used elicitation methods—focus groups, interviews, and online surveys—while also assessing the role of taxonomy usage in structuring and improving the elicitation process. We conducted a case study at a large German IT consulting company, utilizing a web-based personnel management software. A total of two focus groups, 18 interviews, and an online survey with 188 participants were analyzed. The results show that interviews were the most efficient, capturing the highest number of distinct needs per participant per time spent. Surveys collected the most explanation needs overall but had high redundancy. Delayed taxonomy introduction resulted in a greater number and diversity of needs, suggesting that a two-phase approach is beneficial. Based on our findings, we recommend a hybrid approach combining surveys and interviews to balance efficiency and coverage. Future research should explore how automation can support elicitation and how taxonomies can be better integrated into different methods.
Martin Obaidi, Jakob Droste, Hannah Deters, Marc Herrmann, Raymond Ochsner, Kurt Schneider, Jil Klünder
RE6
2025 Do Users' Explainability Needs in Software Change with Mood?
Martin Obaidi, Jakob Droste, Hannah Deters, Marc Herrmann, Jil Klünder, Kurt Schneider
REFSQ6
2025 How Does Users' App Knowledge Influence the Preferred Level of Detail and Format of Software Explanations?
Martin Obaidi, Jannik Fischbach, Marc Herrmann, Hannah Deters, Jakob Droste, Jil Klünder, Kurt Schneider
REFSQ7
2025 Exploring the means to measure explainability: Metrics, heuristics and questionnaires
abstract
As the complexity of modern software is steadily growing, these systems become increasingly difficult to understand for their stakeholders. At the same time, opaque and artificially intelligent systems permeate a growing number of safety-critical areas, such as medicine and finance. As a result, explainability is becoming more important as a software quality aspect and non-functional requirement. Contemporary research has mainly focused on making artificial intelligence and its decision-making processes more understandable. However, explainability has also gained traction in recent requirements engineering research. This work aims to contribute to that body of research by providing a quality model for explainability as a software quality aspect. Quality models provide means and measures to specify and evaluate quality requirements. In order to design a user-centered quality model for explainability, we conducted a literature review. We identified ten fundamental aspects of explainability. Furthermore, we aggregated criteria and metrics to measure them as well as alternative means of evaluation in the form of heuristics and questionnaires. Our quality model and the related means of evaluation enable software engineers to develop and validate explainable systems in accordance with their explainability goals and intentions. This is achieved by offering a view from different angles at fundamental aspects of explainability and the related development goals. Thus, we provide a foundation that improves the management and verification of explainability requirements. • Literature review on criteria and measures for explainability. • Quality model for explainability including ten aspects of explainability. • User-centered metrics, heuristics and questionnaires to evaluate explainability.
Hannah Deters, Jakob Droste, Martin Obaidi, Kurt Schneider
Inf. Softw. Technol.4
2025 From missile warhead to smart fridge: Interviews with industry experts on tracing safety- and security-relevant artifacts
abstract
Ensuring traceability of safety- and security-related artifacts is vital in software development to comply with standards and mitigate risks. Despite its importance, the practical implementation of defining and tracing safety- and security-relevant artifacts remains ambiguous. Based on eight semi-structured interviews with industry experts, this work explores the definitions, methods, processes, and challenges of tracing safety- and security-related artifacts. The interviews revealed that definitions of safety- and security-relevant artifacts are highly context-dependent, shaped by regulatory standards, internal processes, technical characteristics, and practitioner judgment. Rather than signaling a deficiency, this variability reflects the inherently multifaceted nature of safety and security work, where artifact classification emerges from practical reasoning rather than strict or universal criteria. Tools play a key role in supporting traceability, and cross-team alignment remains a concern in practice. Our findings provide actionable insights for organizations seeking to strengthen traceability. The recommendations encourage the development of internal classification criteria, support effective collaboration with external partners, support guidance, onboarding, and training, and help align practices with across teams, fostering more reliable and transparent management of safety- and security-relevant artifacts.
Marc Herrmann, Alexander Specht, Abdurrahman Sekerci, Martin Obaidi, Marco Ehl, Duaa Adel Ali Elsofi, Katharina Großer, Jil Klünder, Jan Jürjens, Kurt Schneider
J. Syst. Softw.10
2024 Self-Elicitation of Requirements with Automated GUI Prototyping
abstract
Requirements Elicitation (RE) is a crucial activity especially in the early stages of software development. GUI prototyping has widely been adopted as one of the most effective RE techniques for user-facing software systems. However, GUI prototyping requires (i) the availability of experienced requirements analysts, (ii) typically necessitates conducting multiple joint sessions with customers and (iii) creates considerable manual effort. In this work, we propose SERGUI, a novel approach enabling the Self-Elicitation of Requirements (SER) based on an automated GUI prototyping assistant. SERGUI exploits the vast prototyping knowledge embodied in a large-scale GUI repository through Natural Language Requirements (NLR) based GUI retrieval and facilitates fast feedback through GUI prototypes. The GUI retrieval approach is closely integrated with a Large Language Model (LLM) driving the prompting-based recommendation of GUI features for the current GUI prototyping context and thus stimulating the elicitation of additional requirements. We envision SERGUI to be employed in the initial RE phase, creating an initial GUI prototype specification to be used by the analyst as a means for communicating the requirements. To measure the effectiveness of our approach, we conducted a preliminary evaluation. Video presentation of SERGUI at: https://youtu.be/pzAAB9Uht80
Kristian Kolthoff, Christian Bartelt, Simone Paolo Ponzetto, Kurt Schneider
ASE4
2024 Supporting Value-Aware Software Engineering Through Traceability and Value Tactics
Rebekka Wohlrab, Marc Herrmann, Christopher Lazik, Marvin Wyrich, Inês Nunes, Kurt Schneider, Lucas Gren, Robert Heinrich
PROFES6
2024 Explanations in Everyday Software Systems: Towards a Taxonomy for Explainability Needs
abstract
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 ex-planations is necessary to facilitate the inclusion of explainability in early software design processes. In order to specify explain-ability 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.
Jakob Droste, Hannah Deters, Martin Obaidi, Kurt Schneider
RE4
2024 Explainability Requirements for Time Series Forecasts: A Study in the Energy Domain
abstract
With the rise of artificial intelligence in industry, many companies rely on machine learning methods such as time series forecasting. By processing data from the past, such systems can provide predictions for data in the future. In practice, however, there is often skepticism about the quality of the forecasts. Explainability has been identified as a means to address this skepticism and foster trust. While there are already different methods to explain time series forecasts, it is unclear which of these explanations are actually useful for stakeholders. To investigate the need for explanations for time series forecasts, we conducted a study at a mid-sized German company in the energy domain. Throughout the study, 23 participants were shown five examples of different explanation types. For each type of explanation, we tested if it actually helped our participants to better understand the forecasts. We found that visual explanations including decision trees and feature importance charts were able to improve domain experts' understanding of time series forecasts. Textual explanations tended to lead to confusion rather than empowerment. While the exact findings and preferable types of explanations may vary between companies, our concrete results can provide a starting point for in-depth analyses in other environments.
Jakob Droste, Ronja Fuchs, Hannah Deters, Jil Klünder, Kurt Schneider
RE5
2024 Paving the Way Towards an Effective Vision Video Usage: An Exploratory Study
abstract
Misalignments between stakeholders' project visions can lead to the elicitation of conflicting requirements. When these conflicts remain undetected, they can necessitate costly changes in late stages of the development process. One approach to avoid such conflicts are so-called vision videos. Vision videos present the project vision held by the stakeholders that create the vision videos. By watching a video created by their peers, stakeholders can detect and resolve misalignments between their project vision and the one presented in the video. Thus far, research has focused on how to create vision videos. Research on how to watch and use a vision video for requirements validation has been limited. If vision videos are created with care, but used without consideration, their full potential may be lost. In this paper, we aim to lay the groundwork for future research on the usage of vision videos by conducting an exploratory study with 128 students working in 21 project teams. Each team used vision videos to align their project vision with those of their customers. Based on this study, we identify 5 possible research avenues and present corresponding research questions. In doing so, we pave the way towards an effective usage of vision videos.
Lukas Nagel, Jakob Droste, Anne Hess, Kurt Schneider
RE4
2024 How Explainable Is Your System? Towards a Quality Model for Explainability
Hannah Deters, Jakob Droste, Martin Obaidi, Kurt Schneider
REFSQ4
2024 What you see is what you trace: a two-stage interview study on traceability practices and eye tracking potential
abstract
Abstract The benefits of traceability have widely been discussed in research. However, studies have also shown that traceability practices are still not prevalent in industrial settings due to the high manual effort and lack of tool support. In this paper, we explore the feasibility of using eye tracking to automatically detect trace links to reduce manual effort and thereby increase practical applicability. We conducted a two-stage interview study in industry. In Stage 1 we interviewed 20 practitioners to provide an overview of how traceability is established in practice and how an eye tracking approach would need to be applied in order to be useful. In Stage 2 we conducted interviews with 16 practitioners from one project context to elicit role-specific workflows and analyzed which activities are suitable to obtain useful traceability links based on gaze data. As there is no one-fits-all solution to traceability, and technical limitations of eye tracking still exist, we collected information on used artifact types, tools and requirements management practices to adjust an approach to actual traceability stakeholders’ needs. We report on perspectives from different roles in software projects and give an overview of traced artifacts, current traceability experiences, as well as benefits and doubts concerned with using eye tracking to obtain links automatically. We discuss the implications for the evaluation and implementation of an automatic tracing approach in practice and how eye tracking can support requirements engineering activities.
Maike Ahrens, Lukas Nagel, Kurt Schneider
Requir. Eng.3
2024 Turning asynchronicity into an opportunity: asynchronous communication for shared understanding with vision videos
abstract
Abstract The success of software projects depends on developing a system that satisfies the stakeholders’ wishes and needs according to their mental models of the intended system. However, stakeholders may have misaligned mental models of the same system, resulting in conflicting requirements. For this reason, a shared understanding of the project vision is essential for the success of software projects. While it is already challenging to achieve shared understanding in synchronous contexts, such as meetings, it is even more challenging when only asynchronous contexts, like messaging services, are possible. When multiple stakeholders are involved from different locations and time zones, primarily asynchronous communication occurs. The use of asynchronous communication tools for the development of a shared understanding has hardly been analyzed. In this paper, we look to turn the potential detriment of having to discuss a project vision asynchronously into an opportunity for stakeholders to achieve a shared understanding. For this purpose, we give an overview of common challenges of asynchronous communication. We also propose five concepts designed to minimize the impact of these challenges. We examine categories of asynchronous communication tools and assess their adaptability to our concepts. In a workshop, we chose three most suited representatives to include in our main experiment. In this experiment, we evaluate the adapted representatives and a prototype of our own with 30 participants. Our results show the suitability of our concepts. Participants using our concepts were able to achieve a higher level of shared understanding.
Lukas Nagel, Oliver Karras, Seyed Mahdi Amiri, Kurt Schneider
Requir. Eng.4
2024 Organizing Graphical User Interface tests from behavior-driven development as videos to obtain stakeholders' feedback
abstract
Abstract Demonstrating software early and responding to feedback is crucial in agile development. However, it is difficult for stakeholders who are not on‐site customers but end users, marketing people, or designers, and so forth to give feedback in an agile development environment. Successful graphical user interface (GUI) test executions can be documented and then demonstrated for feedback. In our new concept, GUI tests from behavior‐driven development (BDD) are recorded, augmented, and demonstrated as videos. A GUI test is divided into several GUI unit tests, which are specified in Gherkin, a semi‐structured natural language. For each GUI unit test, a video is generated during test execution. Test steps specified in Gherkin are traced and highlighted in the video. Stakeholders review these generated videos and provide feedback, for example, on misunderstandings of requirements or on inconsistencies. To evaluate the impact of videos in identifying inconsistencies, we asked 22 participants to identify inconsistencies between (1) given requirements in regular sentences and (2) demonstrated behaviors from videos with Gherkin specifications or from Gherkin specifications alone. Our results show that participants tend to identify more inconsistencies from demonstrated behaviors, which are not in accordance with given requirements. They tend to recognize inconsistencies more easily through videos than through Gherkin specifications alone. The types of inconsistency are threefold: The mentioned feature can be incorrectly implemented, not implemented, or an unspecified new feature. We use a fictitious example showing how this feedback helps a product owner and her team manage requirements. We conclude that GUI test videos can help stakeholders give feedback more effectively. By obtaining early feedback, inconsistencies can be resolved, thus contributing to higher stakeholder satisfaction.
Jianwei Shi 0001, Jonas Mönnich, Jil Klünder, Kurt Schneider
J. Softw. Evol. Process.4
2024 Human factors in model-driven engineering: future research goals and initiatives for MDE
Grischa Liebel, Jil Klünder, Regina Hebig, Christopher Lazik, Inês Nunes, Isabella Graßl, Jan-Philipp Steghöfer, Joeri Exelmans, Julian Oertel, Kai Marquardt, Katharina Juhnke, Kurt Schneider, Lucas Gren, Lucia Happe, Marc Herrmann, Marvin Wyrich, Matthias Tichy, Miguel Goulão, Rebekka Wohlrab, Reyhaneh Kalantari, Robert Heinrich, Sandra Greiner 0001, Satrio Adi Rukmono, Shalini Chakraborty, Silvia Abrahão, Vasco Amaral 0001
Softw. Syst. Model.12
2023 A Means to what End? Evaluating the Explainability of Software Systems using Goal-Oriented Heuristics
abstract
Explainability is an emerging quality aspect of software systems. Explanations offer a solution approach for achieving a variety of quality goals, such as transparency and user satisfaction. Therefore, explainability should be considered a means to an end. The evaluation of quality aspects is essential for successful software development. Evaluating explainability allows an assessment of the quality of explanations and enables the comparison of different explanation variants. As the evaluation depends on what quality goals the explanations are supposed to achieve, evaluating explainability is non-trivial. To address this problem, we combine the already well-established method of expert evaluation with goal-oriented heuristics. Goal-oriented heuristics are heuristics that are grouped with respect to the goals that the explanations are meant to achieve. By establishing appropriate goal-oriented heuristics, software engineers are enabled to evaluate explanations and identify problems with affordable resources. To show that this way of evaluating explainability is suitable, we conducted an interactive user study, using a high-fidelity software prototype. The results suggest that the alignment of heuristics with specific goals can enable an effective assessment of explainability.
Hannah Deters, Jakob Droste, Kurt Schneider
EASE3
2023 Using GUI Test Videos to Obtain Stakeholders' Feedback
abstract
In software projects, stakeholders can give valuable feedback on software demonstrations. Demonstrating software early and responding to feedback is crucial in agile development. However, it is difficult for stakeholders who are not on-site customers but end users, marketing people, or designers, etc. to give feedback in an agile development environment. Successful Graphical User Interface (GUI) tests, which show the working GUI with expected software behaviors, can be documented and then demonstrated for feedback. In our new concept, GUI tests are recorded, extended, and demonstrated as videos. A GUI test is divided into several GUI unit tests, which are specified in Gherkin, a semi-structured natural language. For each GUI unit test, a video is generated during test execution. Test steps specified in Gherkin are traced and highlighted in the video. Stakeholders review these generated videos and provide feedback, e.g., on misunderstandings of requirements or on inconsistencies. To evaluate the impact of videos in identifying inconsistencies, we asked 22 participants to identify inconsistencies between (1) given requirements in regular sentences and (2) demonstrated behaviors from videos with Gherkin specifications or from Gherkin specifications alone. Our results show that participants tend to identify more inconsistencies from demonstrated behaviors which are not in accordance with given requirements. They tend to recognize inconsistencies more easily through videos than through Gherkin specifications alone. We conclude that GUI test videos can help stakeholders give feedback more effectively. By obtaining early feedback, inconsistencies can be resolved, thus contributing to higher stakeholder satisfaction.
Jianwei Shi 0001, Jonas Mönnich, Jil Klünder, Kurt Schneider
ICSSP4
2023 Welcome from the RE 2023 Organizers
abstract
Welcome to the proceedings of the 31st edition of the IEEE International Requirements Conference (RE'23), the flagship conference of the international RE community. RE is where researchers, practitioners and students meet to share the latest advances, challenges and ideas related to software and systems requirements engineering.
Kurt Schneider, Fabiano Dalpiaz, Jennifer Horkoff
RE1
2023 Supporting Shared Understanding in Asynchronous Communication Contexts
Lukas Nagel, Oliver Karras, Seyed Mahdi Amiri, Kurt Schneider
REFSQ4
2023 Context, Content, Consent - How to Design User-Centered Privacy Explanations (S)
abstract
In the context of the ongoing digitalization of society, human values such as privacy, ethics and trust are becoming increasingly important.Digital systems are entering private and professional spaces, which in turn affects the privacy of their end users.Hence, there is a need for conveying privacy information in a transparent and understandable manner, with the user in the focus.Lawmakers introduced privacy policies as a means of communicating privacy information.However, those documents have proven to be practically useless for end users.Privacy policies are long, vague, ambiguous and use complex language, such as legal terms, which often require profound background knowledge.Explainability has shown potential as a means to increase transparency and foster trust in software systems.Based upon the foundation of explainability, we developed a layered concept for usercentered privacy explanations, which is implemented within a high-fidelity software prototype.Finally, we tested and evaluated our concept by conducting an interactive user study with 61 participants.The results of our study suggest that our layered design concept enabled participants to understand the privacy aspects they regarded as important.We conclude that our approach seems to be an appropriate way to communicate complex privacy information to end users.
Wasja Brunotte, Jakob Droste, Kurt Schneider
SEKE3
2023 Privacy explanations - A means to end-user trust
Wasja Brunotte, Alexander Specht, Larissa Chazette, Kurt Schneider
J. Syst. Softw.4
2023 Multimedia interactive exercises for online training
Anna Perini, Kurt Schneider, Linda Marilena Bertolli, Angelo Susi, Artem Gabbasov, Paolo Busetta, Matteo Pedrotti
Multim. Tools Appl.2
2023 When details are difficult to portray: enriching vision videos
abstract
Abstract The creation of a shared understanding of the project vision of all relevant stakeholders is vital to the requirements engineering process. One way to create such a shared understanding is through the use of vision videos that visualize the project vision at an early project stage. However, not all functional aspects can be presented. For example, the fact that an access code is valid for only a single use can be hard to visualize. One low-effort solution could be the insertion of short texts or short audio clips. In this work, our question is twofold: What effects do short pieces of additional information have in vision videos? What are suitable ways to add this information to vision videos? To answer these research questions, we investigated three different methods of inserting additional information to vision videos in an eye tracking study. We inserted short texts either below the scene or as overlays and also investigated the addition of short audio clips. These methods were evaluated in terms of participants’ video comprehension, visual effort, cognitive load and subjective preference. The results of our study show that the pieces of additional information improve vision comprehension, thereby supporting the creation of a shared understanding. All investigated methods lead to only marginal increases of the viewers’ cognitive load. Based on our results, we derive recommendations on how to insert additional information in vision videos.
Lukas Nagel, Melanie Schmedes, Maike Ahrens, Kurt Schneider
Requir. Eng.4
2022 On the Limitations of Combining Sentiment Analysis Tools in a Cross-Platform Setting
Martin Obaidi, Henrik Holm, Kurt Schneider, Jil Klünder
PROFES3
2022 Requirements on Explanations: A Quality Framework for Explainability
abstract
Explainability has been acknowledged as a fundamental requirement for modern information systems. However, there are currently only few guidelines available to assist software professionals in dealing with this requirement and integrating it into systems. More precisely, there is a lack of frameworks and guidelines that help to define and operationalize explainability requirements. To address this need, we present a quality framework that aggregates external dependencies, characteristics of explanations, and evaluation methods to facilitate the analysis, operationalization, and evaluation of explainability requirements. We conducted a literature study to construct the framework and demonstrated its applicability by using it as a guideline for incorporating explanations into an existing navigation system. Finally, we evaluated the quality and effect of the explanations through an experiment within our case study. Our results show that the quality framework is applicable and beneficial in an industrial context and leads to the construction of explanations that increase usage frequency, system acceptance and user satisfaction.
Larissa Chazette, Verena Klös, Florian Herzog, Kurt Schneider
RE4
2022 Enriching Vision Videos with Text: An Eye Tracking Study
abstract
One main goal of requirements engineering is ensuring that all stakeholders share the same vision of the future system. Vision Videos can be used for this purpose. They visualize the product vision at an early stage of the project. However, some functional aspects, such as an access code being valid only once, are difficult to visualize. Short texts could be a low-effort solution to complement videos with additional information. Thus, represented visions and requirements could be taken to the next level of clarification. Our question is two-fold: What effects do texts have in vision videos? What are suitable ways to add textual information to vision videos? We conducted an eye tracking study to investigate the effects of adding short texts to vision videos, either below the scene or as text overlays. We evaluated these two methods regarding video comprehension, reading time, cognitive load and subjective preference. Our study shows that texts in vision videos improve vision comprehension and thus support the achievement of one requirements engineering goal. Both methods increase the cognitive load of viewers only by a reasonable margin. No clear-cut preference for a single variant was found. We derive recommendations on how to add texts to vision videos.
Melanie Schmedes, Maike Ahrens, Lukas Nagel, Kurt Schneider
RE4
2022 A Study on the Mental Models of Users Concerning Existing Software
Michael Anders, Martin Obaidi, Barbara Paech, Kurt Schneider
REFSQ4
2022 Vision Video Making with Novices: A Research Preview
Melanie Schmedes, Jianwei Shi 0001, Lukas Nagel, Johann Sell, Kurt Schneider
REFSQ5
2022 Do explicit review strategies improve code review performance? Towards understanding the role of cognitive load
abstract
Abstract Code review is an important process in software engineering – yet, a very expensive one. Therefore, understanding code review and how to improve reviewers’ performance is paramount. In the study presented in this work, we test whether providing developers with explicit reviewing strategies improves their review effectiveness and efficiency. Moreover, we verify if review guidance lowers developers’ cognitive load. We employ an experimental design where professional developers have to perform three code review tasks. Participants are assigned to one of three treatments: ad hoc reviewing, checklist, and guided checklist. The guided checklist was developed to provide an explicit reviewing strategy to developers. While the checklist is a simple form of signaling (a method to reduce cognitive load), the guided checklist incorporates further methods to lower cognitive demands of the task such as segmenting and weeding. The majority of the participants are novice reviewers with low or no code review experience. Our results indicate that the guided checklist is a more effective aid for a simple review,while the checklist supports reviewers’ efficiency and effectiveness in a complex task. However, we did not identify a strong relationship between the guidance provided and code review performance. The checklist has the potential to lower developers’ cognitive load, but higher cognitive load led to better performance possibly due to the generally low effectiveness and efficiency of the study participants. Data and materials: 10.5281/zenodo.5653341 . Registered report: 10.17605/OSF.IO/5FPTJ .
Pavlína Wurzel Gonçalves, Enrico Fregnan, Tobias Baum, Kurt Schneider, Alberto Bacchelli
Empir. Softw. Eng.4
2022 Editorial
Ana Moreira 0001, Kurt Schneider
Requir. Eng.2
2022 What Makes Agile Software Development Agile?
abstract
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 percent). 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.
Marco Kuhrmann, Paolo Tell, Regina Hebig, Jil Klünder, Jürgen Münch, Oliver Linssen, Dietmar Pfahl, Michael Felderer, Christian Prause, Stephen G. MacDonell, Joyce Nakatumba-Nabende, David Raffo, Sarah Beecham, Eray Tüzün, Gustavo López 0001, Nicolás Paez, Diego Fontdevila, Sherlock A. Licorish, Steffen Küpper, Günther Ruhe, Eric Knauss, Özden Özcan Top, Paul M. Clarke, Fergal McCaffery, Marcela Genero, Aurora Vizcaíno, Mario Piattini, Marcos Kalinowski, Tayana Conte, Rafael Prikladnicki, Stephan Krusche, Ahmet Coskunçay, Ezequiel Scott, Fabio Calefato, Svetlana Pimonova, Rolf-Helge Pfeiffer, Ulrik Pagh Schultz Lundquist, Rogardt Heldal, Masud Fazal-Baqaie, Craig Anslow, Maleknaz Nayebi, Kurt Schneider, Stefan Sauer 0001, Dietmar Winkler 0001, Stefan Biffl, M. Cecilia Bastarrica, Ita Richardson
IEEE Trans. Software Eng.42
2021 Creation of Human-friendly Videos for Debugging Automated GUI-Tests
Jianwei Shi 0001, Kurt Schneider
ICTSS2
2021 Improving requirements specification use by transferring attention with eye tracking data
Maike Ahrens, Kurt Schneider
Inf. Softw. Technol.2
2021 Goals and challenges in hybrid software development approaches
abstract
Abstract The number of companies that use agile methods increases steadily. However, these companies often do not implement a pure agile approach but combine agile and plan‐based methods to so‐called hybrid development approaches. However, the development of these approaches is rather difficult for the companies, since agile and plan‐based approaches often follow opposite concepts. To benefit from agile and plan‐based approaches at the same time, the companies have to identify and address the conflicts between agile and plan‐based methods. The conflicts depend on the goals that are pursued with the implementation of agile and plan‐based methods. However, there is no overview of the exact goals that are pursued in hybrid approaches and which challenges and conflicts arise with them. Therefore, we conducted a systematic mapping study to gather and analyze the goals and challenges in hybrid development approaches. The mapping study is focused on literature that presents the actual needs and goals of companies and projects. Based on our results, we present the influence factors that cause conflicts in hybrid approaches and discuss how these conflicts can be addressed.
Nils Prenner, Carolin Unger-Windeler, Kurt Schneider
J. Softw. Evol. Process.3
2021 Are Product Owners communicators? A multi-method research approach to provide a more comprehensive picture of Product Owners in practice
abstract
Abstract Product Owners have an important role in the agile and hybrid software development process. While this role is supposed to maximize the value of a product, there seem to be several scattered results on how they achieve this, as well as what actually constitutes this role in practice. To consolidate current research results and to further analyze the key attribute of Product Owners, we conducted a multi‐method research approach spanning a systematic mapping study and a consecutive case study in a hybrid development environment. The results of the mapping study states that Product Owners are communicators. We further investigated on this and used the shadowing technique to observe three Product Owners' communication activities. The results support that statement, as the gained data reveal that Product Owners spend 65% of their time in meetings. But rather than just providing the team with the necessary requirements for the product under development, Product Owners need this time to synchronize and align their work, streamline the agile process of large‐scale Scrum, discuss team‐based topics, and to solve upcoming issues addressed by the team. These results contribute to draw a more comprehensive picture of the important but yet complex role of Product Owners in practice.
Carolin Unger-Windeler, Jil Klünder, Timothy Reuscher, Kurt Schneider
J. Softw. Evol. Process.4
2020 Community Knowledge About Security: - Identification and Classification of User Contributions
Fabien Patrick Viertel, Wasja Brunotte, Yannick Evers, Kurt Schneider
CRiSIS4
2020 Which Information Help agile Teams the Most? An Experience Report on the Problems and Needs
abstract
Fast feedback promotes agile teams to improve their work during the software process, making it crucial for team success. Information systems accelerate the availability of information that result in compact knowledge sources. In practice, feedback in Sprints is often limited to sole progress and performance measures, e.g., burndown charts or velocity diagrams. Sprint insights related to team dynamics are rarely considered, even though they frequently cause project failures, e.g., lack of social interaction. In this paper, we describe a survey study conducted with international members of the software engineering community to reveal which information helps agile teams the most and provides practical support in Sprints. We describe results in an experience report highlighting the frequent information problems and needs of agile teams, considering the perspective of 90 researchers and practitioners. The responses were quantitatively interpreted. The report promotes understanding about how or what kind of information would be useful for agile development teams. Moreover, it reveals what information problems were perceived as crucial for project success and avoidable, considering proper team feedback. The study endorses practical needs for system-aided feedback that supplies knowledge on the human factors in Sprints. The findings are relevant for practitioners and researchers that struggle on improving team feedback based on information needs.
Fabian Kortum, Jil Klünder, Oliver Karras, Wasja Brunotte, Kurt Schneider
SEAA5
2020 How are Hybrid Development Approaches Organized?: A Systematic Literature Review
abstract
Agile software development methods promise shorter time-to-market and higher product quality, but lack the ability of long-term planning or coping with large projects. However, software companies often also want the ability of long-term planning, promised by traditional or plan-based methods. To benefit from the strengths of both approaches, software companies often use a combination of agile and plan-based methods, known as hybrid development approaches. These approaches strongly depend on the individual context and are customized. Therefore, companies have to organize their hybrid development approach individually. However, practitioners often have difficulties with the organization of hybrid approaches. The organization considers how the phases, activities, roles, and artifacts are arranged and connected. Research lacks the necessary detailed insight into how hybrid development approaches are organized to support practitioners. To gain better understanding of the organization of hybrid approaches, we conducted a systematic literature review to gather descriptions of hybrid approaches. We analyzed the found papers thoroughly and could identify three general patterns of how hybrid approaches are organized. We found that all these patterns are still based on Royce's waterfall model and use the standard software engineering activities. Our findings shall help to lead further research and help practitioners to better organize their individual development approach.
Nils Prenner, Carolin Unger-Windeler, Kurt Schneider
ICSSP3
2020 Do Explicit Review Strategies Improve Code Review Performance?
abstract
Context: Code review is a fundamental, yet expensive part of software engineering. Therefore, research on understanding code review and its efficiency and performance is paramount.
Pavlína Wurzel Gonçalves, Enrico Fregnan, Tobias Baum, Kurt Schneider, Alberto Bacchelli
MSR4
2020 Agile Leadership and Agile Management on Organizational Level - A Systematic Literature Review
Sven Theobald, Nils Prenner, Alexander Krieg, Kurt Schneider
PROFES4
2020 Using Eye Tracking Data to Improve Requirements Specification Use
Maike Ahrens, Kurt Schneider
REFSQ2
2020 Vision Meets Visualization: Are Animated Videos an Alternative?
Melanie Schmedes, Oliver Karras, Kurt Schneider, Maike Ahrens
REFSQ3
2020 Representing software project vision by means of video: A quality model for vision videos
Oliver Karras, Kurt Schneider, Samuel Fricker
J. Syst. Softw.2
2020 Explainability as a non-functional requirement: challenges and recommendations
abstract
Abstract Software systems are becoming increasingly complex. Their ubiquitous presence makes users more dependent on their correctness in many aspects of daily life. As a result, there is a growing need to make software systems and their decisions more comprehensible, with more transparency in software-based decision making. Transparency is therefore becoming increasingly important as a non-functional requirement. However, the abstract quality aspect of transparency needs to be better understood and related to mechanisms that can foster it. The integration of explanations into software has often been discussed as a solution to mitigate system opacity. Yet, an important first step is to understand user requirements in terms of explainable software behavior: Are users really interested in software transparency and are explanations considered an appropriate way to achieve it? We conducted a survey with 107 end users to assess their opinion on the current level of transparency in software systems and what they consider to be the main advantages and disadvantages of embedded explanations. We assess the relationship between explanations and transparency and analyze its potential impact on software quality. As explainability has become an important issue, researchers and professionals have been discussing how to deal with it in practice. While there are differences of opinion on the need for built-in explanations, understanding this concept and its impact on software is a key step for requirements engineering. Based on our research results and on the study of existing literature, we offer recommendations for the elicitation and analysis of explainability and discuss strategies for the practice.
Larissa Chazette, Kurt Schneider
Requir. Eng.2
2019 Expectations on the Product Owner Role in Systems Engineering - A Scrum Team's Point of View
abstract
Product Owners (PO) in the Scrum framework have an important role in the development process. While the POs primal description is straightforward - the actual implementation of this role in industries is not. Many companies face the difficulty of assigning the right level of tasks and responsibilities to this role. To provide solutions to this problem, the Product Owner role became a subject of research. However, most of the studies focus on the actual state of the role to propose solutions on how to tailor it. What is missing is the Scrum Teams perspective. Therefore, we were interested in the Teams expectations on the Product Owner role. Which tasks do they expect to be performed by this role and how would they characterize a perfect Product Owner? In an attempt to answer this question, we conducted an online survey in the oil and gas industry and gathered feedback from all members of the Scrum Team. Our findings indicate that the Scrum Team expects the Product Owner to write user stories and prioritize the backlog solely. Other tasks are expected to be done either in direct collaboration with the management or the scrum master or are not expected to be done by the Product Owner role at all. Also, the respondents would characterize a perfect Product Owner primarily as trustworthy.
Carolin Unger-Windeler, Kurt Schneider
SEAA2
2019 Behavior-driven dynamics in agile development: the effect of fast feedback on teams
abstract
Agile software development teams strive for fast and continuous feedback. Both the quality of the resulting software and the performance of the team require feedback. The performance of the team developments is often addressed in retrospectives which are not only part of the SCRUM framework, but also in general. Reflecting on incidents during the last sprint helps the team to increase performances, expressed by, e.g., efficiency and productivity. However, it is not only essential to identify volatile sprint performances, but also to characterize the primary cause to solve them. Main reasons for low performance are often not visible, primarily when they are related to social-driven team behavior, such as communication structures, mood, or satisfaction. In this paper, we analyze whether automated team feedback about retrospective sprint-behavior can help the team to increase performances due to additional awareness about the dynamic effects over time. In a comparative case study with 15 software projects and a total of 130 undergraduate students, we investigated the sustainable impact of feedback on human aspects. Our results indicate that automated feedback positively affects team performances - and customer satisfaction.
Fabian Kortum, Jil Klünder, Kurt Schneider
ICSSP3
2019 A mapping study on product owners in industry: identifying future research directions
abstract
Product Owners in the Scrum framework - respectively the On-site Customer when applying eXtreme Programming - have an important role in the development process. The Scrum Guide states that this role is responsible for the requirements and maximizing the value of the product. However, the implementation of this role depends on the individual, the organization and the team and is perceived as difficult in industry. Various research approaches provide insights in the applied PO role in industry - yet, a conclusive bigger picture of the studies and reports on this issue is missing. To fill this gap, we conducted a systematic mapping study. Our findings structure the research area of Product Owners in industry in terms of research topics and applied research methods. In total, we identified 30 contributions addressing seven research topics and generated consolidated answers for each of them. While some of those topics provide congruent results, others point to gaps in current research: So is the PO role in large-scale projects clearly defined as a group effort, but questions regarding the leadership and management responsibilities of POs remain unanswered. Also, the impact of external circumstances on the PO role is a question that is worth to answer in future work.
Carolin Unger-Windeler, Jil Klünder, Kurt Schneider
ICSSP3
2019 Towards a Better Understanding of Team-Driven Dynamics in Agile Software Projects - A Characterization and Visualization Support in JIRA
Fabian Kortum, Oliver Karras, Jil Klünder, Kurt Schneider
PROFES4
2019 Do End-Users Want Explanations? Analyzing the Role of Explainability as an Emerging Aspect of Non-Functional Requirements
abstract
Software systems are getting more and more complex. Their ubiquitous presence makes users more dependent on them and their correctness in many aspects of daily life. Thus, there is a rising need to make software systems and their decisions more comprehensible. This seems to call for more transparency in software-supported decisions. Therefore, transparency is gaining importance as a non-functional requirement. However, the abstract quality aspect of transparency needs to be better understood and related to mechanisms that can foster it. Integrating explanations in software to leverage systems' opacity has been discussed often. Yet, an important first step is to understand user requirements with respect to explainable software behavior: Are users really interested in transparency, and are explanations considered an adequate mechanism to achieve it? We conducted a survey with 107 end-users to assess their opinion on the current status of transparency in software systems, and what they consider main advantages and disadvantages of explanations embedded in software. The overall attitude towards embedded explanations was positive. However, we also identified potential disadvantages. We assess the relation between explanations and transparency and analyze its possible impact on software quality.
Larissa Chazette, Oliver Karras, Kurt Schneider
RE3
2019 Refining Vision Videos
Kurt Schneider, Melanie Schmedes, Oliver Karras, Maximilian Schrapel, Michael Rohs
REFSQ1
2019 Sprint Performance Forecasts in Agile Software Development - The Effect of Futurespectives on Team-Driven Dynamics
abstract
In agile software development, the sprint performances and dynamics of teams often imply tendencies for the success of a project.Post mortem strategies, e.g., retrospectives help the team to report and share individually gained experiences (positives and negatives) from previous sprints, and enable them to use these experiences for future sprint planning.The interpretation of effects on sprint performance is often subjective, especially with concern to social-driven factors in teams.Involving strategies from predictive analytics in sprint retrospectives could reduce potential interpretation gaps of dynamics, and enhance the pre-knowledge, also awareness situation when preparing for the next sprint.In a case study involving 15 software projects with a total of 130 involved undergraduate students, we investigated the post-effects on team performances and behavioral-driven factors when providing predictive analytics in retrospectives.Besides measures for productivity, we consider human factors, e.g., team structures, communication, meetings and mood affects in teams as well as project success metrics.We developed a unique JIRA plugin called ProDynamics that collects performance information from projects and derives trend-insights for next sprints.The ProDynamics plugin enables the use of a times series and neural network model within a JIRA system to interpret factorial dependencies and behavioral pattern, thus to show the next sprint course of a team.
Fabian Kortum, Jil Klünder, Wasja Brunotte, Kurt Schneider
SEKE4
2019 Detecting Security Vulnerabilities using Clone Detection and Community Knowledge
abstract
Faced with the severe financial and reputation implications associated with data breaches, enterprises now recognize security as a top concern for software analysis tools.While software engineers are typically not equipped with the required expertise to identify vulnerabilities in code, community knowledge in the form of publicly available vulnerability databases could come to their rescue.For example, the Common Vulnerabilities and Exposures Database (CVE) contains data about already reported weaknesses.However, the support with available examples in these databases is scarce.CVE entries usually do not contain example code for a vulnerability, its exploit or patch.They just link to reports or repositories that provide this information.Manually searching these sources for relevant information is time-consuming and error-prone.In this paper, we propose a vulnerability detection approach based on community knowledge and clone detection.The key idea is to harness available example source code of software weaknesses, from a large-scale vulnerability database, which are matched to code fragments using clone detection.We leverage a clone detection technique from the literature, which we adapted to make it applicable to vulnerability databases.In an evaluation based on 20 reports and affected projects, our approach showed good precision and recall.
Fabien Patrick Viertel, Wasja Brunotte, Daniel Strüber 0001, Kurt Schneider
SEKE4
2019 Associating working memory capacity and code change ordering with code review performance
Tobias Baum, Kurt Schneider, Alberto Bacchelli
Empir. Softw. Eng.2
2019 Transformation towards agile software product line engineering in large companies: A literature review
abstract
Abstract Almost all companies struggle with software systems that are getting increasingly complex. Therefore, in particular large companies often use software product lines, which provide an efficient way to manage software reuse as well as the high complexity. However, software product lines seem to be too slow to react to changes. Agile development approaches promise to meet this demand. At the same time, integrating an agile approach is not always easy. Consequently, there is a need for a transformation model that supports the agile transformation without harming the benefits of software product lines. In this paper, we present the results of a literature review regarding agile transformation in large software companies. Our results summarize the insights from 85 papers and present a list of 20 tasks and tasks that are recommended by several researchers to be considered during the transformation. On the basis of these results, we create an agile transformation model—the so‐called “agile hamburger”—that contains these tasks and preserves software product lines. Since the model is rather coarse grained and generic, we also support the adaption to different teams by presenting an assessment model tailored to the demands of the automotive domain.
Jil Klünder, Philipp Hohl, Nils Prenner, Kurt Schneider
J. Softw. Evol. Process.4
2018 Are Third-Party Libraries Secure? A Software Library Checker for Java
Fabien Patrick Viertel, Fabian Kortum, Leif Wagner, Kurt Schneider
CRiSIS4
2018 Task Interruption in Software Development Projects: What Makes some Interruptions More Disruptive than Others?
abstract
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.
Zahra Shakeri Hossein Abad, Oliver Karras, Kurt Schneider, Ken Barker 0001, Mike Bauer
EASE3
2018 Interrelating Use Cases and Associated Requirements by Links: An Eye Tracking Study on the Impact of Different Linking Variants on the Reading Behavior
abstract
[Context:] The descriptions of interactions and system functions are two of the most important artifact types in requirements specifications. Their common notations are use cases and requirements which are related to each other. There are different variants to link a use case with its associated requirements due to a wide variety of use case templates. The main purpose of all linking variants is to highlight the interrelationships between use cases and requirements. Besides considering both artifacts for themselves, a reader needs to interrelate them to achieve a high understanding of the overall content. [Objective / Method:] Due to the effort to create and maintain links, we investigated the impact of different linking variants on the reading behavior in an eye tracking study with 15 subjects. [Results:] Our findings indicate that all investigated variants cause comparable visual effort and share the most frequent sequential reading pattern. In all cases, the use case was read first and then the requirements. Nevertheless, the different variants result in divergent reading behaviors. Especially, links embedded in the table of a use case description significantly increase the number of attention switches from the use case to the requirements. [Conclusion:] These attention switches represent the reading behavior of interrelating the use case and the associated requirements which only occurred in case of the most detailed linking variant.
Oliver Karras, Alexandra Risch, Kurt Schneider
EASE3
2018 Becoming Agile while preserving software product lines: an Agile transformation model for large companies
abstract
Software process improvement has always been an essential part of software projects. Current market trends and the rapid pace of changing requirements demand fast development and adaptability. Agile software development is a popular possibility to react on these trends. Implementing agile practices promises for example a shorter time-to-market, satisfied customers and increased software quality. Consequently many companies strive for an integration of agile methods or for an agile transformation.
Jil Klünder, Philipp Hohl, Kurt Schneider
ICSSP3
2018 A framework for semi-automated co-evolution of security knowledge and system models
Jens Bürger 0001, Daniel Strüber 0001, Stefan Gärtner 0001, Thomas Ruhroth, Jan Jürjens, Kurt Schneider
J. Syst. Softw.6
2018 Positive affect through interactions in meetings: The role of proactive and supportive statements
Kurt Schneider, Jil Klünder, Fabian Kortum, Lisa Handke, Julia Straube, Simone Kauffeld
J. Syst. Softw.1
2017 Team Meetings and Their Relevance for the Software Development Process Over Time
abstract
Information sharing in teams is one of the most important aspects of successful software development. For instance, requirements, design decisions and guidelines need to be communicated with the whole team or with specific team members. For information exchange, communication is mandatory. Meetings are an effective way to communicate with many team members. Hence, much information can be shared during team meetings. But meeting and communication behavior may vary. During the project, the team members get to know the others more and more. This has an influence on the chosen ways of information sharing and hence changes communication behavior.We are interested in analyzing the influence of meetings on team-internal communication and collaboration. To analyze collaboration, we consider a measure of indirections representing used communication channels and the perceived communication intensity between each of the team members. In a study with 65 students across eight development teams, we examine how intensively team members used various communication channels and if there is a change in communication and meeting behavior over time.In our study, the communication behavior becomes increasingly effective during the development process and the number of team meetings decreases in the course of the project. Moreover, the teams decentralize their communication behavior during project progress. According to our results, there is no cause for concern if there are less or shorter meetings at the end than at the beginning of a project.
Jil Klünder, Carolin Unger-Windeler, Fabian Kortum, Kurt Schneider
SEAA4
2017 On the Optimal Order of Reading Source Code Changes for Review
abstract
Change-based code review, e.g., in the form of pull requests, is the dominant style of code review in practice. An important option to improve review's efficiency is cognitive support for the reviewer. Nevertheless, review tools present the change parts under review sorted in alphabetical order of file path, thus leaving the effort of understanding the construction, connections, and logic of the changes on the reviewer. This leads to the question: How should a code review tool order the parts of a code change to best support the reviewer? We answer this question with a middle-range theory, which we generated inductively in a mixed methods study, based on interviews, an online survey, and existing findings from related areas. Our results indicate that an optimal order is mainly an optimal grouping of the change parts by relatedness. We present our findings as a collection of principles and formalize them as a partial order relation among review orders.
Tobias Baum, Kurt Schneider, Alberto Bacchelli
ICSME2
2017 Searching for common ground: existing literature on automotive agile software product lines
abstract
The digital transformation of the automotive industry has a significant impact on how development processes need to be organized in future. Dynamic market and technological environments require capabilities to react on changes and to learn fast. Agile methods are a promising approach to address these needs but they are not tailored to the specific characteristics of the automotive domain like product line development. Although, there have been efforts to apply agile methods in the automotive domain for many years, significant and widespread adoptions have not yet taken place. The goal of this literature review is to gain an overview and a better understanding of agile methods for embedded software development in the automotive domain, especially with respect to product line development. A mapping study was conducted to analyze the relation between agile software development, embedded software development in the automotive domain and software product line development. Three research questions were defined and 68 papers were evaluated. The study shows that agile and product line development approaches tailored for the automotive domain are not yet fully explored in the literature. Especially, literature on the combination of agile and product line development is rare. Most of the examined combinations are customizations of generic approaches or approaches stemming from other domains. Although, only few approaches for combining agile and software product line development in the automotive domain were found, these findings were valuable for identifying research gaps and provide insights into how existing approaches can be combined, extended and tailored to suit the characteristics of the automotive domain.
Philipp Hohl, Javad Ghofrani, Jürgen Münch, Michael Stupperich, Kurt Schneider
ICSSP5
2017 The Choice of Code Review Process: A Survey on the State of the Practice
Tobias Baum, Hendrik Leßmann, Kurt Schneider
PROFES3
2017 Real-Life Challenges on Agile Software Product Lines in Automotive
Philipp Hohl, Jürgen Münch, Kurt Schneider, Michael Stupperich
PROFES3
2017 Is Task Board Customization Beneficial? - An Eye Tracking Study
Oliver Karras, Jil Klünder, Kurt Schneider
PROFES3
2017 Different Views on Project Success - When Communication Is Not the Same
Jil Klünder, Oliver Karras, Fabian Kortum, Mathias Casselt, Kurt Schneider
PROFES5
2017 Don't Underestimate the Human Factors! Exploring Team Communication Effects
Fabian Kortum, Jil Klünder, Kurt Schneider
PROFES3
2017 Influence of Software Product Management Maturity on Usage of Artefacts in Agile Software Development
Gerard Wagenaar, S. J. Overbeek, Garm Lucassen, Sjaak Brinkkemper, Kurt Schneider
PROFES5
2017 What Works Better? A Study of Classifying Requirements
abstract
Classifying requirements into functional requirements (FR) and non-functional ones (NFR) is an important task in requirements engineering. However, automated classification of requirements written in natural language is not straightforward, due to the variability of natural language and the absence of a controlled vocabulary. This paper investigates how automated classification of requirements into FR and NFR can be improved and how well several machine learning approaches work in this context. We contribute an approach for preprocessing requirements that standardizes and normalizes requirements before applying classification algorithms. Further, we report on how well several existing machine learning methods perform for automated classification of NFRs into sub-categories such as usability, availability, or performance. Our study is performed on 625 requirements provided by the OpenScience tera-PROMISE repository. We found that our preprocessing improved the performance of an existing classification method. We further found significant differences in the performance of approaches such as Latent Dirichlet Allocation, Biterm Topic Modeling, or Naïve Bayes for the sub-classification of NFRs.
Zahra Shakeri Hossein Abad, Oliver Karras, Parisa Ghazi, Martin Glinz, Günther Ruhe, Kurt Schneider
RE6
2017 Characterizing Relationships for System Dynamics Models Supported by Exploratory Data Analysis - A Conceptualizing Approach about the Meeting Diversity in Student Software Projects
abstract
Estimating dynamic components in projects involves understanding human factors which are substantial in software development.Communication and collaboration in teams consist of social-driven characteristics with influences on the continuous delivery of software.Efficiently estimated meetings become increasingly important due to budget calculations and shortened release cycles.Experiences of project managers combined with retrospectives on historical data records support a better understanding of team dynamics.But interpreting complex effects is not always trivial, in particular without further analyzes.In several studies, information relationships are investigated through linear correlation measures.Additional analyses for higher correlations are often neglected due to the advanced functional characterization.This leads to statistical gaps with significances for explored data relationships and their functional interpretation.In this paper, we present a systematic identification and visualization of team communication effects and diversities for field study records of 34 student software projects.We combine methodologies from system dynamics with exploratory data analysis to extract and emphasize significant effects.These insights help to sensitize for advanced investigations about the statistical measures of correlation and to interpret sophisticated structures.Furthermore, it reinforces potentials for a team's communication performances and enables an enhanced understanding about how student teams meet and communicate.
Fabian Kortum, Jil Klünder, Kurt Schneider
SEKE3
2017 Comparing pre-commit reviews and post-commit reviews using process simulation
abstract
Abstract Code review in practice is often performed change‐based, ie, using the code changes belonging to a task to determine which code to review. Previous studies found that 2 variations of this process are used in industry: pre‐commit review and post‐commit review. The choice between these has implications not only for practitioners deciding on a code review process to use but also for the development of review tools and for experimentation with review processes. In some situations, a specific variant is clearly preferable due to the nature of the development process or team. In other situations, there are conflicting opinions. So we asked: Are there practically relevant performance differences between pre and post‐commit reviews? How are these differences influenced by contextual factors? To assess these questions, we designed a parametric discrete event simulation model of certain agile development processes. We validated this model with practitioner's feedback and in part also with empirical data from industry. Our analysis indicates that the best choice does depend on the context but also that there are many situations with no practically relevant difference between both choices. We identified the main influencing factors and underlying effects and condensed our findings into heuristic rules.
Tobias Baum, Fabian Kortum, Kurt Schneider, Arthur Brack, Jens Schauder
J. Softw. Evol. Process.3
2017 Onboarding inexperienced developers: struggles and perceptions regarding automated testing
Raphael Pham, Stephan Kiesling, Leif Singer, Kurt Schneider
Softw. Qual. J.4
2016 Comparing pre commit reviews and post commit reviews using process simulation
abstract
Code review in practice is often performed change-based, i.e. using the code changes belonging to a task to determine which code to review. In previous studies, it was found that two variations of this process are used in industry: Pre commit review (review-then-commit) and post commit review (commit-then-review). The choice for one of these variants has implications not only for practitioners deciding on a code review process to use, but also for the development of review tools and for experimentation with review processes. In some situations, a specific variant is clearly preferable due to the nature of the development process or team. In other situations, there are conflicting opinions, and both variants have proponents arguing for their method of choice. So we asked: Are there practically relevant performance differences between pre commit and post commit reviews, and how are these differences influenced by contextual factors? To assess this question, we designed a parametric discrete event simulation model of certain agile development processes. We validated this model with practitioner's feedback and in part also with empirical data from industry. Our analysis of the simulation results indicates that the best choice does depend on the context, but also that there are many situations with no practically relevant difference between both choices. We identified the main influencing factors and underlying effects and condensed our findings into heuristic rules.
Tobias Baum, Fabian Kortum, Kurt Schneider, Arthur Brack, Jens Schauder
ICSSP3
2016 On the Need for a New Generation of Code Review Tools
Tobias Baum, Kurt Schneider
PROFES2
2016 Forces that Prevent Agile Adoption in the Automotive Domain
Philipp Hohl, Jürgen Münch, Kurt Schneider, Michael Stupperich
PROFES3
2016 Applying Social Network Analysis and Centrality Measures to Improve Information Flow Analysis
Stephan Kiesling, Jil Klünder, Diana Fischer, Kurt Schneider, Kai Fischbach
PROFES4
2016 Miscommunication in Software Projects: Early Recognition Through Tendency Forecasts
Fabian Kortum, Jil Klünder, Kurt Schneider
PROFES3
2016 A Faceted Classification Scheme for Change-Based Industrial Code Review Processes
abstract
Code review in the industry today is different to code review twenty years ago. The process has become more lightweight, reviews are performed frequently and change-based and the use of specialized tools is increasing. An accurate view of the current state of the industrial practice is an indispensable foundation for improving it. Most recent descriptions of review practices come from a limited population of large hightech companies. Therefore, we used interviews with software engineering professionals from a broad sample of 19 companies to gain insight into their code review practices. We augmented our findings with data for 11 companies found through a semisystematic literature review. There are many commonalities in the code review processes of these companies, but also a lot of variation in the details. A simple process taxonomy cannot describe these variations adequately. Therefore, we present a faceted classification scheme that is grounded in our observations.
Tobias Baum, Olga Liskin, Kai Niklas, Kurt Schneider
QRS4
2016 Supporting Requirements Elicitation by Tool-Supported Video Analysis
abstract
Workshops are an established technique for requirements elicitation. A lot of information is revealed during a workshop, which is generally captured via textual minutes. The scribe suffers from a cognitive overload due to the difficulty of gathering all information, listening and writing at the same time. Video recording is used as additional option to capture more information, including non-verbal gestures. Since a workshop can take several hours, the recorded video will be long and may be disconnected from the scribe's notes. Therefore, the weak and unclear structure of the video complicates the access to the recorded information, for example in subsequent requirements engineering activities. We propose the combination of textual minutes and video with a software tool. Our objective is connecting textual notes with the corresponding part of the video. By highlighting relevant sections of a video and attaching notes that summarize those sections, a more useful structure can be achieved. This structure allows an easy and fast access to the relevant information and their corresponding video context. Thus, a scribe's overload can be mitigated and further use of a video can be simplified. Tool-supported analysis of such an enriched video can facilitate the access to all communicated information of a workshop. This allows an easier elicitation of high-quality requirements. We performed a preliminary evaluation of our approach in an experimental set-up with 12 participants. They were able to elicit higher-quality requirements with our software tool.
Oliver Karras, Stephan Kiesling, Kurt Schneider
RE3
2016 How Do We Read Specifications? Experiences from an Eye Tracking Study
Maike Ahrens, Kurt Schneider, Stephan Kiesling
REFSQ2
2016 Factors influencing code review processes in industry
abstract
Code review is known to be an efficient quality assurance technique. Many software companies today use it, usually with a process similar to the patch review process in open source software development. However, there is still a large fraction of companies performing almost no code reviews at all. And the companies that do code reviews have a lot of variation in the details of their processes. For researchers trying to improve the use of code reviews in industry, it is important to know the reasons for these process variations. We have performed a grounded theory study to clarify process variations and their rationales. The study is based on interviews with software development professionals from 19 companies. These interviews provided insights into the reasons and influencing factors behind the adoption or non-adoption of code reviews as a whole as well as for different process variations. We have condensed these findings into seven hypotheses and a classification of the influencing factors. Our results show the importance of cultural and social issues for review adoption. They trace many process variations to differences in development context and in desired review effects.
Tobias Baum, Olga Liskin, Kai Niklas, Kurt Schneider
SIGSOFT FSE4
2016 FLOW-assisted value stream mapping in the early phases of large-scale software development
Nauman Bin Ali, Kai Petersen, Kurt Schneider
J. Syst. Softw.3
2016 Workshop videos for requirements communication
Samuel Fricker, Kurt Schneider, Farnaz Fotrousi, Christoph Thuemmler
Requir. Eng.2
2015 Restoring Security of Long-Living Systems by Co-evolution
abstract
Security is an important quality aspect for modern information systems. Security properties may however be violated if the information system operates in an evolving environment. Environmental changes then trigger reactions which lead to co-evolution of the security design and the corresponding system model. However, updating the security design manually is time-consuming and error-prone. We present an approach to support semi-automatic system co-evolution which responds to environmental knowledge evolution, using the UML security extension UMLsec and graph transformation. The aim is to enable software engineers to react more reliably and effectively to environmental changes and to ensure lifelong compliance of information systems. To evaluate our approach, we conducted a case study on the open-source project iTrust.
Jens Bürger 0001, Stefan Gärtner 0001, Thomas Ruhroth, Johannes Zweihoff, Jan Jürjens, Kurt Schneider
COMPSAC6
2015 Towards Application and Evolution of Model-Based Heuristics for Improving SOA Service Design
abstract
Good service design is key to acceptance and success for a service-oriented architecture (SOA) in an enterprise. Enterprises try to achieve good service design by using guidelines which combine experts' experience, company policies and best practices. Applying, evolving and maintaining guidelines overburdens service designers and reviewers due to the amount and volume. This results in inefficient, costly and frustrating processes. Without an automated support, guidelines provide only limited value to the design process. We describe how our design environment prototype addresses these problems and introduce automatic guideline checks using heuristics on service models. Our evaluation confirms applicability and advantages of our tool. We present a selection of heuristics which are used in our tool. As the second contribution we describe our plan of how to support evolution and maintenance of guidelines and heuristics.
Kai Niklas, Joel Greenyer, Kurt Schneider
MiSE@ICSE3
2015 A Platform for Empirical Research on Information System Evolution
abstract
Software-intensive systems are subject to continuous change due to modification of the systems themselves and their environment.Methods for supporting evolution are a competitive edge in software engineering as software is operated over decades.Empirical research is useful to validate the effectiveness of these methods.However, empirical studies on software evolution are rarely comprehensive and hardly replicable.Collaboration in empirical studies may prevent these shortcomings.We analyzed the support for such collaboration and examined existing studies in a literature review.Based on our findings, we designed CoCoMEP-a platform for supporting collaboration in empirical research on software evolution by shared knowledge.We report lessons learned from the application of the platform in a large research programme.
Robert Heinrich, Stefan Gärtner 0001, Tom-Michael Hesse, Thomas Ruhroth, Ralf Reussner, Kurt Schneider, Barbara Paech, Jan Jürjens
SEKE6
2015 Automatically recommending test code examples to inexperienced developers
abstract
New graduates joining the software engineering workforce sometimes have trouble writing test code. Coming from university, they lack a hands-on approach to testing and have little experience with writing tests in a real-world setting. Software companies resort to costly training camps or mentoring initiatives. Not overcoming this lack of testing skills early on can hinder the newcomer’s professional progress in becoming a high-quality engineer. Studying open source developers, we found that they rely on a project’s pre-existing test code to learn how to write tests and adapt test code for their own use. We propose to strategically present useful and contextual test code examples from a project’s test suite to newcomers in order to facilitate learning and test writing. With an automatic suggestion mechanism for valuable test code, the newcomer is enabled to learn how senior developers write tests and copy it. Having access to suitable tests lowers the barrier for writing new tests.
Raphael Pham, Yauheni Stoliar, Kurt Schneider
ESEC/SIGSOFT FSE3
2015 The CoCoME Platform: A Research Note on Empirical Studies in Information System Evolution
abstract
Methods for supporting evolution of software-intensive systems are a competitive edge in software engineering as software is often operated over decades. Empirical research is useful to validate the effectiveness of these methods. However, empirical studies on software evolution are rarely comprehensive and hardly replicable. Collaboration may prevent these shortcomings. We designed CoCoMEP — a platform for supporting collaboration in empirical research on software evolution by shared knowledge. We report lessons learned from the application of the platform in a large research programme.
Robert Heinrich, Stefan Gärtner 0001, Tom-Michael Hesse, Thomas Ruhroth, Ralf Reussner, Kurt Schneider, Barbara Paech, Jan Jürjens
Int. J. Softw. Eng. Knowl. Eng.6
2015 Media, Mood, and Meetings: Related to Project Success?
abstract
This article investigates relationships between media, mood, and communication in teams, and studies how they are related to project success. Team projects are an essential part of the software engineering curriculum. Student teams carry out full software projects, including requirements elicitation, project management, implementation, and testing. This requires various technical skills, but non-technical and psychological aspects are of utmost importance as well, just as in professional software teams. Modern software is often developed by distributed teams. In many cases, team members feel isolated and distant from each other. Indirect communication and inappropriate media create a similar feeling of distance as geographical location. This perceived distance could have an impact on their individual and group moods, and eventually on project success. Therefore, these factors should be considered in educational software engineering team projects. In a longitudinal study at Leibniz Universität Hannover, 20 student teams were observed over a period of 4 months. They were free to schedule team meetings when and where they wanted; and they could use any communication media they chose. Statistical correlations and non-parametric test are used for quantitative empirical analysis. Furthermore, we used analyses of variance for repeated measures to investigate conflicts over time. Results led to a number of recommendations for course organizers. They are interesting for software engineering in general.
Kurt Schneider, Olga Liskin, Hilko Paulsen, Simone Kauffeld
ACM Trans. Comput. Educ.1
2014 Towards Adaptation and Evolution of Domain-Specific Knowledge for Maintaining Secure Systems
Thomas Ruhroth, Stefan Gärtner 0001, Jens Bürger 0001, Jan Jürjens, Kurt Schneider
PROFES5
2014 Maintaining requirements for long-living software systems by incorporating security knowledge
abstract
Security is an increasingly important quality facet in modern information systems and needs to be retained. Due to a constantly changing environment, long-living software systems “age” not by wearing out, but by failing to keep up-to-date with their environment. The problem is that requirements engineers usually do not have a complete overview of the security-related knowledge necessary to retain security of long-living software systems. This includes security standards, principles and guidelines as well as reported security incidents. In this paper, we focus on the identification of known vulnerabilities (and their variations) in natural-language requirements by leveraging security knowledge. For this purpose, we present an integrative security knowledge model and a heuristic method to detect vulnerabilities in requirements based on reported security incidents. To support knowledge evolution, we further propose a method based on natural language analysis to refine and to adapt security knowledge. Our evaluation indicates that the proposed assessment approach detects vulnerable requirements more reliable than other methods (Bayes, SVM, k-NN). Thus, requirements engineers can react faster and more effectively to a changing environment that has an impact on the desired security level of the information system.
Stefan Gärtner 0001, Thomas Ruhroth, Jens Bürger 0001, Kurt Schneider, Jan Jürjens
RE4
2014 Dedicated Support for Experience Sharing in Distributed Software Projects
Anna Averbakh, Eric Knauss, Stephan Kiesling, Kurt Schneider
SEKE4
2014 Knowledge from Document Annotations as By-Product in Distributed Software Engineering
Anna Averbakh, Kai Niklas, Kurt Schneider
SEKE3
2014 Enablers, inhibitors, and perceptions of testing in novice software teams
abstract
There are many different approaches to testing software, with different benefits for software quality and the development process. Yet, it is not well understood what developers struggle with when getting started with testing - and why some do not test at all or not as much as would be good for their project. This missing understanding keeps us from improving processes and tools to help novices adopt proper testing practices. We conducted a qualitative study with 97 computer science students. Through interviews, we explored their experiences and attitudes regarding testing in a collaborative software project. We found enabling and inhibiting factors for testing activities, the different testing strategies they used, and novices’ perceptions and attitudes of testing. Students push test automation to the end of the project, thus robbing themselves from the advantages of having a test suite during implementation. Students were not convinced of the return of investment in automated tests and opted for laborious manual tests - which they often regretted in the end. Understanding such challenges and opportunities novices face when confronted with adopting testing can help us improve testing processes, company policies, and tools. Our findings provide recommendations that can enable organizations to facilitate the adoption of testing practices by their members.
Raphael Pham, Stephan Kiesling, Olga Liskin, Leif Singer, Kurt Schneider
SIGSOFT FSE5
2014 Why We Need a Granularity Concept for User Stories
Olga Liskin, Raphael Pham, Stephan Kiesling, Kurt Schneider
XP4
2014 Managing knowledge on communication and information flow in global software projects
abstract
Abstract Communication is a key success factor of distributed software projects. Poor communication has been identified as a main obstacle to successful collaboration. Global projects are especially endangered by information gaps between collaborating sites. Different communication styles, technical equipment, and missing awareness of each other can cause severe problems. Knowledge about actual and desired channels, paths, and modes of communication is required for improving communication in a globally distributed project. However, many project participants know little about communication and information flow in their projects. In this contribution, we focus on knowledge about communication and information flow. It is acquired by modelling on‐going and desired flows of information, including documented and non‐documented channels of information flow. We analyzed a distributed software project from the information flow perspective. Based on the findings, we developed specific techniques to improve information flow in distributed software development according to the FLOW Method. In a second distributed project, we evaluated one of the techniques. We found the FLOW mapping technique to be suitable for effectively spreading knowledge about communication and information flow in global software projects.
Kai Stapel, Kurt Schneider
Expert Syst. J. Knowl. Eng.2
2014 Tailoring video recording to support efficient GUI testing and debugging
Raphael Pham, Helge Holzmann, Kurt Schneider, Christian Brüggemann
Softw. Qual. J.3
2013 Mutual assessment in the social programmer ecosystem: an empirical investigation of developer profile aggregators
abstract
The multitude of social media channels that programmers can use to participate in software development has given rise to online developer profiles that aggregate activity across many services. Studying members of such developer profile aggregators, we found an ecosystem that revolves around the social programmer. Developers are assessing each other to evaluate whether other developers are interesting, worth following, or worth collaborating with. They are self-conscious about being assessed, and thus manage their public images. They value passion for software development, new technologies, and learning. Some recruiters participate in the ecosystem and use it to find candidates for hiring; other recruiters struggle with the interpretation of signals and issues of trust. This mutual assessment is changing how software engineers collaborate and how they advance their skills.
Leif Singer, Fernando Marques Figueira Filho, Brendan Cleary, Christoph Treude, Margaret-Anne D. Storey, Kurt Schneider
CSCW6
2013 Requirements compliance as a measure of project success
abstract
Students of software engineering need a mental model to guide their activities; this mental model should contain a concept of success. They should be able to contribute to that success criterion through their daily work. Although economic gain is a wide-spread measure of success, it cannot be fully controlled by developers or even project leaders. Inappropriate deadlines, political influences, and many other aspects are beyond the control of software engineers. A success criterion closer to the sphere of influence of software engineers could better guide decisions of students - and practicing software engineers as well. We introduce the concept of requirements compliance1, which measures the size of the intersection between stated and implemented requirements. Fulfilled requirements are considered a success. Both unfulfilled requirements and unsolicited features are considered indications of reduced success: The latter consume resources without meeting stated needs, while missing requirements ignore customer requests. In this paper, we motivate and introduce the core concept of requirements compliance. We show how it can be and has been used for different variants of software engineering education, including serious educational games. We go beyond this prior use by identifying ways of modeling, observing and controlling requirements compliance in a series of student projects. We discuss opportunities for using this concept in software engineering education - but also build on the mental model in research and in practice.
Kurt Schneider, Olga Liskin, Hilko Paulsen, Simone Kauffeld
EDUCON1
2013 Creating a shared understanding of testing culture on a social coding site
abstract
Many software development projects struggle with creating and communicating a testing culture that is appropriate for the project's needs. This may degrade software quality by leaving defects undiscovered. Previous research suggests that social coding sites such as GitHub provide a collaborative environment with a high degree of social transparency. This makes developers' actions and interactions more visible and traceable. We conducted interviews with 33 active users of GitHub to investigate how the increased transparency found on GitHub influences developers' testing behaviors. Subsequently, we validated our findings with an online questionnaire that was answered by 569 members of GitHub. We found several strategies that software developers and managers can use to positively influence the testing behavior in their projects. However, project owners on GitHub may not be aware of them. We report on the challenges and risks caused by this and suggest guidelines for promoting a sustainable testing culture in software development projects.
Raphael Pham, Leif Singer, Olga Liskin, Fernando Marques Figueira Filho, Kurt Schneider
ICSE5
2013 Building test suites in social coding sites by leveraging drive-by commits
abstract
GitHub projects attract contributions from a community of users with varying coding and quality assurance skills. Developers on GitHub feel a need for automated tests and rely on test suites for regression testing and continuous integration. However, project owners report to often struggle with implementing an exhaustive test suite. Convincing contributors to provide automated test cases remains a challenge. The absence of an adequate test suite or using tests of low quality can degrade the quality of the software product. We present an approach for reducing the effort required by project owners for extending their test suites. We aim to utilize the phenomenon of drive-by commits: capable users quickly and easily solve problems in others' projects - even though they are not particularly involved in that project - and move on. By analyzing and directing the drive-by commit phenomenon, we hope to use crowdsourcing to improve projects' quality assurance efforts. Valuable test cases and maintenance tasks would be completed by capable users, giving core developers more resources to work on the more complicated issues.
Raphael Pham, Leif Singer, Kurt Schneider
ICSE3
2012 Supporting Acceptance Testing in Distributed Software Projects with Integrated Feedback Systems: Experiences and Requirements
abstract
During acceptance testing customers assess whether a system meets their expectations and often identify issues that should be improved. These findings have to be communicated to the developers -- a task we observed to be error prone, especially in distributed teams. Here, it is normally not possible to have developer representatives from every site attend the test. Developers who were not present might misunderstand insufficiently documented findings. This hinders fixing the issues and endangers customer satisfaction. Integrated feedback systems promise to mitigate this problem. They allow to easily capture findings and their context. Correctly applied, this technique could improve feedback, while reducing customer effort. This paper collects our experiences from comparing acceptance testing with and without feedback systems in a distributed project. Our results indicate that this technique can improve acceptance testing -- if certain requirements are met. We identify key requirements feedback systems should meet to support acceptance testing.
Olga Liskin, Christoph Herrmann 0003, Eric Knauss, Thomas Kurpick, Bernhard Rumpe, Kurt Schneider
ICGSE6
2012 Influencing the adoption of software engineering methods using social software
abstract
Software engineering research and practice provide a wealth of methods that improve the quality of software and lower the costs of producing it. Even though processes mandate their use, methods are not employed consequently. Software developers and development organizations thus cannot fully benefit from these methods. We propose a method that, for a given software engineering method, provides instructions on how to improve its adoption using social software. This employs the intrinsic motivation of software developers rather than prescribing behavior. As a result, we believe that software engineering methods will be applied better and more frequently.
Leif Singer, Kurt Schneider
ICSE2
2012 ConTexter feedback system
abstract
Today's large-scale softwareintensive systems exhibit an increasing complexity due to a broad spectrum of technical and socio-technical components. Due to the very dynamic character of such systems as well as fast evolving technologies, most requirements cannot be planned a priori. To overcome this problem, we suggest a method to gather enduser needs for requirements engineers at any time by applying a geographical deployed feedback system. End-user needs are gathered in-situ by utilizing mobile devices. In this paper, we present the implementation of our feedback system enabling end-users to submit feedback with smartphones at very low effort and cost.
Tristan Wehrmaker, Stefan Gärtner 0001, Kurt Schneider
ICSE3
2012 Experiences from Establishing Knowledge Management in a Joint Research Project
Sebastian Meyer 0001, Anna Averbakh, Torsten Ronneberger, Kurt Schneider
PROFES4
2012 Supporting Learning Organisations in Writing Better Requirements Documents Based on Heuristic Critiques
Eric Knauss, Kurt Schneider
REFSQ2
2012 Enhancing security requirements engineering by organizational learning
Kurt Schneider, Eric Knauss, Siv Hilde Houmb, Shareeful Islam, Jan Jürjens
Requir. Eng.1
2011 GloSE-Lab: Teaching Global Software Engineering
abstract
In practice, more and more software development projects are distributed, ranging from partly distributed teams to global projects with each stakeholder located differently. Teaching actual practice in software engineering at university needs a proper mixture of theory and practice. But setting up practical exercises for global software engineering is hard, because students have to cooperate across different locations and situations reflecting the teaching intentions have to be provoked explicitly. This paper presents the concepts behind our common teaching environment for global software engineering - the GloSELab. It describes the experiences on setting up a distributed course and reports our teaching intentions based on each universities main focus: project management, requirements engineering & quality assurance, architecture, and implementation. Furthermore, we discuss our setup - a stage-gate process, where each location takes care of a different phase - and report occurred problems and how they supported or interfered with our teaching intentions.
Constanze Deiters, Christoph Herrmann 0003, Roland Hildebrandt, Eric Knauss, Marco Kuhrmann, Andreas Rausch 0001, Bernhard Rumpe, Kurt Schneider
ICGSE8
2011 FLOW Mapping: Planning and Managing Communication in Distributed Teams
abstract
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.
Kai Stapel, Eric Knauss, Kurt Schneider, Nico Zazworka
ICGSE3
2011 Focusing spontaneous feedback to support system evolution
abstract
Modern software systems are rarely built from scratch. They rather evolve over a long period of time while components and subsystems are developed independently. During that evolution, new and changing requirements emerge when end-users interact with the system. Users encounter situations that provoke spontaneous complaints or suggestions, which may be the seed of new requirements. However, there are two challenges: How to capture spontaneous reactions and how to focus and let them mature into valid requirements? We propose concepts that enable citizens to report a problem or make a suggestion by Smartphone. A key for preserving the spontaneous impetus is to lower the threshold for composing and sending feedback. Software providers who are interested in feedback can define filtering and focusing aids; they guide end-users in giving focused feedback. Focused feedback is also better prepared to be transformed to requirements. Our ConTexter tool demonstrates technical feasibility of these concepts. We explore and characterize a potential application domain empirically. Based on the findings, we discuss potentials and limitations of our approach.
Kurt Schneider
RE1
2011 Supporting Requirements Engineers in Recognising Security Issues
Eric Knauss, Siv Hilde Houmb, Kurt Schneider, Shareeful Islam, Jan Jürjens
REFSQ3
2010 Are developers complying with the process: an XP study
abstract
Adapting new software processes and practices in organizational and academic environments requires training the developers and validating the applicability of the newly introduced activities. Investigating process conformance during training and understanding if programmers are able and willing to follow the specific steps are crucial to evaluating whether the process improves various software product quality factors. In this paper we present a process model independent approach to detect process non-conformance. Our approach is based on non-intrusively collected data captured by a version control system and provides the project manager with timely updates. Further, we provide evidence of the applicability of our approach by investigating process conformance in a five day training class on eXtreme Programming (XP) practices at the Leibniz Universität Hannover. Our results show that the approach enabled researchers to formulate minimal intrusive methods to check for conformance and that for the majority of the investigated XP practices violations could be detected.
Nico Zazworka, Kai Stapel, Eric Knauss, Forrest Shull, Victor R. Basili, Kurt Schneider
ESEM6
2010 Feedback in Context: Supporting the Evolution of IT-Ecosystems
Kurt Schneider, Sebastian Meyer 0001, Maximilian Peters, Felix Schliephacke, Jonas Mörschbach, Lukas Aguirre
PROFES1
2010 Videos vs. Use Cases: Can Videos Capture More Requirements under Time Pressure?
Olesia Brill, Kurt Schneider, Eric Knauss
REFSQ2
2010 Towards Understanding Communication Structure in Pair Programming
Kai Stapel, Eric Knauss, Kurt Schneider, Matthias Becker 0001
XP3
2010 Eliciting security requirements and tracing them to design: an integration of Common Criteria, heuristics, and UMLsec
Siv Hilde Houmb, Shareeful Islam, Eric Knauss, Jan Jürjens, Kurt Schneider
Requir. Eng.5
2009 Orchestration of Global Software Engineering Projects - Position Paper
abstract
Global software engineering has become a fact in many companies due to real necessity in practice. In contrast to co-located projects global projects face a number of additional software engineering challenges. Among them quality management has become much more difficult and schedule and budget overruns can be observed more often. Compared to co-located projects global software engineering is even more challenging due to the need for integration of different cultures, different languages, and different time zones-across companies, and across countries. The diversity of development locations on several levels seriously endangers an effective and goal-oriented progress of projects. In this position paper we discuss reasons for global development, sketch settings for distribution and views of orchestration of dislocated companies in a global project that can be seen as a ldquovirtual project environmentrdquo. We also present a collection of questions, which we consider relevant for global software engineering. The questions motivate further discussion to derive a research agenda in global software engineering.
Christian Bartelt, Manfred Broy, Christoph Herrmann 0003, Eric Knauss, Marco Kuhrmann, Andreas Rausch 0001, Bernhard Rumpe, Kurt Schneider
ICGSE8
2009 Learning to Write Better Requirements through Heuristic Critiques
abstract
Writing good requirements is difficult. Authors of requirements specifications need to acquire specific habits and professional writing styles to avoid ambigu-ities. However, gaining and sharing related experience and abilities is challenging. Heuristic Critiques offer help in this situation. Experience on writing good re-quirements can be codified as heuristic critiques. When integrated in a requirements tool, a heuristic critique can automatically check requirements specifications and provide constructive feedback (critique), whenever a piece of experience is applicable. Observing this feedback helps requirements authors to transfer expe-rience in writing, and internalize it. In this paper we describe the concept of learning to write better re-quirements through heuristic critiques - both, on an individual level and on an organizational level. The proposed concept has been applied in several dedicat-ed requirements support tools; it can also be used to improve existing tools and methods.
Eric Knauss, Kurt Schneider, Kai Stapel
RE2
2008 Supporting Experience and Information Flow in Software Projects
Kurt Schneider
PROFES1
2007 Improving an Industrial Reference Process by Information Flow Analysis: A Case Study
Kai Stapel, Kurt Schneider, Daniel Lübke, Thomas Flohr 0002
PROFES2
2007 Generating Fast Feedback in Requirements Elicitation
Kurt Schneider
REFSQ1
2006 Leveraging Feedback on Processes in SOA Projects
Daniel Lübke, Kurt Schneider
EuroSPI2
2005 Agile Hour: Teaching XP Skills to Students and IT Professionals
Daniel Lübke, Kurt Schneider
PROFES2
2004 Serious Insights Through Fun Software-Projects
Daniel Lübke, Thomas Flohr 0002, Kurt Schneider
EuroSPI3
2004 Breaking the Ice for Agile Development of Embedded Software: An Industry Experience Report
abstract
A software engineering department in a Daimler-Chrysler business unit was highly professional at developing embedded software for busses and coaches. However, customer specific add-ons were a regular source of hassle. Simple as they are, those individual requirements have to be implemented in hours or days rather than weeks or months. Poor quality or late upload into the bus hardware would cause serious cost and overhead. Established software engineering methods were considered inadequate and needed to be cut short. Agile methods offer guidance when quality, flexibility and high speed need to be reconciled. However, we did not adopt any full agile method, but added single agile practices to our process improvement toolbox. We suggested a number of classical process improvement activities (such as more systematic documentation and measurement) and combined them with agile elements (e.g. Test First Process). This combination seemed to foster acceptance of agile ideas and may help us to break the ice for a cautious extension of agile process improvement.
Peter Manhart, Kurt Schneider
ICSE2
2003 Effective Experience Repositories for Software Engineering
abstract
Software development and acquisition require knowledge and experience in many areas of software engineering. Experience helps people to make decisions under uncertainty, and to find better compromises. Experience-based process improvement considers experience as a prerequisite for competent behavior in software development. There is usually a repository to store experiences and to make it available for reuse. At DaimlerChrysler, we have been building those repositories for more than five years. We learned to concentrate on certain properties that seem to be key success factors for experience repositories. During our experience-based work in business units, five key quality aspects have been identified that determine the chances for success of an experience repository. The quality criteria can be used to analyze a given repository; or they can be applied to guide the construction of more effective experience repositories.
Kurt Schneider, Jan-Peter von Hunnius
ICSE1
2001 Experience Magnets: Attracting Experiences, Not Just Storing Them
Kurt Schneider
PROFES1
2000 Panel Session Corporate Software Engineering Knowledge Networks: How Can They Improve Training of the Workforce in Software Organisations?
Dietmar Pfahl, Reidar Conradi, Michael Haug, Harri Reiman, Kurt Schneider
PROFES5
2000 Active Probes Synergy in Experience-Based Process Improvement
Kurt Schneider
PROFES1
2000 LIDs: A Light-Weight Approach to Experience Elicitation and Reuse
Kurt Schneider
PROFES1
1999 Push of Pull: Two Cognitive Modes of Systematic Experience Transfer at DaimlerChrysler
Eva Wieser, Frank Houdek, Kurt Schneider
SEKE3
1999 Organizational learning and experience documentation in industrial software projects
Dieter Landes, Kurt Schneider, Frank Houdek
Int. J. Hum. Comput. Stud.2
1998 Establishing Experience Factories at Daimler-Benz An Experience Report
abstract
The experience factory concept enables systematic learning and continuous improvement in software development. As with most learning initiatives, it is hard to establish. In our experience, there is a great deal of uncertainty and skepticism about the mission and contents of an experience factory. The starting phase is especially endangered through pitfalls or unexpected delays. As expectations vary and there is pressure to demonstrate success within only a few months, tension arises which may jeopardize the entire enterprise. In the course of a large-scale software improvement program, we have established three experience factories in different environments of the Daimler-Benz AG within two years. At each site, several application projects are involved. We describe how we approached the task, what actions we took, and the lessons we learned.
Frank Houdek, Kurt Schneider, Eva Wieser
ICSE2
1997 Bridging the gap between face-to-face communication and long-term collaboration
Stefanie N. Lindstaedt, Kurt Schneider
GROUP2
1997 Application of Graph Grammars in an Educational Software Engineering Game: A Case Study in Pragmatic Adoption
abstract
This paper introduces an approach to modeling software project dynamics using an attributed graph grammar formalism. A project situation is modeled and presented to a "player" who is supposed to act as project manager of a simulated project. Events and internal processes of the simulated project are modeled using a custom-designed formalism that integrates attributed graph grammar concepts with a quantitative simulation mechanism resembling System Dynamics. Both ingredients were pragmatically selected and blended based on (1) their comparative simplicity, (2) their expressive power, and (3) their intuitive appeal for bridging the cognitive gap between real-world software engineering experiences and an executable simulation model. This modeling formalism was applied in the SESAM educational software engineering game. The modeling formalism was supported by a family of graphical SESAM editors. Resulting models could be animated and served as simulated projects in the game runs. SESAM was applied in graduate courses on software project management at the University of Stuttgart. Experiences with the modeling approach are reported. The design history and design rationale that led to using graph grammars as the underlying formalism are described and discussed. The design of the SESAM modeling formalism is presented as an (involuntary) case study in adopting a graph grammar approach.
Kurt Schneider
Int. J. Softw. Eng. Knowl. Eng.1
1996 Prototypes as Assets, not Toys: Why and How to Extract Knowledge from Prototypes
Kurt Schneider
ICSE1
1995 Dynamic Pattern Knowledge in Software Engineering
Kurt Schneider
SEKE1
1992 SESAM - Simulating Software Projects
abstract
Teaching software engineering as well as researching in this area is very tedious due to the length and costliness of software projects. SESAM ('Software Engineering Simulation by Animated Models') therefore is designed as a simulator for software projects, allowing students to gain reality-like experiences in project management and researchers to evaluate hypotheses on the mechanisms influencing software projects. This paper focuses on the basic assumptions for SESAM, its building blocks and the way hypotheses are affecting the simulation. After a short description of the requirements for SESAM, the authors introduce objects, attributes, actions, relationships between objects, and hypotheses as its basic concepts. They present attributed graph grammars as a means for representing hypotheses. Finally they position their project with respect to related work, and they show its present a state and future development.>
Jochen Ludewig, Thomas Bassler, Marcus Deininger, Kurt Schneider, Jürgen Schwille
SEKE4