Checklist for Identifying Reusable Componenents

The questions should help to identify reusable components.

  1. Is component functionality required on future implementations?

  2. How common is the component's function within the application domain?

  3. Is there duplication of the components's function within the domain?

  4. Is the component hardware-dependent?

  5. Does the hardware remain unchanged between implementations?

  6. Can the hardware-specifics be removed to another component?

  7. Is the design optimized enough for the next implmentation?

  8. Can we parameterize a nonreusable component so that it becomes reusable?

  9. Is the component reusable in many implementations with only minor changes?

  10. Is reuse through modification feasible?

  11. Can a nonreusable component be decomposed to yield reusable components?

  12. How valid is component decomposition for reuse?


Literature:

Hooper, J.W. and Chester, R.O.: Software Reuse - Guidelines and Methods. Plenum Press, New York, 1991.