Quantitative defects management in iterative development with BiDefect

Iterative development methodology has been widely adopted in recent years since it is flexible and capable of dealing with requirement volatility. However, how to quantitatively manage iterative projects, and in particular, how to quantitatively manage defects across multiple iterations, remains a challenging issue. In this article, we identify three main challenges of quantitative defects management in iterative development in a leading Chinese telecommunications company (named ZZNode). The three challenges are: identifying appropriate ‘control points’ in each iteration, selecting appropriate measures and corresponding measurement methods, and determining the ‘sweet spot’ amount of effort for performing testing and defect-fixing activities. We propose a process performance Baselines based iteration Defects management (BiDefect) method to address the three challenges. We also report an industrial experience where several iterative development projects of ZZNode successfully applied the BiDefect method in initial estimating, analyzing, re-estimating, and controlling number of defects and defect detecting-fixing effort. In addition, we provide the evaluation of using BiDefect method, and discuss the benefits and lessons learned from BiDefect and its application. Copyright © 2009 John Wiley & Sons, Ltd.

[1]  Barry W. Boehm,et al.  Management challenges to implementing agile processes in traditional development organizations , 2005, IEEE Software.

[2]  Laurie A. Williams,et al.  Assessing test-driven development at IBM , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[3]  Liming Zhu,et al.  Project Delay Variability Simulation in Software Product Line Development , 2007, ICSP.

[4]  Yasunari Takagi,et al.  On estimating testing effort needed to assure field quality in software development , 2002, 13th International Symposium on Software Reliability Engineering, 2002. Proceedings..

[5]  Vahid Garousi,et al.  GENSIM 2.0: A Customizable Process Simulation Model for Software Process Evaluation , 2008, ICSP.

[6]  Victor R. Basili,et al.  Iterative and incremental developments. a brief history , 2003, Computer.

[7]  Zhendong Su,et al.  Static Checking of Dynamically Generated Queries in Database Applications , 2004, ICSE 2004.

[8]  Antonia Bertolino,et al.  Software Testing Research: Achievements, Challenges, Dreams , 2007, Future of Software Engineering (FOSE '07).

[9]  Yun Yang,et al.  Estimating fixing effort and schedule based on defect injection distribution , 2008 .

[10]  Norman E. Fenton,et al.  A Critique of Software Defect Prediction Models , 1999, IEEE Trans. Software Eng..

[11]  Barry W. Boehm,et al.  How Much Software Quality Investment Is Enough: A Value-Based Approach , 2006, IEEE Software.

[12]  Yongji Wang,et al.  BSR: a statistic-based approach for establishing and refining software process performance baseline , 2006, ICSE.

[13]  John H. Baumert,et al.  Software Measures and the Capability Maturity Model , 1992 .

[14]  David S. Rosenblum,et al.  A historical perspective on runtime assertion checking in software development , 2006, SOEN.

[15]  Qinbao Song,et al.  Software defect association mining and defect correction effort prediction , 2006 .

[16]  Qing Wang,et al.  Measuring and improving software process in China , 2005, 2005 International Symposium on Empirical Software Engineering, 2005..