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

References:

Archives