We were recently asked the following question from one of our clients concerning managing traceability and allocation links:
“When you delete a requirement should you break the link so that it doesn’t continue to show up in Traceability Reports?”
I am very happy to hear from organizations that maintain traceability links for their requirements and use traceability reports to manage their requirements. Allocation (flowdown of requirements from one level of the architecture to another) and tracability (linking requirements to their source or to siblings at the same level) are very important concepts in managing requirements. Done correctly your requirements are all linked together in a “traceability spider web”. Like a spider web, any perturbations to any part the web is felt throughout the web.
So, yes, when a requirement is deleted, you should break the traceabily link. However, this is a complex issue and there are additional actions that need to be considered.
- If you delete a requirement that is in the resulting web, then all traces to/from that requirement must be repaired otherwise you have a set of broken traces.
- If the deleted requirement was a child of a parent requirement at a higher level you need to assess whether or not that parent was impacted by the change. Also you need to assess whether or not the remaining set of children requirements are necessary and sufficient so that when implemented, the intent of the parent requirement is implemented.
- If the deleted requirement was a child of a parent at the same level, as can occur when linking performance requirements to their parent functional requirement, the same thought process and analysis is needed.
- If the deleted requirement traced to a sibling requirement, as can occur when linking interface requirements to their definition and to the other complementary interface requirement, you need to assess the impact. Did that interface go away? If so, can you delete the definition in the interface definition document? Can you delete the complementary interface requirement?
- If the deleted requirement traced to verification requirements, can you delete those verification requirements?
- Finally, if the deleted requirement was a parent and had children requirements traced to it, can you delete those children requirements? If not, then you need to find another suitable parent and trace those children to it.
For more details on the concepts of allocation and traceability also go to the following post “Allocation and Traceability“.
As with all our blog posts, your comments on this topic are welcome.
I you have any other questions, feel free to ask your question on our “Ask the Experts” page and we will do our best to provide a timely response.