Tout projet comporte des risques à piloter, des demandes client à prendre en compte et des contraintes à manager. Les exigences d'un projet, notamment lors de la création de logiciels, doivent être définies et gérées pour éviter l'effet scope creep.
Qu'est-ce que la gestion des exigences ?
La gestion des exigences est composée d'une suite de processus récurrents qui jalonnent et caractérisent la gestion de projet. Elle aide à respecter les attentes et les critères à intégrer dans le produit à élaborer, permet la gestion des changements et évite la dérive du périmètre du projet.
Quels types d'exigences existe-t-il ?
En émettant des exigences, les parties prenantes expriment soit des capacités soit des contraintes liées au projet. Elles décriront les volontés du client, mais également les nécessités liées au développement du produit. Il existe trois niveaux d'abstraction dans l'expression des exigences, elles sont relatives aux besoins, aux utilisateurs ou au système. Les exigences ne sont constituées ni par des besoins ni par des spécifications du logiciel, elles expriment des problèmes et non des solutions.
Exigences fonctionnelles
Les exigences fonctionnelles sont formulées sous forme de services rendus par le produit. Elles traitent d'un ou plusieurs éléments concernant l'objet, la fonction ou l'état du système. Elles définissent ce que doit faire le logiciel ou l'application à développer, ce que l'utilisateur peut attendre de son fonctionnement.
Les exigences fonctionnelles fixent donc le système de base, ce qu'il pourra faire et ne pas faire, la manière dont le système va réagir aux différentes interactions. Elles désignent la façon dont le système fonctionne d'une manière précise selon les attentes des utilisateurs et sont exprimées sous forme de processus opérationnels.
Exigences non fonctionnelles
Les exigences non fonctionnelles sont en rapport avec la manière dont le système s'exécute, mais n'ont pas de conséquences sur ce que fait concrètement le système. Par exemple, le fait de cliquer sur un onglet pour qu'il apparaisse est une exigence fonctionnelle et le fait que la page s'affiche en 1 seconde est une exigence non fonctionnelle.
Définies autour de l'expérience utilisateur, elles mettent ainsi l'accent sur la convivialité, la sécurité, la performance et la disponibilité du système. Les exigences non fonctionnelles sont axées sur la fiabilité du logiciel ou de l'application, son efficacité ainsi que les critères de maintenance et de ré-utilisabilité.
Comment formuler des exigences dans la gestion de projet ?
La formulation des exigences induit la rédaction d'un document de spécification des exigences, ou référentiel.
La rédaction des exigences doit suivre des règles précises pour être efficace et efficiente. Les exigences doivent exprimer un besoin utilisateur complet et être parfaitement comprises par toutes les parties prenantes du projet. Le langage utilisé doit donc être clair et courant, privilégier la formulation active et exclure toute ambiguïté. Comme lors de la rédaction de documents techniques, le concept de cohérence terminologique est ici impératif : toujours nommer les choses de la même manière. De même, les expressions utilisées doivent aller droit au but.
Ni contradictoires ni redondantes, les exigences sont compatibles entre elles, classées selon leur type et font l'objet d'une priorisation. Définies en entités distinctes, elles comportent toutes un critère de validation intrinsèque inscrit dès la phase de rédaction.
Quelle démarche adopter pour gérer les exigences ?
- Identifier les exigences
- Examiner les exigences
- Préciser les exigences
- Formaliser les exigences
- Gérer les exigences durant la réalisation du projet
La démarche visant à gérer les exigences d'un projet passe par ces différentes phases tout au long desquelles les méthodes Agile sont applicables.
Identifier les exigences
Différentes sources sont utilisables pour recueillir les exigences : le cahier des charges, l'avant-projet ou les études marketing par exemple. De même, chaque contact avec le client est une occasion de récolter et d'affiner ses besoins. Il est néanmoins nécessaire d'être attentif lors de cette phase de consultation des sources. Certaines peuvent en effet être floues, peu compréhensibles ou ne pas prendre en compte toutes les parties prenantes. De plus, certaines exigences implicites peuvent ne pas y être exposées.
Identifier les exigences signifie également de se détacher des contraintes imposées par les facteurs techniques. Il s'agit de toutes les lister, même celles qui paraissent irréalisables de prime abord. C'est là qu'entrent en compte les méthodes Agile qui se concentrent sur les interactions et la collaboration avec le client pour faire ressortir ses envies sans connaissance réelle des limites techniques.
Examiner les exigences
Pour une bonne gestion des exigences, il s'avère nécessaire de les comprendre dans leur intégralité et de vérifier leur cohérence. Une compréhension approximative impliquera des ambiguïtés qui à leur tour entraîneront souvent de mauvais choix. Il est alors nécessaire de remonter aux besoins réels en se concentrant sur la demande du client et de l'utilisateur final.
Cet examen nécessite de vérifier si le critère de validation de l'exigence la rend testable. Ce principe de testabilité de l'exigence permet d'éviter tout manque de précision. Cette opération est particulièrement délicate pour les exigences non fonctionnelles. En effet, il n'est pas toujours simple de trouver des critères de validation de concept comme l'utilisabilité ou la performance d'un logiciel ou d'un produit. L'utilisation de méthodes Agile, axées sur la relation de communication bilatérale avec le client, s'avère alors fortement indiquée.
Préciser les exigences
Le but est ici de faire que chaque exigence soit comprise de toutes les parties prenantes au projet. Une exigence n'est pas une solution, mais elle doit répondre à un objectif. La question primordiale ici est le pourquoi de l'exigence. Est-elle vraiment opportune ? Une exigence adéquate est nécessaire, exprimée avec simplicité, faisable, testable et appropriée. Elle se réfère donc à un besoin exprimé par le client ou par les utilisateurs. L'exigence va identifier un seul aspect du système par des mots précis et explicites. Comme vu précédemment, la précision des exigences requiert également la définition de leur degré de priorité.
Formaliser les exigences
Le référentiel doit comporter en avant-propos l'objectif et une présentation succincte du projet pour contextualiser les exigences. Chacune des exigences exprimées doit ensuite contribuer à l'objectif initialement fixé.
En méthodologie Agile, trois présentations différentes sont envisageables lors de la rédaction du document de spécification des exigences.
- Le work breakdown structure (WBS) morcelle les exigences en éléments plus restreints avec la liste des tâches correspondantes.
- Le témoignage utilisateur permet de rédiger la description des exigences du point de vue de l'utilisateur final.
- La définition d'un cas d'utilisation expose les étapes du processus exécutif avec un but précis.
Gérer les exigences durant la réalisation du projet
Toute gestion de projet implique de multiples changements tout au long de son exécution. Une approche Agile évite toute dérive du périmètre, ou scope creep.
L'approche Agile apporte une flexibilité plus importante que pour les projets gérés en cascades. La rapidité avec laquelle elle permet de répondre aux différentes demandes de changement en fait une excellente méthode de gestion des exigences. Lors de la réalisation du projet, les équipes sélectionnent les exigences qu'elles vont traiter dans une itération. En fin d'itération, elles vont fournir au client une version partielle, mais utilisable du produit et attendre les retours pour définir les suites à donner au projet. Ces informations remontées par le client et les utilisateurs serviront de base à l'évolution permanente des exigences et à la définition des prochaines itérations. De cette manière, la méthode Agile traite les exigences au fur et à mesure de leur évolution. Attention, il sera toutefois nécessaire de définir une première liste de ces exigences avant toute mise en production d'un projet !
Pour aller plus loin, téléchargez ce guide gratuit et optimisez votre gestion de projet en adoptant la méthode et les outils qui correspondent le mieux à votre activité.
La gestion des exigences agiles : comment s'adapter aux changements tout en maintenant le cap ?
GUIDE ET MODÈLE GRATUITS : GESTION DE PROJET
Commencez à gérer efficacement vos projets pour atteindre vos objectifs et assurer la conformité des livrables.
Télécharger gratuitementMis à jour :
Publié :
Tout projet comporte des risques à piloter, des demandes client à prendre en compte et des contraintes à manager. Les exigences d'un projet, notamment lors de la création de logiciels, doivent être définies et gérées pour éviter l'effet scope creep.
Qu'est-ce que la gestion des exigences ?
La gestion des exigences est composée d'une suite de processus récurrents qui jalonnent et caractérisent la gestion de projet. Elle aide à respecter les attentes et les critères à intégrer dans le produit à élaborer, permet la gestion des changements et évite la dérive du périmètre du projet.
Quels types d'exigences existe-t-il ?
En émettant des exigences, les parties prenantes expriment soit des capacités soit des contraintes liées au projet. Elles décriront les volontés du client, mais également les nécessités liées au développement du produit. Il existe trois niveaux d'abstraction dans l'expression des exigences, elles sont relatives aux besoins, aux utilisateurs ou au système. Les exigences ne sont constituées ni par des besoins ni par des spécifications du logiciel, elles expriment des problèmes et non des solutions.
Exigences fonctionnelles
Les exigences fonctionnelles sont formulées sous forme de services rendus par le produit. Elles traitent d'un ou plusieurs éléments concernant l'objet, la fonction ou l'état du système. Elles définissent ce que doit faire le logiciel ou l'application à développer, ce que l'utilisateur peut attendre de son fonctionnement.
Les exigences fonctionnelles fixent donc le système de base, ce qu'il pourra faire et ne pas faire, la manière dont le système va réagir aux différentes interactions. Elles désignent la façon dont le système fonctionne d'une manière précise selon les attentes des utilisateurs et sont exprimées sous forme de processus opérationnels.
Exigences non fonctionnelles
Les exigences non fonctionnelles sont en rapport avec la manière dont le système s'exécute, mais n'ont pas de conséquences sur ce que fait concrètement le système. Par exemple, le fait de cliquer sur un onglet pour qu'il apparaisse est une exigence fonctionnelle et le fait que la page s'affiche en 1 seconde est une exigence non fonctionnelle.
Définies autour de l'expérience utilisateur, elles mettent ainsi l'accent sur la convivialité, la sécurité, la performance et la disponibilité du système. Les exigences non fonctionnelles sont axées sur la fiabilité du logiciel ou de l'application, son efficacité ainsi que les critères de maintenance et de ré-utilisabilité.
Comment formuler des exigences dans la gestion de projet ?
La formulation des exigences induit la rédaction d'un document de spécification des exigences, ou référentiel.
La rédaction des exigences doit suivre des règles précises pour être efficace et efficiente. Les exigences doivent exprimer un besoin utilisateur complet et être parfaitement comprises par toutes les parties prenantes du projet. Le langage utilisé doit donc être clair et courant, privilégier la formulation active et exclure toute ambiguïté. Comme lors de la rédaction de documents techniques, le concept de cohérence terminologique est ici impératif : toujours nommer les choses de la même manière. De même, les expressions utilisées doivent aller droit au but.
Ni contradictoires ni redondantes, les exigences sont compatibles entre elles, classées selon leur type et font l'objet d'une priorisation. Définies en entités distinctes, elles comportent toutes un critère de validation intrinsèque inscrit dès la phase de rédaction.
Quelle démarche adopter pour gérer les exigences ?
Comment optimiser votre gestion de projet ?
Le guide et les modèles pour découvrir les bons outils de gestion de projet.
Télécharger
Tous les champs sont obligatoires.
Merci d'avoir soumis le formulaire
Cliquez sur le lien pour accéder au contenu en tout temps
La démarche visant à gérer les exigences d'un projet passe par ces différentes phases tout au long desquelles les méthodes Agile sont applicables.
Identifier les exigences
Différentes sources sont utilisables pour recueillir les exigences : le cahier des charges, l'avant-projet ou les études marketing par exemple. De même, chaque contact avec le client est une occasion de récolter et d'affiner ses besoins. Il est néanmoins nécessaire d'être attentif lors de cette phase de consultation des sources. Certaines peuvent en effet être floues, peu compréhensibles ou ne pas prendre en compte toutes les parties prenantes. De plus, certaines exigences implicites peuvent ne pas y être exposées.
Identifier les exigences signifie également de se détacher des contraintes imposées par les facteurs techniques. Il s'agit de toutes les lister, même celles qui paraissent irréalisables de prime abord. C'est là qu'entrent en compte les méthodes Agile qui se concentrent sur les interactions et la collaboration avec le client pour faire ressortir ses envies sans connaissance réelle des limites techniques.
Examiner les exigences
Pour une bonne gestion des exigences, il s'avère nécessaire de les comprendre dans leur intégralité et de vérifier leur cohérence. Une compréhension approximative impliquera des ambiguïtés qui à leur tour entraîneront souvent de mauvais choix. Il est alors nécessaire de remonter aux besoins réels en se concentrant sur la demande du client et de l'utilisateur final.
Cet examen nécessite de vérifier si le critère de validation de l'exigence la rend testable. Ce principe de testabilité de l'exigence permet d'éviter tout manque de précision. Cette opération est particulièrement délicate pour les exigences non fonctionnelles. En effet, il n'est pas toujours simple de trouver des critères de validation de concept comme l'utilisabilité ou la performance d'un logiciel ou d'un produit. L'utilisation de méthodes Agile, axées sur la relation de communication bilatérale avec le client, s'avère alors fortement indiquée.
Préciser les exigences
Le but est ici de faire que chaque exigence soit comprise de toutes les parties prenantes au projet. Une exigence n'est pas une solution, mais elle doit répondre à un objectif. La question primordiale ici est le pourquoi de l'exigence. Est-elle vraiment opportune ? Une exigence adéquate est nécessaire, exprimée avec simplicité, faisable, testable et appropriée. Elle se réfère donc à un besoin exprimé par le client ou par les utilisateurs. L'exigence va identifier un seul aspect du système par des mots précis et explicites. Comme vu précédemment, la précision des exigences requiert également la définition de leur degré de priorité.
Formaliser les exigences
Le référentiel doit comporter en avant-propos l'objectif et une présentation succincte du projet pour contextualiser les exigences. Chacune des exigences exprimées doit ensuite contribuer à l'objectif initialement fixé.
En méthodologie Agile, trois présentations différentes sont envisageables lors de la rédaction du document de spécification des exigences.
Gérer les exigences durant la réalisation du projet
Toute gestion de projet implique de multiples changements tout au long de son exécution. Une approche Agile évite toute dérive du périmètre, ou scope creep.
L'approche Agile apporte une flexibilité plus importante que pour les projets gérés en cascades. La rapidité avec laquelle elle permet de répondre aux différentes demandes de changement en fait une excellente méthode de gestion des exigences. Lors de la réalisation du projet, les équipes sélectionnent les exigences qu'elles vont traiter dans une itération. En fin d'itération, elles vont fournir au client une version partielle, mais utilisable du produit et attendre les retours pour définir les suites à donner au projet. Ces informations remontées par le client et les utilisateurs serviront de base à l'évolution permanente des exigences et à la définition des prochaines itérations. De cette manière, la méthode Agile traite les exigences au fur et à mesure de leur évolution. Attention, il sera toutefois nécessaire de définir une première liste de ces exigences avant toute mise en production d'un projet !
Pour aller plus loin, téléchargez ce guide gratuit et optimisez votre gestion de projet en adoptant la méthode et les outils qui correspondent le mieux à votre activité.
Partager cet article sur les réseaux sociaux
Articles recommandés
Le modèle ADKAR pour la gestion du changement
Gestion de projet : définition, étapes, outils
Comment faire une matrice RACI pour les responsabilités d'un projet ?
Comment faire un diagramme de PERT ?
Qu'est-ce qu'un diagramme de Gantt et comment le créer ? [+modèle inclus]
Comment faire une note de cadrage ? [Avec exemple]
Chemin critique : comment optimiser sa gestion de projet
Comment rédiger un appel d'offres en 6 étapes ? [+ modèle gratuit]
Burndown : définition, fonctionnement et interprétations
Le management visuel : une approche visuelle pour une gestion efficace