A Collaborative Software Code Inspection: the Design and Evaluation of a Repeatable Collaboration Process in the Field

The use of software products in today's world has increased dramatically making quality an important aspect of software development. There is a continuous need to develop processes to control and increase software quality. Software code inspection is one way to pursue this goal. This paper presents a collaborative code inspection process that was designed during an action research study using Collaboration Engineering principles and techniques. Our inspection process was implemented as a sequence of thinkLets, chunks of facilitation skill, that were subsequently field tested in a traditional paper-based and Group Support System (GSS)-based environment. Four inspections were performed on four different pieces of software code in two different organizations. Results show that regardless of the implementation, the process was found to be successful in uncovering many major, minor, and false-positive defects in inspected pieces of code. Overall observations and feedback suggest that the collaborative inspection process was considered to be productive and satisfactory. GSS inspections were more effective, especially in terms of major defects. GSS inspections were also found to be more efficient. Finally, the GSS inspections outperformed the paper inspections from a practical perspective: logging and managing defects in a GSS was far superior.

[1]  Stefan Biffl,et al.  An experiment family to investigate the defect detection effect of tool-support for requirements inspection , 2003, Proceedings. 5th International Workshop on Enterprise Networking and Computing in Healthcare Industry (IEEE Cat. No.03EX717).

[2]  Padmal Vitharana,et al.  Computer-Mediated Group Support, Anonymity, and the Software Inspection Process: An Empirical Investigation , 2003, IEEE Trans. Software Eng..

[3]  Poong Hyun Seong,et al.  Toward Easy Inspection and Effective Use of Formal Methods in NPP Software Fields , 2002 .

[4]  Paola Forcheri Implementing Collaboration Technologies in Industry - Case Examples and Lessons Learned , 2003, J. Educ. Technol. Soc..

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

[6]  Craig K. Tyran,et al.  Improving software inspections with group process support , 2002, CACM.

[7]  Starr Roxanne Hiltz,et al.  An Assessment of Group Support Systems Experimental Research: Methodology and Results , 1998, J. Manag. Inf. Syst..

[8]  Harvey P. Siy,et al.  An experiment to assess the cost-benefits of code inspections in large scale software development , 1995, SIGSOFT '95.

[9]  Stefan Biffl,et al.  Integrating Collaborative Processes and Quality Assurance Techniques: Experiences from Requirements Negotiation , 2004, J. Manag. Inf. Syst..

[10]  Jay F. Nunamaker,et al.  Collaboration Engineering with ThinkLets to Pursue Sustained Success with Group Support Systems , 2003, J. Manag. Inf. Syst..

[11]  Robert O. Briggs,et al.  Collaboration Engineering: Designing Repeatable Processes for High-Value Collaborative Tasks , 2005, Proceedings of the 38th Annual Hawaii International Conference on System Sciences.

[12]  Jay F. Nunamaker,et al.  Increasing inspection efficiency through group support systems , 2004, 37th Annual Hawaii International Conference on System Sciences, 2004. Proceedings of the.

[13]  Robert L. Glass,et al.  Evolving a new theory of project success , 1999, Commun. ACM.

[14]  Kai R. T. Larsen,et al.  A Taxonomy of Antecedents of Information Systems Success: Variable Analysis Studies , 2003, J. Manag. Inf. Syst..

[15]  Brad Quinn Post,et al.  A Business Case Framework for Group Support Technology , 1992, J. Manag. Inf. Syst..

[16]  Thomas Gilb,et al.  Software Inspection , 1994 .

[17]  Karl Wiegers Improving quality with software inspections , 1995 .

[18]  Jay F. Nunamaker,et al.  Lessons from a Dozen Years of Group Support Systems Research: A Discussion of Lab and Field Findings , 1996, J. Manag. Inf. Syst..

[19]  Robert O. Briggs,et al.  Causal Relationships in Creative Problem Solving: Comparing Facilitation Interventions for Ideation , 2004, J. Manag. Inf. Syst..

[20]  Wei-Tek Tsai,et al.  Distributed, collaborative software inspection , 1993, IEEE Software.

[21]  Fred Niederman,et al.  Issues and Concerns About Computer-Supported Meetings: The Facilitator's Perspective , 1996, MIS Q..

[22]  J. Miller,et al.  A Comparison of Tool-Based and Paper-Based Software Inspection , 1998, Empirical Software Engineering.

[23]  Liisa von Hellens,et al.  Qualitative Research in Information Systems , 2007, Australas. J. Inf. Syst..

[24]  Bjørn Erik Munkvold,et al.  Organizational adoption and diffusion of electronic meeting systems: a case study , 2001, GROUP.

[25]  Starr Roxanne Hiltz,et al.  Group Support Systems: A Descriptive Evaluation of Case and Field Studies , 2000, J. Manag. Inf. Syst..

[26]  Bjørn Erik Munkvold,et al.  Collaborative IS Decision-Making: Analyzing Decision Process Characteristics and Technology Support , 2005, CRIWG.

[27]  L GriffithTerri,et al.  Facilitator Influence in Group Support Systems , 1998 .

[28]  Richard Baskerville,et al.  Investigating Information Systems with Action Research , 1999, Commun. Assoc. Inf. Syst..

[29]  Iain D. Craig,et al.  Principles of Software Engineering Management by Tom Gilb with Susannah Pinzi, Addison-Wesley, Wokingham, UK, 442 pages (incl. index) (£17.95) , 1989, Robotica (Cambridge. Print).

[30]  Jay F. Nunamaker,et al.  Increasing inspection efficiency through group support systems , 2004 .

[31]  Jay F. Nunamaker,et al.  Implementing Electronic Meeting Systems at IBM: Lessons Learned and Success Factors , 1990, MIS Q..

[32]  Mark A. Fuller,et al.  Facilitator Influence in Group Support Systems: Intended and Unintended Effects , 1998, Inf. Syst. Res..

[33]  Stefan Biffl,et al.  An empirical study on groupware support for software inspection meetings , 2003, 18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings..

[34]  Laurence Brothers,et al.  ICICLE: groupware for code inspection , 1990, CSCW '90.

[35]  Ortrun Zuber-Skerritt,et al.  Action Research for Change and Development , 2021 .

[36]  Peter Checkland,et al.  Systems Thinking, Systems Practice , 1981 .

[37]  Robert L. Glass,et al.  Inspections - Some Surprising Findings. , 1999 .

[38]  Stuart E. Madnick,et al.  Special Section: Assuring Information Quality , 2004, J. Manag. Inf. Syst..

[39]  Lasse Harjumaa,et al.  A path to virtual software inspection , 2001, Proceedings Second Asia-Pacific Conference on Quality Software.

[40]  Bala Iyer,et al.  Monitoring Platform Emergence: Guidelines from Software Networks , 2007, Commun. Assoc. Inf. Syst..

[41]  Roger S. Pressman,et al.  Software Engineering: A Practitioner's Approach , 1982 .

[42]  Douglas R. Vogel,et al.  Using Group Support Systems for Software Inspections , 2001, IEEE Softw..

[43]  S. Biffl,et al.  Groupware Support for Software Requirements Inspection , 2001 .

[44]  Michiel van Genuchten,et al.  Supporting inspections with an electronic meeting system , 1997 .