Requirements Engineering ist eine Königsdisziplin (steuert den Projekterfolg!) im Softwareentwicklungsprozess. Der Fokus liegt bei der Erhebung der Anforderungen, der adäquaten Dokumentation, der Prüfung und Abstimmung mit den Auftraggebern und last but not least der Verwaltung der Anforderungen über den gesamten Lebenszyklus hinweg. Falsche oder unvollständige Anforderungen liefern nicht das gewünschte Projektergebnis und führen zwangsläufig zu Mehraufwand und zusätzlichen Kosten! Je später im Entwicklungsprozess sich eine Anforderung als "falsch" erweist, je zeitaufwendiger und dementsprechend auch teurer ist deren Behebung!
Die Anforderungsspezifikation, in der Regel lösungsneutral, dient einerseits dem Solution Engineering für das Design und die Implementierung der Lösung, anderseits dem Test Engineering für die Erstellung und Verwaltung der Test Cases / Szenarien, die ihrerseits die Grundlage für die Abnahme der entwickelten Lösung bilden.