Abstract
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. It was found to be successful in uncovering many major, minor as well as false-positive defects in inspected pieces of code. Results illustrate the process’ efficiency in identifying duplicate defects thereby reducing follow-up time to correct each defect. The inspection process’ flexibility was observed as it was successfully applied to inspect both pieces of code or an entire module. Overall the collaborative inspection process was considered to be productive for code inspection and was satisfactory for the inspectors involved.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Argyris, C., Putnam, R., MacLain Smith, D.: Action science – Concepts, methods and skills for research and intervention. Jossey-Bass, San Francisco (1982)
Briggs, R.O., Vreede, G.J., de Dean, D.L.: The Process and Pattern Layer in Collaboration Engineering, working paper, University of Nebraska at Omaha (2005)
Briggs, R.O., de Vreede, G.J., Nunamaker Jr., J.F.: Collaboration Engineering with ThinkLets to Pursue Sustained Success with Group Support Systems. Journal of Management Information Systems 19(4), 31–63 (2003)
Budd, A.: The Importance of Process in Web Design (2004) (Retrieved on November 10, 2004), http://www.andybudd.com/archives/2004/01/the_importance_of_process_in_web_design/index.php
Checkland, P.B.: Systems thinking, systems practice. Wiley & Sons, Chichester (1981)
Dean, D.L., Rodgers, T., Nunamaker, J.: Increasing Inspection Efficiency through Group Support Systems. In: Proceedings of the 37th HICSS. IEEE Computer Society Press, Los Alamitos (2004)
Fagan, M.: Hitting the bull’s eye – Improving your quality, schedule, cost, and performance. In: Proceedings of the 11th International Software Quality Conference (2001)
Fagan, M.E.: Design and Code Inspections to Reduce Errors in Program Development. IBM Systems journal 15(3), 182–211 (1976)
Ganssle, J.G.: A guide to Code Inspection (2001) (Retrieved on June 02, 2004), http://www.ganssle.com/Inspections.pdf
Genuchten, M.V., van Dijk, C., Scholten, H., Vogel, D.: Using Group Support Systems for Software Inspections. IEEE Software 18(3), 60–65 (2001)
Gilb, T., Graham, D.: Software Inspection. Addison – Wesley, Wokingham (1993)
Grünbacher, P., Halling, M., Biffl, S.: An Empirical Study on Groupware Support for Software Inspection Meetings. In: Proceedings of the 18th IEEE International Conference on Automated Software Engineering (2003)
Halling, M., Grünbacher, P., Biffl, S.: Groupware Support for Software Requirements Inspection. In: Workshop on Inspection in Software Engineering, pp. 20–29 (2001)
Harjumaa, L., Hedberg, H., Tervonen, I.: A path to virtual software inspection. In: Proceedings of Asian-Pacific Conference on Quality Software, pp. 283–287. IEEE Computer Society Press, Los Alamitos (2001)
Klimas, E.: SmallTalk Code Inspection Process (2001) (Retrieved on April 27, 2004), http://www.lineaengineering.com/Resources/Inspection/inspection.html
Kolfschoten, G.L., Briggs, R.O., Appelman, J.H., de Vreede, G.J.: ThinkLets as Building Blocks for Collaboration Processes: A Further Conceptualization. LNCS. Springer, Heidelberg (2004)
Koo, S.R., Son, H.S., Seong, P.H., Yoo, J., Cha, S.D., Son, D.S., Choi, S.S.: Toward Easy Inspection and Effective Use of Formal Methods in NPP Software Fields. Transactions of the American Nuclear Society 86(1), 73–74 (2002)
Mashayekhi, V., Drake, J.M., Tsai, W.T., Riedl, J.: Distributed, Collaborative Software Inspection. IEEE Software 10(5), 66–75 (1993)
Santanen, E., Briggs, R.O., de Vreede, G.J.: Causal Relationships in Creative Problem Solving: The role of active facilitation in EBS. Journal of Management Information Systems 20(4), 169–200 (2004)
Sify, H.P.: Identifying the Mechanisms to Improve Code Inspection Costs and Benefits, PhD. Dissertation, University of Maryland (1996)
Software Defects (1996) (Retrieved May 29, 2004), www.kaner.com/pdfs/defects4.pdf
Vitharana, P., Ramamurthy, K.: Computer-Mediated Group Support, Anonymity, and the Software Inspection Process: An Empirical Investigation. IEEE Transactions on Software Engineering 29(2), 167–180 (2003)
de Vreede, G.J., Briggs, R.O.: Collaboration Engineering: Designing Repeatable Processes for High-Value Collaborative Tasks. In: Proceedings of the 38th Hawaiian International Conference on System Sciences. IEEE Computer Society Press, Los Alamitos (2005)
Wiegers, K.E.: Improving Quality through Software Inspections. Software Development 3(4), 55–64 (1995)
Zuber-Skerritt, O.: Action research for change and development. Gower Publishing (1991)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Koneri, P.G., de Vreede, GJ., Dean, D.L., Fruhling, A.L., Wolcott, P. (2005). The Design and Field Evaluation of a Repeatable Collaborative Software Code Inspection Process. In: Fukś, H., Lukosch, S., Salgado, A.C. (eds) Groupware: Design, Implementation, and Use. CRIWG 2005. Lecture Notes in Computer Science, vol 3706. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11560296_26
Download citation
DOI: https://doi.org/10.1007/11560296_26
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-29110-7
Online ISBN: 978-3-540-32002-9
eBook Packages: Computer ScienceComputer Science (R0)