En ingénierie des systèmes et en ingénierie logicielle, l'analyse des exigences comprend les tâches qui ont pour but de déterminer les exigences d'un système nouveau ou à modifier, en prenant en compte le conflit possible entre les exigences de diverses parties prenantes, telles que les utilisateurs. L'analyse des exigences est critique pour le succès d'un projet.
Les interviews de parties prenantes sont une méthode communément employée dans l'analyse des exigences. En général il est nécessaire de faire un choix, le coût étant un facteur pour décider qui interviewer. Ces interviews peuvent révéler des exigences qui n'avaient pas été envisagées auparavant comme faisant partie du champ du projet, et des exigences peuvent entrer en contradiction. Cependant, une partie prenante doit avoir une idée de ses attentes ou devra avoir visualisé ses exigences.
Un nouvel enjeu majeur dans les années 1990 a été l'attention portée à l'identification des parties prenantes. On reconnaît de plus en plus que les parties prenantes ne se limitent pas à l'organisation qui emploie l'analyste. Les autres parties prenantes sont :
Steve McConnell, dans son livre Rapid Development, détaille un certain nombre de manières selon lesquelles les utilisateurs peuvent ne pas maîtriser l'ensemble des exigences :
Cela peut conduire à une situation où les exigences des utilisateurs continuent de changer même lorsque le développement du système ou du produit a commencé.