Reusability Analysis

We define the analysis of the constraints on reusability (i.e., what enables the product development teams to use the workproducts) as an important and separate activity in Developing Reusable Workproducts. While some existing process models outline the Analyzing Reusability activity [PRIETO91], our reuse engineers who are Engineering Reusable Components need explicit information on the content of the reusability requirements workproduct, and details on how to conduct the analysis. Arango [ARANGO89] models the reusability analysis as a meta-process, a learning system that iterates over the reuse process. We find that modelling Reusability Analysis as a peer activity to Domain Analysis provides practitioners with a clearer sense of the tasks that must be completed to Develop Reusable Workproducts. Our current model for Analyzing Reusability is analogous to analyzing customer requirements, where the ``customers'' are the product development team members and the ``product'' is the reusable workproducts.

Research into characteristics of reusable workproducts, and the impact of specific software development practices and environments on the design of reusable components is being conducted. Systematic analysis of claims (e.g., comparing reusability of an object-oriented approach with a traditional structured approach) would be a welcomed contribution (and is beyond our project's current scope).