Abstract
The quality of the software design often has a major impact on the quality of the final product and the effort for development and evolution. A number of quality assurance (QA) approaches for inspection of early-life-cycle documents have been empirically evaluated. An implicit assumption of these studies was: an investment into early defect detection and removal saves higher rework cost. The concept of pair programming combines software construction with implicit QA in the development team. For planning QA activities, an important research question is how effective inspectors can be expected to be at detecting defects in software (design and code) documents compared to programmers who find defects as by-product of their usual construction activities.
In this paper we present an initial empirical study that compares the defect detection effectiveness of a best-practice inspection technique with defect detection as by-product of constructive software evolution tasks during pair programming. Surprisingly, in the study context pair programmers were more effective to find defects in design documents than inspectors. However, when building a larger team for defect detection, a mix of inspection and pair programming can be expected to work better than any single technique.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Basili, V., Caldiera, G., Lanubile, F., Shull, F.: Studies on Reading Techniques. In: 21st Annual Software Engineering Workshop, NASA/Goddard Software Engineering Laboratory Series, SEL-96-002, College Park, Maryland, pp. 59–65 (1997)
Biffl, S., Aurum, A., Boehm, B.: Value-Based Software Engineering. Springer, Heidelberg (2005)
Biffl, S.: Software Inspection Techniques to support Project and Quality Management. Shaker Verlag (2001)
Biffl, S., Halling, M.: Investigating the Defect Detection Effectiveness and Cost Benefit of Nominal Inspection Teams. IEEE Transactions on Software Engineering 29(5), 385–397 (2003)
Biffl, S., Gutjahr, W.: Influence of Team Size and Defect Detection Methods on Inspection Effectiveness. In: Proc. of IEEE Int. Software Metrics Symposium, London (2001)
Biffl, S., Winkler, D., Thelin, T., Höst, M., Russo, B., Succi, G.: Investigating the Effect of V&V and Modern Construction Techniques on Improving Software Quality. In: ISERN 2004, Los Angeles (2004)
Cockburn, A., Williams, L.: The Costs and Benefits of Pair Programming in Extreme Programming Examined. Addison-Wesley, Reading (2001)
Cockburn, A.: Agile Software Development. Addison-Wesley, Reading (2002)
Fagan, M.: Design and Code Inspections To Reduce Errors In Program Development. IBM Systems J. 15(3), 182–211 (1976)
Gilb, T., Graham, D.: Software Inspection. Addison-Wesley, Reading (1993)
Müller, M.: Are Reviews an Alternative to Pair Programming? In: Conference on Empirical Assessment In Software Engineering (EASE), UK, pp. 3–12 (2003)
Nawrocki, J., Wojciechowski, A.: Experimental Evaluation of Pair Programming. In: Proceedings of the 12th European Software Control and Metrics Conference, pp. 269–276 (April 2001)
Padberg, F., Müller, M.: Analyzing the Cost and Benefit of Pair Programming. In: International Symposium on Software Metrics METRICS 9 (2003)
Parrish, A., Smith, R., Hale, D., Hale, J.: A field study of developer pairs: Productivity impacts and implications. IEEE Software 21(2), 76–79 (2004)
Thelin, T., Andersson, C., Runeson, P., Dzamashvili-Fogelström, N.: A Replicated Experiment of Usage-Based and Checklist-Based Reading. In: 10th IEEE International Symposium on Software Metrics, pp. 246–256 (2004)
Thelin, T., Runeson, P., Regnell, B.: Usage-Based Reading - An Experiment to Guide Reviewers with Use Cases. Information and Software Technology 43(15), 925–938 (2001)
Thelin, T., Runeson, P., Wohlin, C.: An Experimental Comparison of Usage-Based and Checklist-Based Reading. IEEE Trans. on Software Engineering 29(8), 687–704 (2003)
Westland, J.C.: The cost of errors in software development: evidence from industry. Journal of Systems and Software 62, 1–9 (2002)
Williams, L., Kessler, R., Cunningham, W., Jeffies, R.: Strengthening the Case for Pair Programming. IEEE Software 17(4), 19–25 (2000)
Williams, L., Kessler, R.: All I really need to know about pair programming I learned in Kindergarten. In: Communication of the ACM, vol. 43(5), pp. 108–114. ACM Press, New York (1999)
Williams, L., McDowell, C., Nagappan, N., Fernald, J., Werner, L.: Building Pair Programming Knowledge through a Family of Experiments. In: IEEE, Proceeding of the 2003 International Symposium on Empirical Software Engineering, ISESE (2003)
Winkler, D., Biffl, S., Thurnher, B.: Investigating the Impact of Active Guidance on Design Inspection. In: Bomarius, F., Komi-Sirviö, S. (eds.) PROFES 2005. LNCS, vol. 3547, pp. 458–473. Springer, Heidelberg (2005)
Winkler, D., Biffl, S., Riedl, B.: Improvement of Design Specifications with Inspection and Testing. In: Proc. of Euromicro 2005 (2005)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Winkler, D., Biffl, S. (2006). An Empirical Study on Design Quality Improvement from Best-Practice Inspection and Pair Programming. In: Münch, J., Vierimaa, M. (eds) Product-Focused Software Process Improvement. PROFES 2006. Lecture Notes in Computer Science, vol 4034. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11767718_27
Download citation
DOI: https://doi.org/10.1007/11767718_27
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-34682-1
Online ISBN: 978-3-540-34683-8
eBook Packages: Computer ScienceComputer Science (R0)