A Comparison of Pair Programming to Inspections for Software Defect Reduction
نویسنده
چکیده
Even though convinced of their ef®cacy, software development managers are looking for ways to reduce the cost of inspections. Recent work shows that inspections by two engineers have as good results as by using a larger team of ®ve. This indicates that pair programming might be effective as an inspection technique, as other research shows that a meeting is not necessarily better than not meeting. An experiment was conducted to see if pair programming reduces defects more than formal inspections. Results indicate that pair programming is more effective. A defect rate of 9.6 per thousand lines of code, much lower than that of a heavier method, were achieved. The implications for teaching are explored. One of the principal practices of the agile method eXtreme Programming (XP) is pair programming (Beck, 2000). Advocates of XP and pair programming claim that it helps ®nd defects sooner, as a different set of eyes examine all products as they are made (Williams & Kessler, 2000). They liken the pairs to an inspection team (Fagan, 1976). Earlier research seems to support this contention. A study by Porter and Johnson of inspection teams meeting versus those that do not meet indicates that the results are the same, so it would seem that it is good to have inspections, but these can be by individuals (Porter & Johnson, 1997). Further experimentation by Porter et al. of different sized teams of two, three, and ®ve that did meet indicated that the team of two had similar effectiveness to the team of ®ve, so, apparently, `̀ three's a crowd'' in terms of inspections as well (Porter et al., 1997). This is potentially good news for managers trying to reduce the cost of inspections, since teams of two can be suf®cient. This can also support the claims of the effectiveness of pair programming. We tried an experiment to ®nd out if this was true. We wanted to know whether to teach Address correspondence to: James E. Tomayko, School of Computer Science, Carnegie Mellon, 5000 Forbes Avenue, Pittsburgh, PA 15213, USA. E-mail: [email protected] full formal inspections or simply to emphasize defect reduction as a side product of pair programming.
منابع مشابه
Integration of Analytical Quality Assurance Methods into Agile Software Construction Practice Research Proposal for a Family of Controlled Experiments
Defects in early software development products, e.g., design specifications, can have a major impact on product quality. Analytical quality assurance methods, like Software Inspections and Testing are common practices for detecting non-conformities in software products. Often, these quality assurance (QA) activities are not seen as integral part of software construction process but rather as ti...
متن کاملFuzzy Linear Programming Method for Deriving Priorities in the Fuzzy Analytic Hierarchy Process
There are various methods for obtaining the preference vector of pair-wise comparison matrix factors. These methods can be employed when the elements of pair-wise comparison matrix are crisp while they are inefficient for fuzzy elements of pair-wise comparison matrix. In this paper, a method is proposed by which the preference vector of pair-wise comparison matrix elements can be obtained even ...
متن کاملInspecting Automated Test Code: A Preliminary Study
Testing is an essential part of an agile process as test is automated and tends to take the role of specifications in place of documents. However, whenever test cases are faulty, developers’ time might be wasted to fix problems that do not actually originate in the production code. Because of their relevance in agile processes, we posit that the quality of test cases can be assured through soft...
متن کاملSurvey of Object-Oriented Defect Detection Approaches and Experiences in Industry
Software inspections are widely accepted as an effective technique in the battle against defects. However, most of the evidence for this is based on studies using procedural code. To investigate the use of inspections with Object-Oriented code, it is important to firstly gain the opinions of those in the front line of software development software engineers in industry and find out what the rea...
متن کاملPreliminary Evaluation of Tool-based Support for Distributed Inspection
Software inspections are a software engineering “best practice” for defect detection and rework reduction. In this paper, we describe our initial empirical evaluation with using a tool aiming to provide Internet groupware support for distributed software inspections. The tool is based on a restructured inspection process to reduce synchronization and coordination problems.
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- Computer Science Education
دوره 12 شماره
صفحات -
تاریخ انتشار 2002