In discussing the various aspects of the Structural System Elements, such as software development process, roles, organizational boundaries, communication, and problem solving and decision making processes, several problems or barriers were raised. The group identified six problems/barriers. They are listed here, with discussion of solution following.
Solution: Structural systems should be put into place that will result in managers losing control over system development slowly. Adoption strategies should be incremental which have both short term and long term goals. Allowing managers to have some influence over or input into asset development could be substituted for control. Begin with low-granularity of reuse, then move towards a higher granularity of reuse.
Solution: All members of the team need to understand the business/technical objectives of the product family (i.e., both the asset development and product development). The technical staff needs to be educated on the business objectives for doing software reuse, so that they can understand the reasons behind the move to reuse, as well as the organization's implementation plans (See discussion in #4 below).
Solution: (a) Development of an asset needs to be treated similarly as a product. An asset has a life cycle, just as a software product does. Thus, support must be provided for the asset through out its full life cycle, including maintenance. However, training and education is important to reach this goal. Also, asset life cycles need to be incorporated into product planning from the beginning and tailored to the particular environment.
(b) By establishing working groups at all levels of the organization, communications links can be established. Not only do new roles need to be introduced, the organizational boundaries may have to change (i.e., involve marketing representatives in process). So that organizational boundaries support communication, problem solving and decision making across an organization, new boundaries need to be established. These boundaries should support complete units of work, reconciliation of processes between units of work and a shared understanding among all personnel involved. Structures/Boundaries need to support a single view of the end customer and a feed back loop needs to be put in place from the system developers to the asset developers.
Solution: The extent and content of understanding for reuse processes and organizational objectives must be the same for all personnel involved. First, the organization should perform an assessment to get a profile of the organization. This of course should be facilitated by an experienced person who is an objective party. As a result of such an assessment, organizational goals can be developed and then a baseline against which to measure those goals will be in place.
Solution: Select components that are ``well specified, correct, robust and efficient.''
Solutions: Need measurable goals for reuse cascading at all levels of management that support the production and maintenance of assets. Rewards need to be tied to successful reviews.
Through re-organization, asset development can be kept separately from system/product development, with a liaison working as a domain manager. The domain manager would be able to see the goals of both asset development and system development.
A reuse advocate could be inserted in the project and be responsible for making sure product engineers understand what assets exist and what new assets can be developed/generated.