Continuously Assessing and Improving Software Quality With Software Analytics Tools: A Case Study

In the last decade, modern data analytics technologies have enabled the creation of software analytics tools offering real-time visualization of various aspects related to software development and usage. These tools seem to be particularly attractive for companies doing agile software development. However, the information provided by the available tools is neither aggregated nor connected to higher quality goals. At the same time, assessing and improving the software quality has also been the key targets for the software engineering community, yielding several proposals for standards and software quality models. Integrating such quality models into software analytics tools could close the gap by providing the connection to higher quality goals. This paper aims at understanding whether the integration of quality models into software analytics tools provides understandable, reliable, useful, and relevant information at the right level of detail about the quality of a process or product and whether practitioners intend to use it. Over the course of more than a year, four companies involved in this case study deployed such a tool to assess and improve software quality in several projects. We used standardized measurement instruments to elicit the perception of 22 practitioners regarding their use of the tool. We complemented the findings with debriefing sessions held at the companies. In addition, we discussed challenges and lessons learned with four practitioners leading the use of the tool. The quantitative and qualitative analyses provided positive results, i.e., the practitioners’ perception with regard to the tool’s understandability, reliability, usefulness, and relevance was positive. Individual statements support the statistical findings, and constructive feedback can be used for future improvements. We conclude that the potential for future adoption of quality models within software analytics tools definitely exists and encourage other practitioners to use the presented seven challenges and seven lessons learned and adopt them in their companies.

[1]  Alexander Serebrenik,et al.  SQuAVisiT: A Flexible Tool for Visual Software Analytics , 2009, 2009 13th European Conference on Software Maintenance and Reengineering.

[2]  Xavier Franch,et al.  Aggregating Empirical Evidence about the Benefits and Drawbacks of Software Reference Architectures , 2015, 2015 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM).

[3]  Arie van Deursen,et al.  Software analytics in continuous delivery: a case study on success factors , 2018, ESEM.

[4]  Viswanath Venkatesh,et al.  Technology Acceptance Model 3 and a Research Agenda on Interventions , 2008, Decis. Sci..

[5]  Xavier Franch,et al.  Using Bayesian Networks to estimate Strategic Indicators in the context of Rapid Software Development , 2018, PROMISE.

[6]  Magne Jørgensen,et al.  Combining Data Analytics with Team Feedback to Improve the Estimation Process in Agile Software Development , 2018, Foundations of Computing and Decision Sciences.

[7]  Victor R. Basili,et al.  TAME: Integrating Measurement into Software Environments , 1987 .

[8]  Per Runeson,et al.  Guidelines for conducting and reporting case study research in software engineering , 2009, Empirical Software Engineering.

[9]  Mario Rapaccini,et al.  The role of digital technologies for the service transformation of industrial companies , 2018, Int. J. Prod. Res..

[10]  Christoph Bussler Business Intelligence for the Real-Time Enterprises, First International Workshop, BIRTE 2006, Seoul, Korea, September 11, 2006, Revised Selected Papers , 2007, BIRTE.

[11]  Richard Wettel,et al.  Software Systems as Cities , 2010 .

[12]  Carme Quer,et al.  Managing Non-Technical Requirements in COTS Components Selection , 2006, 14th IEEE International Requirements Engineering Conference (RE'06).

[13]  Thomas Zimmermann,et al.  Information needs for software development analytics , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[14]  Jürgen Münch,et al.  CQML Scheme: A Classification Scheme for Comprehensive Quality Model Landscapes , 2009, 2009 35th Euromicro Conference on Software Engineering and Advanced Applications.

[15]  Pasi Kuvaja,et al.  Continuous deployment of software intensive products and services: A systematic mapping study , 2017, J. Syst. Softw..

[16]  Harald C. Gall,et al.  Software Development Analytics (Dagstuhl Seminar 14261) , 2014, Dagstuhl Reports.

[17]  Jan Bosch,et al.  Speed, Data, and Ecosystems: The Future of Software Engineering , 2016, IEEE Software.

[18]  Rita L. Sallam,et al.  Magic Quadrant for Business Intelligence and Analytics Platforms , 2013 .

[19]  Dror G. Feitelson,et al.  Development and Deployment at Facebook , 2013, IEEE Internet Computing.

[20]  Xavier Franch,et al.  Q-Rapids Tool Prototype: Supporting Decision-Makers in Managing Quality in Rapid Software Development , 2018, CAiSE Forum.

[21]  Thierry Coq,et al.  The SQALE Analysis Model: An Analysis Model Compliant with the Representation Condition for Assessing the Quality of Software Source Code , 2010, 2010 Second International Conference on Advances in System Testing and Validation Lifecycle.

[22]  Nathan Marz,et al.  Big Data: Principles and best practices of scalable realtime data systems , 2015 .

[23]  Walid Maalej,et al.  On the automatic classification of app reviews , 2016, Requirements Engineering.

[24]  Fatemeh Zahedi,et al.  The Measurement of Web-Customer Satisfaction: An Expectation and Disconfirmation Approach , 2002, Inf. Syst. Res..

[25]  M. Tavakol,et al.  Making sense of Cronbach's alpha , 2011, International journal of medical education.

[26]  Miryung Kim,et al.  Data Scientists in Software Teams: State of the Art and Challenges , 2018, IEEE Transactions on Software Engineering.

[27]  Markku Oivo,et al.  Software Process Measurement and Related Challenges in Agile Software Development: A Multiple Case Study , 2018, PROFES.

[28]  Steve Neely,et al.  Continuous Delivery? Easy! Just Change Everything (Well, Maybe It Is Not That Easy) , 2013, 2013 Agile Conference.

[29]  Diane M. Strong,et al.  Knowing-Why About Data Processes and Data Quality , 2004 .

[30]  Tim Menzies,et al.  On the Value of Ensemble Effort Estimation , 2012, IEEE Transactions on Software Engineering.

[31]  Klaas-Jan Stol,et al.  Continuous software engineering: A roadmap and agenda , 2017, J. Syst. Softw..

[32]  Daniel Cukier DevOps patterns to scale web applications using cloud services , 2013, SPLASH '13.

[33]  RunesonPer,et al.  Guidelines for conducting and reporting case study research in software engineering , 2009 .

[34]  Clemente Izurieta,et al.  An Industry Perspective to Comparing the SQALE and Quamoco Software Quality Models , 2017, 2017 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM).

[35]  Ciera Jaspan,et al.  Tricorder: Building a Program Analysis Ecosystem , 2015, 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering.

[36]  Dongmei Zhang,et al.  Software Analytics in Practice , 2013, IEEE Software.

[37]  Bill Curtis,et al.  Using Analytics to Guide Improvement during an Agile–DevOps Transformation , 2017, IEEE Software.

[38]  F. Wilcoxon Individual Comparisons by Ranking Methods , 1945 .

[39]  Barry Boehm,et al.  Characteristics of software quality , 1978 .

[40]  Dale Goodhue,et al.  Task-Technology Fit and Individual Performance , 1995, MIS Q..

[41]  Springer Fachmedien Wiesbaden,et al.  AUTOSAR — The Worldwide Automotive Standard for E/E Systems , 2013 .

[42]  Andreas Jedlitschka,et al.  A Quality Model for Actionable Analytics in Rapid Software Development , 2018, 2018 44th Euromicro Conference on Software Engineering and Advanced Applications (SEAA).

[43]  Dieter Rombach,et al.  Aligning Organizations Through Measurement: The Gqm+strategies Approach , 2014 .

[44]  V. Braun,et al.  Using thematic analysis in psychology , 2006 .

[45]  Georgios Gousios,et al.  Enabling real-time feedback in software engineering , 2018, ICSE.

[46]  Johnnie N. Daniel,et al.  Sampling Essentials: Practical Guidelines for Making Sampling Choices , 2011 .

[47]  Brendan Murphy,et al.  CODEMINE: Building a Software Development Data Analytics Platform at Microsoft , 2013, IEEE Software.

[48]  Xavier Franch,et al.  How Can Quality Awareness Support Rapid Software Development? - A Research Preview , 2017, REFSQ.

[49]  Tim Menzies The Unreasonable Effectiveness of Software Analytics , 2018, IEEE Software.

[50]  Christof Ebert,et al.  Software measurement - establish, extract, evaluate, execute , 2007 .

[51]  Jan Bosch,et al.  Modeling continuous integration practice differences in industry software development , 2014, J. Syst. Softw..

[52]  Victor R. Basili,et al.  Aligning Organizations Through Measurement , 2014, The Fraunhofer IESE Series on Software and Systems Engineering.

[53]  Reinhold Plösch,et al.  Operationalised product quality models and assessment: The Quamoco approach , 2014, Inf. Softw. Technol..