Ein Softwaresystem – welche Eigenschaften soll es haben und was sind die Rahmenbedingungen des Systems? Das Requirements Engineering umfasst den Prozess, diese Anforderungen zu ermitteln, darüber hinaus zu spezifizieren und kontinuierlich zu überprüfen.
Die Anforderungsermittlung passiert nicht nur, wenn es um neue Systeme geht, sondern über den ganzen Lebenszyklus eines Systems. Im Wasserfallmodell passiert das eher linear, aber die iterative Vorgehensweise entspricht vielmehr modernen Entwicklungsmethoden.
Anforderungen müssen bestenfalls fortlaufend analysiert und validiert werden. Je besser die Anforderungen geschnitten bzw. operationalisiert sind, umso besser ist die Qualität des Produktes. Mehr und mehr entstehen passende Werkzeuge, um das Requirements Engineering zu unterstützen – von Modellierungssprachen bis zur Satzschablone (User Story).