Supporting Defect Causal Analysis in Practice with Cross-Company Data on Causes of Requirements Engineering Problems
📝 Abstract
[Context] Defect Causal Analysis (DCA) represents an efficient practice to improve software processes. While knowledge on cause-effect relations is helpful to support DCA, collecting cause-effect data may require significant effort and time. [Goal] We propose and evaluate a new DCA approach that uses cross-company data to support the practical application of DCA. [Method] We collected cross-company data on causes of requirements engineering problems from 74 Brazilian organizations and built a Bayesian network. Our DCA approach uses the diagnostic inference of the Bayesian network to support DCA sessions. We evaluated our approach by applying a model for technology transfer to industry and conducted three consecutive evaluations: (i) in academia, (ii) with industry representatives of the Fraunhofer Project Center at UFBA, and (iii) in an industrial case study at the Brazilian National Development Bank (BNDES). [Results] We received positive feedback in all three evaluations and the cross-company data was considered helpful for determining main causes. [Conclusions] Our results strengthen our confidence in that supporting DCA with cross-company data is promising and should be further investigated.
💡 Analysis
[Context] Defect Causal Analysis (DCA) represents an efficient practice to improve software processes. While knowledge on cause-effect relations is helpful to support DCA, collecting cause-effect data may require significant effort and time. [Goal] We propose and evaluate a new DCA approach that uses cross-company data to support the practical application of DCA. [Method] We collected cross-company data on causes of requirements engineering problems from 74 Brazilian organizations and built a Bayesian network. Our DCA approach uses the diagnostic inference of the Bayesian network to support DCA sessions. We evaluated our approach by applying a model for technology transfer to industry and conducted three consecutive evaluations: (i) in academia, (ii) with industry representatives of the Fraunhofer Project Center at UFBA, and (iii) in an industrial case study at the Brazilian National Development Bank (BNDES). [Results] We received positive feedback in all three evaluations and the cross-company data was considered helpful for determining main causes. [Conclusions] Our results strengthen our confidence in that supporting DCA with cross-company data is promising and should be further investigated.
📄 Content
Supporting Defect Causal Analysis in Practice with Cross-Company Data on
Causes of Requirements Engineering Problems
Marcos Kalinowski, Pablo Curty, Aline Paes
Computing Institute
Fluminense Federal University (UFF)
Niterói, Brazil
{kalinowski, pablocurty, alinepaes}@ic.uff.br
Alexandre Ferreira
Information Technology Area
Brazilian National Development Bank (BNDES)
Rio de Janeiro, Brazil
alefe@bndes.gov.br
Rodrigo Spínola
University of Salvador (UNIFACS) and
Fraunhofer Project Center at UFBA
Salvador, Brazil
rodrigo.spinola@fpc.ufba.br
Daniel Méndez Fernández
Software & Systems Engineering
Technical University of Munich
Munich, Germany
daniel.mendez@tum.de
Michael Felderer
Institute of Computer Science
University of Innsbruck
Innsbruck, Austria
michael.felderer@uibk.ac.at
Stefan Wagner
Institute of Software Technology
University of Stuttgart
Stuttgart, Germany
stefan.wagner@informatik.uni-stuttgart.de
Abstract—[Context] Defect Causal Analysis (DCA) represents an efficient practice to improve software processes. While knowledge on cause-effect relations is helpful to support DCA, collecting cause-effect data may require significant effort and time. [Goal] We propose and evaluate a new DCA approach that uses cross-company data to support the practical application of DCA. [Method] We collected cross-company data on causes of requirements engineering problems from 74 Brazilian organizations and built a Bayesian network. Our DCA approach uses the diagnostic inference of the Bayesian network to support DCA sessions. We evaluated our approach by applying a model for technology transfer to industry and conducted three consecutive evaluations: (i) in academia, (ii) with industry representatives of the Fraunhofer Project Center at UFBA, and (iii) in an industrial case study at the Brazilian National Development Bank (BNDES). [Results] We received positive feedback in all three evaluations and the cross- company data was considered helpful for determining main causes. [Conclusions] Our results strengthen our confidence in that supporting DCA with cross-company data is promising and should be further investigated. Keywords-defect causal analysis; cross-company data; Bayesian network; case study; technology transfer; requirements engineering I. INTRODUCTION Defect causal analysis (DCA) [1] encompasses the identification of causes of defects and ways to prevent them from recurring in the future. Effective DCA has helped to reduce defect rates by about 50% in organizations such as IBM [2], Computer Science Corporation [3], and InfoSys [4]. Reducing defect rates also reduces rework and the total project effort, improving productivity [5]. Given these benefits, to provide guidance on how to implement DCA in software organizations, we conducted a Systematic Literature Review (SLR) in 2006 and replicated in 2007, 2009, and 2010 [5]. The results allowed producing evidence-based guidelines on how to implement DCA and the identification of investigation opportunities. For instance, we found that “the DCA state of the art did not include any approach integrating learning mechanisms regarding cause- effect relations into DCA meetings”. This result encouraged us to initiate research to propose a DCA approach integrating cause-effect learning mechanisms into DCA meetings. An initial concept [6] suggests aggregating knowledge gathered in successive within- company causal analysis events to assemble a deeper understanding of the defects’ cause-effect relations by using Bayesian networks. It is noteworthy that Bayesian networks have been used in other contexts in the software engineering domain such as defect prediction [7] and decision making [8]. In the DCA context, their use aims at creating and maintaining common causal models to support defect cause identification in each DCA event [6]. The diagnostic inference of those causal models can then be used to answer questions during DCA meetings, such as: “Within my organizational context, what are the causes that commonly lead to a specific defect type?”. Later, this initial concept was evolved and tailored into the DPPI (Defect Prevention-Based Process Improvement) approach [9]. The experience of applying DPPI retroactively to a real software project indicated its usage feasibility [9]. Moreover, according to the participants, DPPI’s Bayesian diagnostic inference predicted the main defect causes efficiently, motivating further investigation. This lead to an experimental study and the preliminary results indicated benefits of using the diagnostic inferences during DCA sessions regarding effectiveness and effort [10]. The positive results encouraged us to institutionalize the DPPI process in a small-sized software organization (~25 (c) 2017 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other users, i
This content is AI-processed based on ArXiv data.