Reuse Environment
A
reuse environment is any
development environment that is primarily used by the
reuse organization to store and maintain an
organization’s reusable work products (e.g., documents
and software components).
The typical objectives of a reuse environment are to provide
the necessary infrastructure to enable the:
The typical benefits of a reuse environment include:
- A reuse environment provides a central repository for
reusable intellectual property.
- An integrated reuse environment increases the amount of
reuse on projects and thereby:
- Decreases the development time and costs of
applications.
- Increases the quality of applications by including
tested components of certified quality.
The typical contents of a reuse environment are:
-
Hardware Components:
- Workstations for performing reuse tasks (e.g.,
evaluation, iteration, documentation, testing,
certification, and storage)
- Database server
- Disk or tape library for storing reusable
components
- Local area network
-
Software Components:
- Repository of reusable intellectual property:
- Deliverable documentation (e.g., reference
requirements, reference architectures, and patterns)
- Process documentation (e.g., standards, procedures,
guidelines, templates, checklists)
-
Software components
- Associated test software and test data
The typical stakeholders of a reuse environment are:
- Producers:
- Evaluator:
- Approvers:
- Maintainers:
- Users:
-
Reuse Organization, which uses the reuse environment
to store, maintain, iterate, and certify reusable
software and documents.
-
Development Organization, which uses the reuse
environment to identify, evaluate, select, and obtain
reusable software and documents.
A reuse environment can typically be started if the
following preconditions hold:
The typical inputs to a reuse environment include:
- Work Products:
-
Project Environments Description Document
- Reusable deliverable documentation (e.g., reference
requirements, reference architectures, and patterns)
- Reusable process documentation (e.g., standards,
procedures, guidelines, templates, checklists)
- Reusable
software components
- Reusable associated test software and test data
- Stakeholders:
-
Environments Team, which constructs the reuse
environment.
-
Reuse Organization, which uses the reuse environment
to store, maintain, iterate, and certify reusable
software and documents.
-
Development Organization, which uses the reuse
environment to identify, evaluate, select, and obtain
reusable software and documents.
- A reuse environment must be scalable to handle storing
all of the development organization's reusable intellectual
property.
- A reuse environment must be easy to use or else reuse
will be extremely limited.
A reuse environment is typically constrained by the
following conventions:
-
Reuse Environment Inspection
Checklist
- Enterprise Reuse Environment
- Program Reuse Environment
- Project Reuse Environment