Skip to main content

Intelligent Recommendation Decision Technologies for Community-Driven Requirements Engineering

Periodic Reporting for period 2 - OPENREQ (Intelligent Recommendation Decision Technologies for Community-Driven Requirements Engineering)

Reporting period: 2018-07-01 to 2019-12-31

Requirements engineering is the process of formulating, documenting, and systematically maintaining requirements. Requirements are the basis for software products as they describe what a potential product must be capable of to solve a specific problem or need. In particular large software systems, RE is a complex process not only affecting the whole product but also the many stakeholders deciding about the requirements. RE faces many challenges like covering features, which are not necessarily visible to users, hidden bugs, conformance to various standards, and covering diverse user needs. Not addressing these challenges can either lead to exceeding the budget or failing the project. Many times, the issue is the re-use of old systems, which proper RE management could identify beforehand, thus avoiding costly failures.
OpenReq is our response to the growing complexity and the challenges of RE within the aforementioned contexts. We leverage the technological advancements of recent years to create state-of-the-art services and tools for RE to support stakeholders in software development projects. In OpenReq, we envision four main technical contributions (components) for RE, which we summarise as “Requirements Intelligence,” “Personal Recommendations for Stakeholders,” “Group Decision Support,” and “Knowledge and Dependency Management.” Each of the four high-level contributions is composed of a set of services that address specific challenges in RE. OpenReq delivers these state-of-the-art services as open source solutions and, therefore, allows sustainable use and extension of the work done during the project. We envision a commercial-friendly license to foster interested parties like start-ups and established companies, but also others like researchers and institutions to build on top of OpenReq. Besides delivering the single services as open source solutions, we create tools that bundle sets of these services to demonstrate their capabilities in RE processes like group decision-making, release planning, and user feedback analytics.
OpenReq is structured into three wide overlapping phases, all of them fully completed at the end of the project (December 2019):
Phase 1: environment definition, positioning beyond state of the art, specifications and design
Phase 2: concurrent component development, first prototype integration and setting up of trials’ scenarios and tools
Phase 3: validation by trials, tuning, completing the scope of the project by extending the functionalities of the prototype and preparing for exploitation.
The main software products which resulted from the project are:
• OpenReq platform. Which includes a collection of partly orchestrated, partly independent APIs offering the OpenReq functionally as microservices.
• OpenReq Live. A standalone web tool which integrates multiple OpenReq services focusing on the research planning activity.
• Requirements Intelligence Dashboard. A standalone web tool which offers data collection, cleaning, and analytics features for massive user feedback.
• Issue Prioritizer Eclipse Plugin. An OpenReq plugin for the Eclipse IDE, which is already available on the Eclipse MarketPlace.
• Issue Link Map Jira Plugin. An OpenReq plugin for the Jira Issue Tracker.
In addition to these software products, the projects produced a large amount of knowledge, mainly in the form of deliverables, papers, datasets and theses, all accessible via the project website
The research in the project has produced more than 70 accepted scientific publications, including several PhD, MSc and BSc theses, with more in the pipeline for the year 2020.
OpenReq is committed to open sourcing the services (including the algorithms) and tools developed in the project. This has the explicit benefit of sharing our work with the non-profit community, as well as the implicit benefit of being transparent in the research we are conducting. Our goal is to build a community of researchers, practitioners, and interested developers that will take OpenReq beyond the project lifecycle. Our vision is that the open source community around OpenReq will sustain open-source solutions for RE for many years as well. Besides, we envision a commercial-friendly license to enable start-ups and established companies building on top of OpenReq’s results.
Advances in the state of the art have been achieved by the partners working in the four main research areas of the project:
In software requirements intelligence, we envision services that automatically collect, process, and analyse user feedback from diverse public channels to provide stakeholders actionable insights into how users perceive their product, what problems their users face, and the requests they have.
To create and maintain a healthy set of requirements (as well as a productive and fulfilling workflow), we are creating tools to support stakeholders. These tools include suggestions on how to improve the quality of their requirements based on linguistic patterns, as well as suggestions that consider the needs and capabilities of individual stakeholders within the project.
Group decision support algorithms are developed within OpenReq to help decide which opinion matters the most for a given context and what decision needs to be made by who. These algorithms consider factors such as experience, recommendations from other stakeholders, and many more.
Understanding how requirements are interrelated makes change management much easier to handle, leading to less errors introduced during the process. We envision services that allow to visualise and identify requirements dependencies, which will help stakeholders in processes like release planning (i.e. knowing which requirements depend on each other).
The services developed in OpenReq are designed as microservices. This decision as internal and external benefits. One internal benefit is each partner and team can work on technologies and programming languages they are the expert in. Another benefit is that maintaining and extending single services will be easier as they only contain source code designed to carry out one particular task (which is in contrast to monoliths that contain the source code for a full system). One external benefit is that interested parties can either use single services offered by OpenReq or use one of the tools we will develop, which bundle a set of microservices. Generally, we avoid tight dependencies between services, which further foster re-using and extending our results.
Deploying and integrating microservices can be a hurdle for some users. In such cases, we also offer a completely packaged product, OpenReq Live. This web-based tool brings together features from each of the four main high-level components mentioned above and provides an end-to-end requirements management experience. Finally, OpenReq sensible functionalities are integrated into existing development tools, such as Jira, Bugzilla, and Eclipse as well as Requirements Management tools, such as IBM Rational DOORS.
We expect OpenReq to have a positive impact on the overall Requirements Engineering process, with economic and societal repercussions. Its use will result in requirements of higher quality, containing less faults, and enabling an easier and controlled evolution of software-enabled products and services. By using OpenReq, we estimate significant reductions in RE activities costs and, therefore, in total software project costs.
OpenReq Final Structure