Almost all developers of industry-strength software agree that inspections play a significant role in achieving high quality software. Inspection is a formal review method, where there are procedures to follow; participants should be trained, prepared, and have distinct responsibilities; data collection is mandated, follow-up ensures that defects are corrected, etc. Unlike executing tests, inspections can be applied in most life-cycle phases with the goal of discovering and removing defects from work-products. The rationale is that removing defects early in the life cycle saves cost compared to handling failures experienced by the customer.
This thesis addresses two questions:
- Can inspections be better understood and thus be improved?
- How can the information generated by inspections be used?
The major contribution to this is to explore the proficiency of using inspections at four levels of quality engineering known from manufacturing industry. The least sophisticated level is, appraisal, aimed at using information about defects in products to correct them. This level is the most spread in industry. The most sophisticated level is improvement, where data from the process is fed back in order to deploy proactive means to improve the process in such a way that defects are never injected in work-products.
Results indicate that in order to get the full benefit of quality engineering methods, we must first establish a stable, repeatable process. Further, we need deep understanding of the process. This can be achieved through more frequent inspections, divided in work-packages of similar size. We must also be prepared to use different sampling techniques As a first step, we must open a dialogue with industry, which is currently reluctant in inspecting other things than finished work-products.
To support this work, we have also contributed to optimising the inspection process itself by reviewing experimental research and a research agenda based on behavioural science of group dynamics.
The last contribution is a maturity model called TIM which guides an organisation in a step-wise improvement of testing and review practices. The work builds on SEI's Capability Maturity Model. TIM is currently applied in industrial use.
Linköping: Linköpings universitet , 1999. , p. 128