Inspections and pair programming - competing or complementary?
Experiences from an expert eWorkshop
The common goal of the two practices Pair Programming and Inspections is to produce high quality software. Even though they have a common goal, their approaches are different, and they are typically used in different situations. Pair programming is typically applied as a part of agile development methodologies, such as Extreme Programming, whereas Inspections are often applied in plan-driven or CMM-based methodologies. In order to gain a better understanding of these two practices and their strengths and weaknesses, we facilitated an expert eWorkshop. Our goals were to compare the two practices as well as to understand in which situations the two practices can be best applied. Our eWorkshop discussion highlighted several differences in the benefits that can be expected from the practices (along dimensions such as objectivity of review and achievable level of quality), indicating that the practices can be considered complementary in order to achieve the full range of effects.