Abstract

Traceability is crucial for many activities in software and systems engineering including monitoring the development progress, and proving compliance with standards. In practice, the use and maintenance of trace links are challenging as artifacts undergo constant change, and development takes place in distributed scenarios with multiple collaborating stakeholders. Although traceability management in general has been addressed in previous studies, there is a need for empirical insights into the collaborative aspects of traceability management and how it is situated in existing development contexts. The study reported in this paper aims to close this gap by investigating the relation of collaboration and traceability management, based on an understanding of characteristics of the development effort. In our multiple exploratory case study, we conducted semi-structured interviews with 24 individuals from 15 industrial projects. We explored which challenges arise, how traceability management can support collaboration, how collaboration relates to traceability management approaches, and what characteristics of the development effort influence traceability management and collaboration. We found that practitioners struggle with the following challenges: (1) collaboration across team and tool boundaries, (2) conveying the benefits of traceability, and (3) traceability maintenance. If these challenges are addressed, we found that traceability can facilitate communication and knowledge management in distributed contexts. Moreover, there exist multiple approaches to traceability management with diverse collaboration approaches, i.e., requirements-centered, developer-driven, and mixed approaches. While traceability can be leveraged in software development with both agile and plan-driven paradigms, a certain level of rigor is needed to realize its benefits and overcome challenges. To support practitioners, we provide principles of collaborative traceability management. The main contribution of this paper is empirical evidence of how culture, processes, and organization impact traceability management and collaboration, and principles to support practitioners with collaborative traceability management. We show that collaboration and traceability management have the potential to be mutually beneficial—when investing in one, also the other one is positively affected.

Highlights

  • Traceability helps practitioners manage increasingly complex software projects in industry [19, 55], e.g., by supporting change impact analyses and monitoring connections between artifacts [20]

  • We extend our previous findings on challenges of collaborative traceability management and effects of traceability management on collaboration [58], as phrased in the following research questions:

  • Our findings indicate that traceability management can improve collaboration in the following four ways: Trace links and trace link quality are often directly affected by changes of connected artifacts

Read more

Summary

Introduction

Traceability helps practitioners manage increasingly complex software projects in industry [19, 55], e.g., by supporting change impact analyses and monitoring connections between artifacts [20]. We adopt Gotel et al.’s understanding of traceability [20]: Software traceability is the ability to create and use links between artifacts This allows, for instance, users of traceability to connect a requirement to its origin and to any other artifacts used in subsequent phases in the software lifecycle (e.g., its specification or affected lines of source code). These connections are called trace links and connect a source artifact to a target artifact. We define traceability management as the planning, organization, and coordination of all tasks concerned with traceability This includes, for example, the creation, maintenance, and use of trace links

Objectives
Methods
Discussion
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call