Task: Prepare Reuse Assessment
The organization's aptitude and opportunity for reuse is assessed.
Disciplines: Asset Governance
Purpose
Provide input to decision to proceed with asset reuse initiative.
Relationships
RolesPrimary Performer: Additional Performers:
Outputs
    Main Description

    The scope of the reuse assessment should be selected first. In general, it is not good practice to apply reuse principles to the entire enterprise at one time. As input to the reuse assessment, the business problem and priority need to be understood. This provides the necessary context and scope for focusing the reuse assessment.

    Therefore, if the business problem is scoped or can be scoped to a specific organization, team, or project, then the reuse assessment should be scoped as well. The reuse assessment evaluates two major elements for the selected scope: 1) reuse capability and 2) reuse opportunity.

    Reuse capability describes the organization's ability to conduct reuse activities. Reuse opportunity describes the extent to which recurring problems and recurring solutions exist within the selected scope.

    An organization's reuse capabilities are increased when the following factors are in place:

    • Management support
    • Mature software process in the organization

    There are generally more reuse opportunities when the following factors are in place:

    • Well understood domains
    • Architecture to support reuse
    • Mature versioning and configuration management

    When creating the reuse assessment, evaluate each of the factors in the two lists above. Sample questions to consider on each of these factors are listed below.

    Management support

    • Will management specify policies and support asset reuse?
    • Will management provide top-down support for investing with bottom-up implementation?

    Mature software process in the organization

    • Do the project teams follow a repeatable software process?
    • Are there management artifacts produced from the process, and does management use them?

    Well-understood domains

    • Is the business problem space understood by the software organization?

    Architecture to support reuse

    • Will the software architecture permit assets to be harvested and plugged in for reuse?

    Mature versioning and configuration management

    • Does the software team practice source code versioning and configuration management?
    • What is the release cycle for delivering software in the organization?
    Steps
    Determine Scope of Reuse Assessment
    Describe the scope of the assessment. This may be for the entire enterprise, or for one community, which in turn may be a division or a single project. For the target scope establish approvals and agreements to proceed with assessment.
    Determine Reuse Capability

    Interview personnel within the reuse scope to determine:

    • Skill sets
    • Previous reuse experiences
    • Willingness to participate in reuse efforts:
      • Using asset repository
      • Developing reusable assets
    • Hurdles to block reuse efforts
    • Management support
    • Maturity of software development process practiced
    • Practice of versioning and configuration management
    Determine Reuse Opportunity

    Interview personnel within reuse scope to determine:

    • Functional redundancy across projects, communities
    • Nature of software architecture
    • Non-functional constraints on systems
    • Stability of business domain
    Analyze Findings
    Collect the materials from the interviews and evaluate common messages and issues.
    Prepare Reuse Assessment Report
    Use the reuse assessment template to prepare the reuse assessment report.
    More Information