8 research outputs found

    Continuous Rationale Management

    Get PDF
    Continuous Software Engineering (CSE) is a software life cycle model open to frequent changes in requirements or technology. During CSE, software developers continuously make decisions on the requirements and design of the software or the development process. They establish essential decision knowledge, which they need to document and share so that it supports the evolution and changes of the software. The management of decision knowledge is called rationale management. Rationale management provides an opportunity to support the change process during CSE. However, rationale management is not well integrated into CSE. The overall goal of this dissertation is to provide workflows and tool support for continuous rationale management. The dissertation contributes an interview study with practitioners from the industry, which investigates rationale management problems, current practices, and features to support continuous rationale management beneficial for practitioners. Problems of rationale management in practice are threefold: First, documenting decision knowledge is intrusive in the development process and an additional effort. Second, the high amount of distributed decision knowledge documentation is difficult to access and use. Third, the documented knowledge can be of low quality, e.g., outdated, which impedes its use. The dissertation contributes a systematic mapping study on recommendation and classification approaches to treat the rationale management problems. The major contribution of this dissertation is a validated approach for continuous rationale management consisting of the ConRat life cycle model extension and the comprehensive ConDec tool support. To reduce intrusiveness and additional effort, ConRat integrates rationale management activities into existing workflows, such as requirements elicitation, development, and meetings. ConDec integrates into standard development tools instead of providing a separate tool. ConDec enables lightweight capturing and use of decision knowledge from various artifacts and reduces the developers' effort through automatic text classification, recommendation, and nudging mechanisms for rationale management. To enable access and use of distributed decision knowledge documentation, ConRat defines a knowledge model of decision knowledge and other artifacts. ConDec instantiates the model as a knowledge graph and offers interactive knowledge views with useful tailoring, e.g., transitive linking. To operationalize high quality, ConRat introduces the rationale backlog, the definition of done for knowledge documentation, and metrics for intra-rationale completeness and decision coverage of requirements and code. ConDec implements these agile concepts for rationale management and a knowledge dashboard. ConDec also supports consistent changes through change impact analysis. The dissertation shows the feasibility, effectiveness, and user acceptance of ConRat and ConDec in six case study projects in an industrial setting. Besides, it comprehensively analyses the rationale documentation created in the projects. The validation indicates that ConRat and ConDec benefit CSE projects. Based on the dissertation, continuous rationale management should become a standard part of CSE, like automated testing or continuous integration

    Sharing and Exploiting Requirement Decisions

    Get PDF
    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

    Tool Support for Decision and Usage Knowledge in Continuous Software Engineering

    Get PDF
    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

    Get PDF
    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

    Towards a Systematic Approach to Integrate Usage and Decision Knowledge in Continuous Software Engineering

    Get PDF
    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

    Get PDF
    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

    No full text
    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

    No full text
    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
    corecore