Impact of research on practice in the field of inspections, reviews and walkthroughs: learning from successful industrial uses

Software inspections, reviews, and walkthroughs have become a standard process component in many software development domains. Maturity level 3 of the CMM-I requires establishment of peer reviews [12] and substantial sustained improvements in quality and productivity have been reported as a result of using reviews ([16], [21], [22], [27]). The NSF Impact project identifies the degree to which these industrial success cases have been instigated and improved by research in software engineering. This research identifies that there is widespread adoption of inspections, reviews or walkthroughs but that companies do not generally exploit their full potential. However there exist sustained industrial success cases with respect to the wide-spread and measurably successful application of them. It also identifies research in software engineering that can be credibly documented as having influenced the industrial success cases. Credible documentation may exist in the form of publications or documented reports by witnesses. Due to the semi-formal nature of inspections, reviews, and walkthroughs, a specific focus is given to empirical research results as motivators for adoption. Through the examination of one detailed case study, it is shown that software engineering research has had a significant impact on practice and that the impact can be traced in this case from research to that practice. The case study chosen provides evidence of both success and failure regarding sustained application in practice. Thus the analysis of historic impact chains of research reveals a clear impact of software engineering research on sustained industrial success for inspections, reviews and walkthroughs. More importantly, in impact chains where the empirical results have not been established, we conclude that success has not been achieved or has not been sustained. The paper closes with (1) lessons learned for creating the sustained use and impact of semi-formal software engineering processes, (2) a request for researchers and practitioners to further consider how their work can improve the effectiveness of research and practice, and (3) a request to contribute additional success cases and impact factors to the authors database for future enhancements of this paper.

[1]  William C. Hetzel,et al.  An experimental analysis of program verification methods. , 1976 .

[2]  Edward Yourdon,et al.  Structured walkthroughs , 1978 .

[3]  Barry Boehm,et al.  Top 10 list [software development] , 2001 .

[4]  Barry W. Boehm,et al.  Software Defect Reduction Top 10 List , 2001, Computer.

[5]  Michael E. Fagan Design and Code Inspections to Reduce Errors in Program Development , 1976, IBM Syst. J..

[6]  Andy Huber,et al.  Peer reviews in software: a practical guide , 2002, SOEN.

[7]  Gregory Tassey,et al.  Prepared for what , 2007 .

[8]  Peter J. Middleton,et al.  Software Inspection , 1994, J. Inf. Technol..

[9]  Albert Endres,et al.  A handbook of software and systems engineering - empirical observations, laws and theories , 2003, The Fraunhofer IESE series on software engineering.

[10]  HuberAndy Peer reviews in software , 2002 .

[11]  Forrest Shull,et al.  The empirical investigation of Perspective-Based Reading , 1995, Empirical Software Engineering.

[12]  Lawrence G. Votta,et al.  Does every inspection need a meeting? , 1993, SIGSOFT '93.

[13]  Glenford J. Myers,et al.  A controlled experiment in program testing and code walkthroughs/inspections , 1978, CACM.

[14]  Alexander L. Wolf,et al.  The impact project: determining the impact of software engineering research upon practice (panel session) , 2000, SIGSOFT FSE.

[15]  Stefan Biffl,et al.  Software Reviews: The State of the Practice , 2003, IEEE Softw..

[16]  Victor R. Basili,et al.  Comparing the Effectiveness of Software Testing Strategies , 1987, IEEE Transactions on Software Engineering.

[17]  Oliver Laitenberger,et al.  An encompassing life cycle centric survey of software inspection , 2000, J. Syst. Softw..

[18]  Claes Wohlin,et al.  State‐of‐the‐art: software inspections after 25 years , 2002, Softw. Test. Verification Reliab..

[19]  Reidar Conradi,et al.  Impact of software engineering research on the practice of software configuration management , 2005, ACM Trans. Softw. Eng. Methodol..

[20]  Egon Berghout,et al.  The Goal/Question/Metric method: a practical guide for quality improvement of software development , 1999 .

[21]  Robert G. Ebenau,et al.  Software Inspection Process , 1993 .

[22]  Harlan D. Mills,et al.  Stepwise refinement and verification in box-structured systems , 1988, Computer.

[23]  John J. Marciniak Reviews and Audits , 2002 .

[24]  Victor R. Basili,et al.  Evolving and packaging reading technologies , 1997, J. Syst. Softw..

[25]  Marvin V. Zelkowitz,et al.  Lessons learned from 25 years of process improvement: the rise and fall of the NASA software enginee-Software Engineering, 2002. ICSE 2002. Proceedings of the 24rd International Conference on , 2004 .

[26]  Harlan D. Mills,et al.  Structured programming - theory and practice , 1979, The systems programming series.

[27]  Frank E. McGarry,et al.  Attaining Level 5 in CMM Process Maturity , 2002, IEEE Softw..

[28]  Kent L. Beck,et al.  Extreme programming explained - embrace change , 1990 .

[29]  Gerald M. Weinberg,et al.  Reviews, Walkthroughs, and Inspections , 1984, IEEE Transactions on Software Engineering.

[30]  Christopher M. Lott,et al.  Repeatable software engineering experiments for comparing defect-detection techniques , 2004, Empirical Software Engineering.

[31]  W. Edwards Deming,et al.  Out of the Crisis , 1982 .

[32]  Victor R. Basili,et al.  Cleanroom Software Development: An Empirical Evaluation , 1987, IEEE Transactions on Software Engineering.

[33]  Dieter Rombach,et al.  The impact project (panel session): determining the impact of software engineering research upon practice , 2000, SIGSOFT '00/FSE-8.

[34]  Margaret M. Burnett,et al.  The impact of software engineering research on modern programming languages , 2005, ACM Trans. Softw. Eng. Methodol..

[35]  Khaled El Emam,et al.  Quantitative modeling of software reviews in an industrial setting , 1999, Proceedings Sixth International Software Metrics Symposium (Cat. No.PR00403).

[36]  Stefan Biffl,et al.  Practical Experiences in the Design and Conduct of Surveys in Empirical Software Engineering , 2003, ESERNET.