Practical Experiences and Value of Applying Software Analytics to Manage Quality
Total Page:16
File Type:pdf, Size:1020Kb
Practical experiences and value of applying software analytics to manage quality Anna Maria Vollmer Silverio Mart´ınez-Fernandez´ Alessandra Bagnato Fraunhofer IESE Fraunhofer IESE Softeam Kaiserslautern, Germany Kaiserslautern, Germany Paris, France [email protected] [email protected] [email protected] Jari Partanen Lidia Lopez´ Pilar Rodr´ıguez Bittium UPC-BarcelonaTech University of Oulu Oulu, Finland Barcelona, Spain Oulu, Finland [email protected] [email protected] pilar.rodriguez@oulu.fi Abstract—Background: Despite the growth in the use of soft- more actors via one or more media so that the technology ware analytics platforms in industry, little empirical evidence recipient sustainably adopts the object in the recipients context is available about the challenges that practitioners face and the in order to evidently achieve a specific purpose.” [8]. We report value that these platforms provide. Aim: The goal of this research is to explore the benefits of using a software analytics platform the industrial scenario and describe our experiences on the for practitioners managing quality. Method: In a technology industry-academia journey in two pilot projects that used a transfer project, a software analytics platform was incrementally software analytics platform to solve their quality management developed between academic and industrial partners to address problems. Our previous work focused on incrementally de- their software quality problems. This paper focuses on exploring veloping a software analytics platform in a previous forma- the value provided by this software analytics platform in two pilot projects. Results: Practitioners emphasized major benefits includ- tive stage [9]. This study reports our experiences with the ing the improvement of product quality and process performance software analytics platform Q-Rapids (hereafter referred to as and an increased awareness of product readiness. They especially Q-Rapids) during its summative evaluation. It is available at perceived the semi-automated functionality of generating quality https://github.com/q-rapids. requirements by the software analytics platform as the benefit In Section II, we describe the context of our study, includ- with the highest impact and most novel value for them. Conclu- sions: Practitioners can benefit from modern software analytics ing the software analytics platform and our two companies. platforms, especially if they have time to adopt such a platform Section III contains the research methodology applied, while carefully and integrate it into their quality assurance activities. Section IV presents the challenges and benefits experienced Index Terms—software quality, software engineering, software while using Q-Rapids. Section V contains threats to validity analytics, technology transfer, summative evaluation and Section VI presents related work. The paper concludes with a summary and next steps in Section VII. I. INTRODUCTION II. RESEARCH SETTING Software analytics is about utilizing data-driven approaches to obtain insightful and actionable information to help software This section describes the software analytics platform used practitioners with their data-related tasks [1]. Software analyt- in the two companies that took part in this study. To fully ics platforms provide features for analyzing and visualizing understand the context of the dynamic validation (i.e., pilot arXiv:1910.11007v1 [cs.SE] 24 Oct 2019 software development data to support data-driven decision- projects) [5] in the companies, we report their application do- making [2], [3]. Despite the growth in the use of software main, problem statements, needs in terms of managing quality, analytics platforms in industry, little empirical evidence is and how the software analytics platform was introduced. available about the extra value they provide [4]. A. The software analytics platform Our research goal is to explore the benefits of using a software analytics platform for practitioners managing quality. The software analytics platform Q-Rapids was developed 1 We applied technology transfer [5]–[7], in close collaboration as part of the Q-Rapids project and provides tool-supported and cooperation between practitioners and researchers in the quality management in the context of agile software de- Q-Rapids research and innovation project. We use the tech- velopment [9]–[11]. It includes several software analytics nology transfer definition of Bandyszak et al.: “the process capabilities to support data-driven decision-making, such as of sharing or developing a technology object between two or collecting and integrating data from different data sources, real-time modeling of this data, prediction and simulation 978-1-7281-2968-6/19/$31.00 ©2019 European Union 1https://www.q-rapids.eu/ analysis, and suggestions of quality requirements that can a product owner, a project manager, and some 15 developers. be semi-automatically transferred to the company’s product In addition, the platform has now been disseminated widely backlog system (see Fig. 1). Q-Rapids provides a dashboard within the company, arousing great interest. to support the usage of all these data-driven decision-making C. Company B capabilities. Application domain. Company B is a tool vendor de- B. Company A veloping a 25-year-old product line of a model-driven tool Application domain. Company A specializes in the devel- suite dedicated to expressing and managing requirements, opment of reliable, secure communications and connectivity modeling software architectures, building accurate models, and solutions and offers proven information security solutions for automating application code production for several languages. mobile devices and portable computers. The company provides Problem statement and quality management goals. Con- innovative products and services, customized solutions based sidering that these products are used by its customers to on its product platforms, and R&D services. Company A also develop critical systems in the military and transportation provides healthcare technology products and services for the domains, company B is committed to providing a quality medical domain. guarantee for the software it releases. To achieve this goal, Problem statement and quality management goals. company B expressed the need to evolve the quality manage- Company A has been looking for enhancing their software- ment processes applied to its software development cycle by development-focused data analysis and finding fast feedback getting new insights to support the decision-making process methods regarding functional and non-functional require- in the context of rapid software development, to automate the ments, i.e., quality requirements. In addition, the purpose has management of the quality requirements process across the been to enhance a holistic view on system, product, or opera- organization, and to centralize the heterogeneous data sources tions level by using data mining and analysis. These objectives related to product quality in a software analytics platform. are addressed by the utilization of Q-Rapids dashboards and Improving the quality of company B’s products involves predictive analysis. These features enable decision-making monitoring and improving several key indicators: regarding readiness or performance related to functional and • Product quality. Refers to the maintainability, reliability, non-functional requirements, which is a very attractive appli- and functional suitability of the software product. cation from a company point-of-view. • Product readiness. Refers to a product that is ready to Company A specified the following expected impact indicators be released (i.e., a product implementing the features from using Q-Rapids: planned in the release and without blocking issues). • Feature throughput. Increased percentage of features that • Quality feedback loop. Refers to the proportion of quality meet time-to-market targets with the desired levels of requirements that are used in actual features and releases. quality. • Productivity rate. Refers to the time used for the de- • Release frequency. Increased number of releases per time velopment and testing of new features / time used for unit. maintenance or defect removal. • Realized requirements. Increased proportion of quality Use of the software analytics platform in a pilot project. requirements that are used in actual features and releases. Company B deployed Q-Rapids in the development team of its These factors can be compared to the overall number of flagship product and used the platform to monitor two release the requirements. cycles of this product over one year. By collecting data related • Product quality. Improved product quality, referring to to code analysis, issue management, project management, in- the maintainability, reliability, and functional suitability tegration and testing, and software configuration management, of the software product. These address the non-functional company B was able to aggregate indicators covering the requirements of the product being developed. whole of its software development process. Next, a selection • Process performance. Improved process performance re- of team members occupying several roles, such as product garding the software development in terms of efficiency owner, project manager, quality engineer, and developer, were and quality of the software lifecycle processes used. trained in the use of Q-Rapids. In addition, they worked on Use