Opendata, web and dolomites

Report

Teaser, summary, work performed and final results

Periodic Reporting for period 1 - Q-RAPIDS (Quality-Aware Rapid Software Development)

Teaser

Software quality is an essential competitive factor for the success of software companies today. Recent technological breakthroughs, such as cloud technologies, the emergence of IoT and technologies such as 5G, pose new quality challenges in software development. These...

Summary

Software quality is an essential competitive factor for the success of software companies today. Recent technological breakthroughs, such as cloud technologies, the emergence of IoT and technologies such as 5G, pose new quality challenges in software development. These challenges include quality aspects such as availability, reliability, security, performance, and scalability, which significantly impact the success of current and future software products and services.

Optimal management of software quality demands the appropriate integration of quality requirements (QRs) in the software life-cycle. However, despite the competitive advantage of ensuring and maintaining high quality levels, software development methodologies still provide limited support to QR management which is essential in rapid software development processes; faster and more frequent release cycles should not compromise software quality.

In response to this challenge, Q-Rapids defines an evidence-based, data-driven quality-aware rapid software development methodology. QRs are incrementally elicited, refined and improved based on data gathered from software repositories, project management tools, system usage and quality of service. This data is analysed and aggregated into quality-related key strategic indicators (e.g., time-to-market delay related to not including the implementation of a given QR in the next development cycle) which are presented to decision makers using a highly informative dashboard. QRs scheduled for the next cycle are integrated with functional requirements for their uniform treatment in the rapid software development project.

The scientific objectives of the project are:

- SO1. To provide methods to systematically collect and analyse runtime and development time data to improve software quality.

- SO2. To define a rapid software life cycle process that integrates quality requirements and functional requirements into a holistic method.

- SO3. To provide quality-related key strategic indicators to support decision makers in managing the development process from a quality-aware perspective.

- SO4. To implement adequate tool support to a quality-aware software life cycle.

The outcome of all these objectives will be a validated Q-Rapids framework: a quality-aware rapid software development process supported by advanced tools and methods.

Work performed

The work performed until month 18 has been mainly:

- The production of a proof of concept that has been successfully deployed on the project use case providers\' sites (Bittium, Softeam, iTTi and Nokia). This proof of concept collected data from some designated software repositories (which were slightly different in each use case, e.g. Jenkins, Maven, ...). Once this baseline was deployed, new releases are continuously produced incorporating features as they are ready.

- A Q-Rapids development environment involving usual development tools like Redmine, GitLab, etc., to support developers during the lifetime of the project.

- The availability of modules for data gathering and analysis in the Q-Rapids tool: qr-connect, qr-eval, and objects in Kibana.

- A quality model for actionable analytics, to be used to ellaborate the collecte data into aggregated quality metrics and factors.

- A Q-Rapids process baseline definition for the use case providers that describes the current ways in which the companies deal with quality requirements.

- A Q-Rapids solution model that provides an overview of the Q-Rapids solution and defines the requirements and tasks to be performed when setting up Q-Rapids.

- A strategic dashboard deployed in the form of a software component, qr-dashboard, intented to grow over time as new features are implemented.

- A software component (qr-si_assessment) that conducts the assessment of strategic indicators using Bayesian Networks.

- A first version of a software component (qr-forecast) aimed to conduct prediction, currently offering four prediction techniques.

- Design and execution of empirical studies evaluating the results of the work done until M18.

- Dissemination and exploitation instruments.

Final results

The main progress beyond the state of the art is categorized as:

1) Quality Requirements (QR) and their Management
- Data gathering and analytic techniques which injects runtime data and development time data into the QR elicitation process
- Expert-based and data-driven incremental construction of models that map QR types onto key strategic indicators
- Intelligent dashboard that provides informed support to decision makers based on the findings above

2) Quality in Modern Software Development Processes
- Quality-aware rapid development process that seamlessly integrates functional requirements and QRs so that both are holistically managed by following the principles of rapid software development
- Methods, tools and metrics for increasing the transparency on QRs in rapid software development processes based on an intelligent dashboard that visualises quality metrics and provides informed support for product quality
- Mechanisms that provide real-time quality monitoring through systematic and continuous gathering, analysis and visualisation of quality-related aspects
- Methods and practises for the continuous and systematic generation of QRs based on evidence and quality-related data generated in rapid development cycles

3) Evidence-based quality decision-making
- Complementary usage of heterogeneous, i.e., structured and unstructured data from development and usage to support QR-related decision making
- In-time analysis methods using both quantitative and qualitative data within an integrative approach to identify QR-related correlations
- Scalable and efficient data gathering and analysis solution integrated into an evidence-based decision making environment

The expected outcome until the end of the project is a validated Q-Rapids framework, including cutting-edge tools and methods to smartly elicit and manage QRs along with functional requirements in a similar rapid and holistic manner.

Potential impact. Q-Rapids will increase the levels of quality in software products and services by promoting quality requirements at the same level of functional requirements in rapid software development processes. Q-Rapids will support the management of quality requirements by analysing runtime data and software repositories, bringing a significant productivity increase to the software life-cycle. The reduction of maintenance effort due to less quality-related defects, together with better decision making in the planning of release cycles, will shorten time to market.

Website & more info

More info: http://www.q-rapids.eu/.