could be inspired from Figure 2 or new categories could be
added depending on the nature of the project. For example,
components may come from an internal department, previous
projects or proprietary libraries, etc.
• Apply basic metric measurements on implemented
components. In this case study, complexity and cohesion
metrics were selected but other metrics could be used
depending on the tools available, the development
environment or the application domain. The purpose is to set
a threshold above which components will be candidate for
quality control.
• Quality control should be performed according to the category
types. For example, with regards to the Pre-ID artifacts
categories the following actions could be taken:
o If there is a Pre-ID artifact, find the rationale for any
discrepancies between Pre-ID and Post-ID artifacts and
take corrective actions if required.
o If there is no Pre-ID artifact and there should be one
according to the software process or the metric threshold,
find why a component above the complexity metrics'
threshold was implemented without design. Retrofit the
design if needed.
• A specific quality control action could be determined for each
type of category.
• Quality control spot checks could be made on the various
components below complexity metrics' threshold.
This case study has been performed after the project completion.
The project analysis was difficult and time consuming because the
researchers needed to understand the whole project by looking at
the ten thousands line of code of the reused components.
Interviews were also conducted with the team members.
However, this approach could be much less time consuming when
it is applied as part of the quality assurance process and it is
integrated into review practices. It could provide immediate
benefits for the developers and it is likely to improve the quality
of the software product.