Issue No.06 - Nov.-Dec. (2012 vol.29)
pp: 56-61
Peter Rigby , Concordia University, Montreal, Canada
Brendan Cleary , University of Victoria, Canada
Frederic Painchaud , Department of National Defence, Canada
Margaret-Anne Storey , University of Victoria, Canada
Daniel German , University of Victoria, Canada
Do you use software peer reviews? Are you happy with your current code review practices? Even though formal inspection is recognized as one of the most effective ways to improve software quality, many software organizations struggle to effectively implement a formal inspection regime. Open source projects use an agile peer review process—based on asynchronous, frequent, incremental reviews that are carried out by invested codevelopers—that contrasts with heavyweight inspection processes. The authors describe lessons from the OSS process that transfer to proprietary software development. They also present a selection of popular tools that support lightweight, collaborative, code review processes and nonintrusive metric collection.
Software quality, Agile manufacturing, Programming, Electronic mail, Software engineering, Software development, open source software development, software quality, software peer review, inspection, agile development
Peter Rigby, Brendan Cleary, Frederic Painchaud, Margaret-Anne Storey, Daniel German, "Contemporary Peer Review in Action: Lessons from Open Source Development", IEEE Software, vol.29, no. 6, pp. 56-61, Nov.-Dec. 2012, doi:10.1109/MS.2012.24
1. M. Fagan, "A History of Software Inspections," Software Pioneers: Contributions to Software Engineering, Springer, 2002, pp. 562–573.
2. P.M. Johnson, "Reengineering Inspection," Comm. ACM, vol. 41, no. 2, 1998, pp. 49–52.
3. P.C. Rigby, "Understanding Open Source Software Peer Review: Review Processes, Parameters and Statistical Models, and Underlying Behaviours and Mechanisms," 2011; http://thechiselgroup.orgrigby-dissertation.pdf.
4. A. Porter et al., "Understanding the Sources of Variation in Software Inspections," ACM Trans. Software Eng. Methodology, vol. 7, no. 1, 1988, pp. 41–79.
5. L.G. Votta, "Does Every Inspection Need a Meeting?" SIGSOFT Software Eng. Notes, vol. 18, no. 5, 1993, pp. 107–114.
6. L. Williams, "Integrating Pair Programming into a Software Development Process," Proc. 14th Conf. Software Eng. Education and Training, IEEE, 2001, pp. 27–36.
7. D.L. Parnas and D.M. Weiss, "Active Design Reviews: Principles and Practices," Proc. 8th Int'l Conf. Software Eng. (ICSE 85), IEEE CS, 1985, pp. 132–136.
8. A. Mockus, R.T. Fielding, and J. Herbsleb, "Two Case Studies of Open Source Software Development: Apache and Mozilla," ACM Trans. Software Eng. and Methodology, vol. 11, no. 3, 2002, pp. 1–38.
9. C. Sauer et al., "The Effectiveness of Software Development Technical Reviews: A Behaviorally Motivated Program of Research," IEEE Trans. Software Eng., vol. 26, no. 1, 2000, pp. 1–14.
10. P.C. Rigby and M.-A. Storey, "Understanding Broadcast Based Peer Review on Open Source Software Projects," Proc. 33rd Int'l Conf. Software Eng. (ICSE 11), ACM, 2011, pp. 541–550.
11. J. Ratcliffe, "Moving Software Quality Upstream: The Positive Impact of Lightweight Peer Code Review," Proc. Pacific NW Software Quality Conf. (PNSQC 09), 2009, pp. 171–180;
12. P.C. Rigby, D.M. German, and M.-A. Storey, "Open Source Software Peer Review Practices: A Case Study of the Apache Server," Proc. 30th Int'l Conf. Software Eng. (ICSE08), IEEE CS, 2008, pp. 541–550.
13. K. Beck et al., The Agile Manifesto, 2001; http:/
14. S. Koch, "Agile Principles and Open Source Software Development: A Theoretical and Empirical Discussion," Extreme Programming and Agile Processes in Software Eng., LNCS 3092, J. Eckstein, and H. Baumeister eds., Springer 2004, pp. 85–93.
15. J. Cohen, Best Kept Secrets of Peer Code Review, white paper, Smart Bear, 2006;