In software lifecycle, traceability refers often to "requirements traceability". But that’s not all. Being able to trace every items along the development process is a significant factor in assuring quality software development and maintenance. In a recent talk we gave at TuleapCon 2019, we sum up of what is software traceability, how Tuleap enables to reach it and we've played the demo of a code auditing. Watch this talk (in French) and continue reading below to learn more.
What is Traceability in Software Development
Generally speaking, traceability is the ability to follow the life of a requirement (a customer need, a user story…) both forwards and backwards. It involves defining requirements, capturing those requirements, and following links between requirements and other artifacts such as tasks, tests and defects as well as other work items as source code or deliveries. Changes at any time during the development lifecycle have to be stored.
Linking all project items to reach full traceability
Talk and demo of a code auditing
The Benefits of Traceability
From a business point of view
- Align evolving market or customers' needs with the software developed. Tracking requirement changes ensures teams are creating the « right product » not only the « product right ». You can be assured the development teams develops software that your company and partners actually needs for being competitive. When traceability is carried out properly, teams can accurately assess the impact of changes, track the full history of product development and keep everyone in sync.
Traceability to keep everyone in sync
- Satisfy compliance for industry and regulatory standards (Capability Maturity Model Integration (CMMI), ITIL, ISO…). Delivering audit-ready software is a compulsory feature for regulated products.
Audit trail for compliance: Trace test cases to requirements and other related items
From the software engineering point of view
- Avoid loss of information by capturing history. When a developer leaves your team, if you have no track of the work, you lose his/her knowledge about the software creation. Tracing project items through the development process helps future developers to understand the software life.
- Facilitate process improvement. Tracking software development helps you understand what has actually been done. Understanding how you build software, you can identify where your team is strong and where it has difficulties. So you can help them improve the way they work.
How to achieve a complete traceability on the overall software development lifecycle
To do so effectively and efficiently, you must choose a reliable tool with relationships created as automated as possible. Keep in mind that a simple Microsoft Excel table may not be enough. You need a robust traceability tool that is:
- Integrated – providing the ability to create relationships between requirements and any other types of information of the software: documents, features, defects, code revisions, tests, jobs, discussions and so on.
- Bi-directional – from requirements to end products and from end products back to requirements.
- Methodology agnostic to support both agile and traditional processes. Traceability is a key point for building a product satisfying the final users’ expectations, something essential in all software development methodologies.
Achieve traceability with Tuleap Enterprise
Tuleap Enterprise facilitates linking between requirements, code, issues, reviews, tasks and tests. From the first requirements to the final file release with test campaigns, achieve ISO and industry standards, being able to trace any items through the project life.
Regulatory compliance with Tuleap
Companies with demanding ISO and standard regulation compliance hit quality software development with Tuleap Enterprise: