Ensuring diversity by team selection



As can be seen from many of the above arguments and directions, one of the key components within current software inspection theory is the need to ensure diversity in everything. Diversity becomes the key to ensuring that the team locates a large variety of defects rather than the same small set of defects being found repeatedly. This issue has been given even greater importance by recent work by El Eman et al, this work establishes a sound cost-benefit relationship of software inspection activities within a software development environment. To summarise, the work suggests that current levels of inspection activity, which can be related to team size is insufficient in many industries, which exhibit high post-release corrective maintenance costs. Hence an effective inspection process needs: diversity in personnel, diversity in individual processes and diversity in aids for inspectors. While the latter two areas have received attention, the former is almost completely unexplored.

While we can hypothesis a variety of indicators of diversity in personnel – variation in background, training, levels of expertise, etc.; it is difficult to derive any theoretical rationale about why these forms of variation result in different reading and discovery patterns amongst inspectors. This is not to say that these avenues should be ignored, rather it indicates that these ad hoc considerations are best explored in an empirical nature; by the collection of evidence over a large number of inspection processes. Once formed, this large data repository, will allow the information to be ‘mined’ in an effort to find causal (or at least associative) relationships. ASSIST already records much of the information of potential interest in this category; hence, the collection of sufficient samples remains the only obstacle to completing this analysis.

Alternatively, we can look for cognitive ideas on what characteristics will cause expected diversity in the types of defects found between team members. Here the field of personality psychology provides a promising basis for investigation, a large body of work exists within personality psychology which looks at characterising different cognitive styles at the individual level. This work is based around characterising the different forms of perceiving or collecting information and the use of the collected information. Although much of the work has its originals in the work of Jung, no single definitive classification exists, rather the field has developed a variety of classification, such as Myers-Briggs Type Indicators, see DiTiberio and Hammer  for a detailed review of this scheme. Although, the lack of a single definite classification is not ideal, it is far from fatal for this project; as many of the classification systems have a great deal in common, such as their common roots, as noted above.

In addition, personality psychology, has produced a number of studies investigating the performance of heterogeneous (w.r.t. cognitive style) groups against homogeneous groups. These studies can be paramterised by the type of task undertaken and the style of performance measure. Given, these two characteristics, it is impossible to find an exact analogue to the software inspection situation, but perhaps recent studies in the area of decision making present the closest intellectual and task synonym. The studies in this area are largely supportive that performance differences, not necessarily superiority, exist between heterogeneous and homogeneous groups.

Finally, this personality characterisation test, within the field of personality psychology, has been successfully administered via questionnaires with automatic analysis. Hence, ASSIST provides an ideal vehicle for exploring this hypothesis, via similar automated mechanisms. See Mike Yin's Research Pages for Details


Link To Appendices for TSE paper