We conducted a case study in an organization (hereafter
referred to as Hospcom) that develops embedded systems. The organization has SEI SW-CMM level-three
certification and uses RUP. It has several teams working
on the development of different embedded systems. The
site we studied had about 300 employees, including project managers, systems analysts, and customer representatives. We studied the SCM and traceability practices
followed in the development of an embedded system for
telecommunication and television management in hospitals (referred to as HSys). HSys manages the communication between telephone and television management
systems in hospitals. It also manages the process of
billing patients who use the telephone and television in
their rooms. The case study spanned a period of about
two years, during which data was collected through interviews with one project manager, three project leads, six
developers, and two customer representatives. We also
observed the various practices followed by the team as it
went through the different software development life
cycle phases. The purpose of the study was to examine
the change-management processes and understand the
challenges faced in SCM.
The case study highlights several challenges faced by
the development team in managing changes requested by
customers. The study highlighted issues in current SCM
practice and the need for augmenting this with traceability. It also helped in development of the traceability-process framework and the integration of relevant parts
of the SCM and traceability processes.
After developing process guidelines for integrated
traceability and SCM practice, we also validated them by
obtaining feedback from several experienced software
professionals. The ability of the framework to address
limitations of current SCM practice through traceability
systems was considered useful by these professionals.
They also expressed interest in developing or acquiring
mediating systems that facilitate interoperation of SCM
and traceability tools. The addition of a generic process
framework that integrates SCM and traceability into the
quality department’s repositories of quality guideline
documents was considered valuable in shaping organizationwide practice of SCM in conjunction with traceability.
Checking completeness of a baseline or a release
can be done more effectively when knowledge from
traceability environments is integrated with that documented in SCM tools. For example, dependency
knowledge available in traceability environments
must be linked to knowledge about changes to spe-
cific versions so developers can easily navigate and
examine if all applicable requirements and changes are
implemented appropriately.
Monitoring and reporting configuration status. SCM
systems help monitor and generate report projects to
check the integrity of configuration items, determine
whether they meet requirements, and evaluate the status of configurations. At Hospcom, the developers
were unable to create reports on integrity and completeness of configuration items as the knowledge
required for this was fragmented across traceability
and SCM environments.
Traceability knowledge can be used to complement
SCM systems in performing these activities. Traceability knowledge also needs to be audited and monitored to ensure its completeness and correctness.
Given the critical role of traceability knowledge in
acceptance testing (to examine whether a software system meets customer requirements and if so, how),
traceability audit should be part of configuration
audits. Traceability knowledge complements information stored in SCM tools while conducting audits by
showing the origins of each product and process of
development.
CONCLUSION
Our framework for integrating traceability and SCM
offers several benefits. The key implications we draw
from our study involve aspects of SCM-traceability
integration and adapting traceability and SCM
processes.
SCM-traceability integration. The guidelines we
have provided here include two types of integration of
SCM and traceability that project managers should
understand and implement: process integration and
tool integration. Project managers should recognize
the extent to which SCM and traceability processes
are intertwined. This should be reflected in the organizationwide quality-guideline documents prepared
by quality-assurance groups. When the development
processes are tailored, tight coupling between SCM
and traceability practices should be maintained.
Regarding tool integration, software development
organizations should consider the development of
homegrown applications that can act as middleware
between SCM and traceability systems. Such in-house
augmentation is necessary due to the limited ability of
traceability and SCM tools to interoperate.
Adapting traceability and SCM processes. Though we
suggest the inclusion of a traceability framework as
part of comprehensive process frameworks like RUP,
it should be adapted to suit the needs of the organization and the project. Using a generic traceability
process in all projects may be counterproductive if it is