9 research outputs found
Tool Support for Decision and Usage Knowledge in Continuous Software Engineering
Continuous software engineering copes with frequent changes and quickly evolving development projects while maintaining a high software quality. Developers require knowledge about former and ongoing decisions as well as about the users' needs to evolve software. Thus, decision and usage knowledge are two important knowledge types in continuous software engineering. Issue tracking and version control systems are widely used in continuous software engineering but lack a structured approach to integrate decision and usage knowledge. In this paper, we present ideas and requirements for a tool support to manage decision and usage knowledge in continuous software engineering. As a first step, we introduce the JIRA DecDoc plug-in for documenting decision knowledge
Continuous Management of Requirement Decisions Using the ConDec Tools
Context and motivation: While eliciting, prioritizing, and implementing requirements, requirements engineers and developers continuously make decisions. They establish important decision knowledge that needs to be documented and exploited, i.e., thoroughly managed, so that it contributes to the evolution and future changes of a software system.
Question/problem: The management of decision knowledge is difficult for various reasons: 1) The documentation process is an additional effort, i.e., it is intrusive in the development process. 2) The documented knowledge can be of low quality in terms of completeness and consistency. 3) It might be distributed across many documentation locations, such as issue comments and commit messages, and thus difficult to access and use.
Principal ideas/results: Continuous software engineering (CSE) emerged as a development process that involves frequent, incremental decision making, implementation, and validation of requirements. During CSE, requirements engineers and developers implicitly document decision knowledge during established practices, such as committing code, working with issues in an issue tracking system, or conducting meetings. That means that CSE offers opportunities for the non-intrusive capturing of decision knowledgein various documentation locations.
Contribution: We develop the ConDec tools (https://se.ifi.uni-heidelberg.de/condec.html) that support requirements engineers and developers in documenting and exploiting decision knowledge directly within the tools they use, such as issue tracking and wiki systems, related to various software artifacts, such as requirements and code, and during change impact analysis
Sharing and Exploiting Requirement Decisions
Continuous software engineering is an agile development process that puts particular emphasis on the incremental implementation of requirements and their rapid validation through user feedback. This involves frequent and incremental decision making, which needs to be shared within the team. Requirements engineers and developers have to share their decision knowledge since the decisions made are particularly important for future requirements. It has been a vision for long that important decision knowledge gets documented and shared. However, several reasons hinder requirements engineers and developers from doing this, for example, the intrusiveness and overhead of the documentation. Current software development tools provide opportunities to minimize the overhead. Issue tracking and version control systems offer lightweight documentation locations, such as issue comments, commit messages, and code comments. With ConDec, we develop tool support for the continuous management of decision knowledge that uses techniques for natural language processing and integrates into tools that developers often use, for example, into the issue tracking system Jira. In this work, we focus on how ConDec enables requirements engineers and developers to share and exploit decision knowledge regarding requirements
Towards a Systematic Approach to Integrate Usage and Decision Knowledge in Continuous Software Engineering
Abstract: Continuous software engineering (CSE) employs activities such as continuous integration and continuous delivery to support software evolution. Another aspect of software evolution is knowledge management. There are two important knowledge types: usage knowledge derives from explicit and implicit user feedback and helps to understand how users utilize software. Decision knowledge encompasses decisions and their rationale on all aspects of the software lifecycle. Both knowledge types represent important information sources for developers to improve the CSE activities and the software product. We envision an integration of usage and decision knowledge in the CSE lifecycle. This extension consists of a monitoring and feedback component for user understanding as well as a knowledge repository and dashboard component for knowledge visualization and analysis. Usage and decision knowledge introduce challenges when integrating them in CSE. In this paper, we present our vision and detail the challenges
Teaching Rationale Management in Agile Project Courses
Rationale management is beneficial since it supports decision-making and prevents knowledge vaporization. To apply rationale management, developers need to know how to systematically capture rationale and how to exploit the documentation. We believe that teaching these skills to students further integrates rationale management into the daily work of developers and has positive effects on both the software development process and on the quality of the software. In this paper, we report on a lecture on teaching rationale management to students. In this lecture, students are introduced to a rationale model, to capture and exploitation methods, and tool support for rationale management. The goal is to motivate them to apply rationale management. We present the students' results as well as their attitude and feedback towards the applied methods. Further, we sketch how rationale management will be applied during the semester
Continuous Rationale Management Using the ConDec Tools
We summarize the paper Continuous Management of Requirement Decisions Using the ConDec Tools, which we presented at the 26th International Working Conference on Requirements Engineering (REFSQ2020). We summarize ConDec’s features and a usage scenario. In addition, the REFSQ paper provides an overview of the views, the architecture, and it sketches evaluation efforts
Continuous Rationale Identification in Issue Tracking and Version Control Systems
During the elicitation and implementation of requirements, the involved stakeholders make decisions and build up important decision knowledge, which they should make explicit and share. Issue tracking and version control systems offer opportunities for a lightweight capture of decision knowledge but currently lack techniques for making this knowledge explicit.
In this paper, we present techniques to make decision knowledge explicit in the text of issue tracking and version control systems. We present features for its manual documentation as well as for its automatic identification using a text classifier. The text classifier identifies implicit decision knowledge in natural language texts, in particular, in the description and comments of tickets in the issue tracking system and commit messages
Continuous data-driven software engineering – towards a research agenda
The rapid pace with which software needs to be built, together with the
increasing need to evaluate changes for end users both quantitatively
and qualitatively calls for novel software engineering approaches that
focus on short release cycles, continuous deployment and delivery,
experiment-driven feature development, feedback from users, and rapid
tool-assisted feedback to developers. To realize these approaches there
is a need for research and innovation with respect to automation and
tooling, and furthermore for research into the organizational changes
that support flexible data-driven decision-making in the development
lifecycle. Most importantly, deep synergies are needed between
software engineers, managers, and data scientists. This paper reports on
the results of the joint 5th International Workshop on Rapid Continuous
Software Engineering (RCoSE 2019) and the 1st International
Workshop on Data-Driven Decisions, Experimentation and Evolution
(DDrEE 2019), which focuses on the challenges and potential solutions
in the area of continuous data-driven software engineering