Anforderungen

Anforderungen (requirements) sind der Ausgangspunkt jeder Softwareentwicklung. Sie beschreiben, was ein System leisten (funktionale Anforderungen) und unter welchen Qualitätsaspekten dies geschehen soll (nicht-funktionale Anforderungen) und sind abzugrenzen von den Rahmenbedingungen (constraints) der Umgebung.

Je größer ein Projekt, desto wichtiger ist eine strukturierte Vorgehensweise in der Anforderungsanalyse (requirements engineering), um teure Fehler zu vermeiden. Als Minimalstandard ist die Ablage von Anforderungen in einem ALM-Tool/Ticketsystem üblich. Besser ist je nach Vorgehensmodell die Erhebung von User Stories (agiles Vorgehen) oder die Abstimmung eines Pflichtenheftes (klassisches Vorgehen).

Experten schätzen, dass etwa 25 % der Arbeit in einem Projekt der Anforderungserhebung und -verwaltung zuzurechnen ist. Fehler in den Anforderungen wirken sich im Allgemeinen viel stärker auf Projektkosten und -termine aus als etwa Fehler in der Umsetzung.