Die Nachverfolgbarkeit von Anforderungen ist weithin als Best Practice für die Entwicklung anerkannt, um sicherzustellen, dass alle Anforderungen implementiert werden und dass alle mit der Entwicklung verbundenen Artefakte auf eine oder mehrere Anforderungen zurückverfolgt werden können. Die Norm ISO 26262 geht dabei einen Schritt weiter, indem sie bidirektionale Nachverfolgbarkeit fordert und ein konstantes Schwergewicht auf die Notwendigkeit der Ableitung einer Entwicklungsebene von der darüber befindlichen legt. In Teil 6, § 7.4.4, wird dies mit folgenden Worten dargelegt: „Das Design der Software-Architektur soll bis hin zu der Ebene entwickelt werden, wo die Software-Einheiten, die als unteilbar angesehen werden, identifiziert sind.“
Zwar ist und war dies schon immer ein löbliches Prinzip, aber in letzter Minute durchgeführte Änderungen der Anforderungen oder des Codes zur Korrektur von während der Tests identifizierten Problemen wirken dem entgegen.
Trotz bester Absichten verfallen viele Projekte einem System disintegrierter Software-Entwicklung, bei dem Anforderungen, Entwurf, Implementierung und Testen auf Artefakte in isolierten Entwicklungsphasen durchgeführt werden. Diese Isolation resultiert in unzureichenden Verbindungen zwischen Anforderungen, Entwicklungsstadien und/oder Entwicklungsmannschaften. Eine solche problematische Situation tritt in der Automobilindustrie noch verschärft auf, da dort geografisch disparate Entwicklungen – häufig auch noch mit Kommunikationsproblemen verbunden – zu finden sind.
Diese Situationen können jedoch auch genauso leicht bei Projekten eintreten, bei denen hoch entwickelte Anforderungs-Management-Werkzeuge, Entwurfswerkzeuge, IDEs und Test-Tools eingesetzt werden. Dazu kommt es in der Regel, weil viele Anforderungs-Management-Werkzeuge eine zentralisierte, datenbankartige Architektur und Applikationsmodelle verwenden. Diese Implementationen verfügen über große Funktionsvielfalt, um hohe Qualität und gutes Management in der Anforderungsdomäne zu fördern, jedoch über wenig, um die Arbeiten auf nachgelagerter Ebene zu unterstützen, wo Projekte entwickelt, implementiert und getestet werden.
Die traditionelle Darstellung der Software-Entwicklung zeigt, wie jede Phase in die nächste übergeht, vielleicht mit Rückkopplungsschleifen zu früheren Phasen, und einen umgebenden Rahmen aus Konfigurations-Management und Prozessen (z.B. Agile, RUP). Nachverfolgbarkeit wird als Teil der Beziehungen zwischen Phasen angesehen; der Mechanismus, durch den nachvollziehbare Verbindungen aufgezeichnet werden, wird jedoch selten angegeben. Die Realität sieht so aus, dass zwar jede einzelne Phase dank der Investition in fortschrittliche Werkzeugtechnologie effizient durchgeführt werden kann, dies jedoch nur selten automatisch zu einer Nachvollziehbarkeit zwischen Entwicklungsebenen beiträgt. Als Resultat werden die Verbindungen untereinander über die Dauer der Laufzeit von Projekten immer schlechter aufrechterhalten. Das Resultat sind fehlende oder nur oberflächliche Gegenproben zwischen Anforderung und Implementierung und daraus folgende Unzulänglichkeiten beim fertigen System.