Une exigence en ingéniérie informatique est un besoin fonctionnel ou technique que le produit du projet doit satisfaire. Il doit être idéalement sans ambiguité et purement quantitatif.
Example:
Le système doit afficher l'écran mis à jour en moins de 2s une fois le bouton de validation cliqué.
On ne le dira jamais assez: la gestion des exigences est une cause fondamentale de la réussite ou de l'échec d'un projet.
Dans un processus de développement, il est illusoire de croire que l'on n'aura jamais besoin de "revenir en arrière", c'est à dire de retoucher au jeu initial d'exigences. Le versionning d'exigences est une réalité au même titre que le versionning de code.
Dans encore trop de projets, les exigences sont gérées dans des documents Office qu'il est bien difficile de tenir à jour. Heureusement il existe des outils dédiés à la gestion des exigences facilitant la collecte, la collaboration et l'analyse d'impact tout au long du cycle de développement logiciel. On citera Telelogic doors et Borland Caliber mais il en existe d'autres sur le marché.
Ces outils sont en général des modules d'une suite de logiciels couvrant tout les aspects de l'Application Lifecycle Management (planifier, définir, concevoir, tester) à partir d'un repository unique de données.
Une liste des norme et démarches de qualité de service et d'organisation dans le domaine du logiciel et des systèmes d'information :