Managing work-process environments. After establishing an Activity
SCM plan, an SCM environ-
Plan
ment is created by selecting and
installing SCM tools. At Hospcom, Visual SourceSafe was used
for SCM. Traceability matrices
were created as Word documents.
These practices were used independent of each other. Change
requests and changes incorporated in source-code modules
documented in Visual SourceSafe
were not linked to rationale documented in traceability matrices.
Manage
For synergistic operation, baseline and
release
traceability environments should
be integrated with the SCM environment so developers can work
in either when incorporating
changes in the system. Although
such integration can be achieved Monitor and report
with some effort through theconfiguration status
interfaces provided by either the
SCM or traceability system, the
development of a common environment will be tremendously
helpful. This integration can be
achieved at different levels—
ranging from just a simple tool
invocation to interoperation with
the ability to share data and
metadata. Integration should be
done in such a way that the SCM and traceability
tools are aware of the changes in each other and
rework is avoided while managing changes in either.
Managing change requests and making and delivering changes. During SCM, developers create workspaces, make changes, and deliver the changed
system. Important tasks in SCM are to accept, review,
control, and fulfill change requests. Hospcom created
textual documents in the SCM tool that briefly
explain the nature of changes incorporated. In several
instances, these documents did not provide adequate
or specific details on why certain changes were done
and how they affect other artifacts.
In an integrated practice, traceability knowledge
acquired during development can be used to analyze
the impact of changes by tracing dependency links
among artifacts and identifying the ripple effect of
changes. Traceability knowledge can be used to ensure
that changes are made in a consistent manner. Also,
when changing software artifacts, developers need to
document new traceability knowledge that includes
SCM Traceability SCM integrated
with Traceability
Even if organizationwide SCM and traceability plans are developed
SCM plans are developed, in conjunction with one another for
detailed and fine-grain effective change management. This
knowledge about approach provides guidance on the level
dependency and rationale of detail at which knowledge about
for changes are not changes is to be documented and linked
managed within SCM to versions and configuration in SCM.
Manage work- SCM tools are typically Traceability tools are typically Integrated work process environments
process used to manage source code used to manage finer dependencies for SCM and traceability enables linking
environments modules at file level, but across various artifacts. of fine-grain knowledge about
not other artifacts like dependencies to specific versions and
requirements and design. configurations.
Manage change SCM is used in reviewing, Impact of changes can be identified Specific changes to software artifacts can
requests, make controlling, and approving through knowledge about be documented in detail in traceability
and deliver changes. Only brief textual dependencies and rationale behind tools and linked to specific versions of
changes comments are used to changes. But these are not linked to artifacts. Rationale behind decisions on
describe changes affected versions of artifacts. reviews, control, and approvals can be
incorporated in specific documented in traceability tools and
artifacts. linked to versions and configurations in
SCM.
The integration enables linking
requirements in specifications to design
elements in versions of design models
and source-code modules. This enables
checking completeness and consistency
of baselines and releases.
Typically, no organization-wide
traceability plans are developed.
Knowledge about dependencies
and rationale are managed in
traceability tools or documents in
isolation from SCM
Completeness and
consistency checks are
difficult by just using
information from SCM
tools. Artifacts managed in
SCM tools are typically not
linked to requirements
specifications explicitly.
Status of configuration
items can be determined
using knowledge about
changes to various versions
documented in SCM tools.
Since this is typically done
using brief textual
comments, this knowledge
is usually not
comprehensive.
Though traceability tools are
used to establish links among
requirements, design models,
source code, etc., they are not
specifically linked to various
versions of these artifacts. As
changes may affect various
versions, it is difficult to use
traceability in isolation from SCM
to check completeness and
consistency.
Though traceability tools can be
used to check status of various
software artifacts, they cannot be
used to check status of specific
configurations of artifacts.
Configuration status reports can be
more complete as they can bring
together knowledge about changes to
specific versions of software artifacts and
how various configurations were derived.
Information on composition of
configurations from SCM environments
and rationale behind the creation of
configuration from traceability
environment aree integrated.
Comparing isolated
SCM and traceability
practices with an
integrated approach.
links between the changed artifacts and related artifacts, and they must link this documentation to
affected artifacts so the integrity and completeness of
artifacts can be ensured.
Managing baseline and release. SCM helps create
baselines of systems or subsystems for release or reuse.
When creating or promoting a baseline, developers
need to ensure that all the required artifacts are
archived, and the quality and reliability of these artifacts can be guaranteed. At Hospcom, during the creation of baselines and releases, developers were unable
to check the completeness and consistency of the system with specific versions of artifacts due to the lack
of synergistic use of traceability and SCM. For example, while traceability matrices helped identify software artifacts that implemented specific
requirements, they did not provide specific links to
the exact versions and configurations that implemented them. Also, when changes were incorporated
in specific artifacts to accommodate changes in
requirements, the traceability matrices did not direct
them to the specific versions of the artifacts that were
subject to these changes. Part of this knowledge was
documented in the SCM tool. Thus, the knowledge
required for performing completeness and consistency checks was fragmented in traceability and SCM
environments.