
Traceability with Automotive SPICE®
- 0 Comments
Now these days, software are being developed for every field we can think of, the software are being developed for the ease of living and what if the development of these software gets difficult!!!
To get this software development easier, Traceability play a vital role, it is one of the important aspects in development of software which makes the development process easier. Developed software often lacks the interconnection among the requirements which out turns in to exasperation of users, developer and what not.
First let us discuss what is traceability
What is Traceability, what are the types of traceability, what role does it play in the development of a software or a system.
What is Traceability!!!
Going by the literal meaning, it is quality of having a source of origin or course of development that may be found or followed.
When we consider the software engineering, Traceability is the ability to link product requirement back to stakeholder (customer) requirement and forward to corresponding architecture design, detailed design, Codes and Test cases.
IEEE standard glossary of software engineering terminology interpret the traceability as below:
The degree to which a relationship can be established between two or more products of the development process, especially products having a predecessor-successor or master-subordinate relationship to one another.’
Bilateral Traceability (Preferred in Automotive SPICE®)
Bilateral Traceability, as the name is telling its own story goes both side, forward and backward, It is the combination of forward and backward traceability, It is preferred in Automotive SPICE® as it not just gives the complete trace between source and final work products but also helps in maintaining consistency across the source and work product developed.
Bidirectional Traceability supports coverage, consistency, and impact analysis
What roles does Traceability play in software or system development!!!
Traceability has impacted the development in quite a good context as it makes the requirement analyst, developers, and testers job easier to get to the exact results what user, stakeholders and customer wanted in the first place.
It is not about building the product right, but also to build the right product, this is an old saying when we are into development of software or system and traceability helps us to maintain this.
It is but obvious, when a software is getting developed, it will have defects and bugs, traceability plays a major role in locating these defects and bugs and fixing them which helps to minimize the failure which results in satisfied users and customers and also helps in to avoid the frustration of developers
It helps in avoiding the quality issues and remove the extra burden of working while release as it helps in the acceptance of software or system.
When we are talking about development, it is related to business and what is most important for business, that is time and cost, if we are good with the traceability, it always helps in reducing the time and cost required while development. It indirectly saves us from that wasted time which is occurred by the failures as it helps in minimizing them due to which the effort that is put in development and testing will also be reduced.
Today is the age in which compliance is one thing which is emphasized to be maintained in every aspect of software development or whatsoever it is, Now compliance with whom!!! The standards and the framework like ISO, IEC, Automotive SPICE®, CMMI, Traceability is one of those quality which ensures the compliance with these standard and framework, which automatically impacts your image in the market.
It is not necessary, that once the requirement are finalized, they are going to be remain same, its rapidly evolving world so are the requirements for the software those are getting developed, Traceability helps in tracing the change at any time in development so that collaboration can be ensured and maintained.
Improvement is one such thing, which is a key to success, Traceability is one, such quality which empower not only the improvement of software or system but also the processes used in the development of software or system.
Now let us jump to Traceability with Automotive SPICE®
Traceability and consistency were there in the same base practice till Automotive SPICE®
V 2.5 and then they were separated in Automotive SPICE® V 3.0.
What is the reason behind this separation!!!
Traceability address relation and coverage between elements across different work products, it can be used for coverage and impact analyses, and requirement status tracking, On the other hand, consistency addresses content and semantics from one process to other.
Both Traceability and Consistency are equally important when assessment is supposed to be done, so to give precise rating to both of these, these both were separated, As in a process you can find the traceability, however there might be some issue with consistency. Traceability support consistency, but that does not mean that if we can achieve rating F in traceability, we will rate consistency as F, therefore, to ensure that these both addressed appropriately, they were separated.
Automotive SPICE® gives the preference to bidirectional traceability, as it is the combination of forward and backward traceability and give the complete transparency of development lifecycle.
In the engineering process. bidirectional traceability base practice is applied between
- Affected work products of the process on the left side of the V model
- Affected work products of the processes on the left side and corresponding processes on the right side of the V model.
- Test cases and test results on the right side of the V model
In the change request management (SUP.10) in PAM (Process Assessment Model) V 3.1 a new base practice is applied for bidirectional traceability as mentioned below:
- Bidirectional traceability between change request and affected work products by the change request. Traceability between the change request and corresponding problem reports
Below is the figure which gives the overview of bidirectional traceability as per Automotive SPICE® V 3.1
As depicted in the below figure, bidirectional traceability has vertical as well as horizontal approach in V model. Let us talk about vertical approach on the left side of V model, first, for engineering processes, it starts with system requirement analysis (SYS.2) wherein bidirectional traceability should be established between stakeholder requirements and system requirements. Then comes in system architecture design (SYS.3) where in bidirectional traceability is expected to be established between system requirements and elements of the system architectural design.
Then drops in software requirements analysis (SWE.1), wherein bidirectional traceability should be established between software requirement and system requirement along with system architecture. Next comes in software architecture design (SWE.2), in which establishment of bidirectional traceability is required between software requirement and software architecture design. Next in the que is software detailed design and unit construction (SWE.3), which involves in establishing the bidirectional traceability between software architectural design and software detailed design and then software detailed design and software units and also it is established between software requirements and software units. Now this is where software development phase ends and testing start. Here Vertical approach finish and horizontal approach begins which comes towards the right side of V model.
First is software unit verification (SWE.4), in which bidirectional traceability is supposed to be there in between software units and static verification results. Then comes in establishing the bidirectional traceability between software detailed design and unit test specification then to unit test results. Moving forward the next process is software integration and integration test (SWE.5) where in it is required to form the bidirectional traceability between software architecture design and test cases included in software integration test specification and then to software integration test results. After the software is fully integrated, then final testing is required before the release which is done in software qualification testing (SWE.6) in which bidirectional traceability is established between software requirements and test cases included in software qualification test specification and then to software qualification test results.
After software qualification testing, system integration and integration test process (SYS.4) comes in the V model in which bidirectional traceability must be established between system architecture design and test cases included in the system integration test specification and then to system integration test results. And in the end the last process of this V model is system qualification test (SYS.5) wherein it was asked to establish the bidirectional traceability between system requirements and test cases included in system qualification test cases and then to system qualification test results.
Till Automotive SPICE® V 2.5, there was no base practice of bidirectional traceability in change request management (SUP.10), However with the introduction of Automotive SPICE® V 3.0, a new base practice was added in change request management in which bidirectional traceability was supposed to be established between change requests and work products affected by the change requests and if in case change request is initiated by a problem then bidirectional traceability is initiated between change request and corresponding problem reports.
Automotive SPICE® in general does not prefer any method, approach or any tool to showcase traceability, it is just that selceted method, tool should be appropriate to handle the complexity of the project. Also Automotive SPICE® ask to maintain the evidence of traceability which are traceability record for engineering processes and change control record for change request management.
Lets talk a little about consistency, as consistency is an integral part of traceability, As per the figure above you’ll see that consistency is also shown along with traceability, it is because traceability support consistency, and it is a important aspect to maintain traceability. Consistency addresses contents and semantics by ensuring that all project related work products are in line with each other across affected parties and not in contradiction to each other and reduces the risk of misinterpretation and faults
In engineering process consistency base practice are applied between:
- Affected work products of the processes on the left side of the V model
- Affected work products of the processes on the left side and corresponding processes on the right side of the V model
In the project management process a base practice is applied for, consistency of estimates, activities, schedules, plans, interfaces and commitments for the project across affected parties.
As an evidence for consistency, review records are defined in Automotive SPICE®.
At last just want to say, maintaning the traceability and consistency will lead to smother transaction in your project, which will avoid frustration in development team, development of your software or system easier and without errors which will lead to satisfied customers.