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