next up previous
Next: Additional Information Up: Results Previous: Customer and Values

Structural System Elements

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.

  1. Product manager loses control over assets going into
    his/her product.

    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.

  2. Technical staff experiences a loss of independence.

    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).

  3. Structural elements need to support:(a) The asset life cycle and the product life cycle, since they are treated separately; and (b) Communications, problem solving and decision making across asset and product organizational boundaries must be addressed.

    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.

  4. Lack of understanding of the process, system, and
    planning.

    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.

  5. Potential productivity loss trying to debug using
    components not owned by the product line (may not
    have source code for the component, may not be allowed to contact the component developer, etc.).

    Solution: Select components that are ``well specified, correct, robust and efficient.''

  6. If you are producing and consuming simultaneously,
    how do you trade off between producing a product and generating new assets.

    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.



next up previous
Next: Additional Information Up: Results Previous: Customer and Values



Larry Latour
Mon Aug 21 17:23:03 EDT 1995