
Quels sont les critères d'acceptation en développement logiciel ? Définition et cas d'utilisation
Dans le processus de création d'un produit, chaque personne travaillant sur un problème donné peut avoir une approche légèrement différente pour le résoudre. Ces différences n'ont pas besoin d'être grandes. Il suffit d'interpréter l'idée différemment pour que la solution finale ne convienne pas pleinement au propriétaire du produit. Établir des critères d'acceptation clairs et transparents aidera à rationaliser votre développement logiciel, ainsi qu'à prévenir les malentendus possibles.
Quels sont les critères d'acceptation ? Définition
Les critères d'acceptation consistent en une liste de conditions utilisées dans la méthodologie Agile. Ils constituent une référence aux user stories et complètent les objectifs commerciaux du client. Ils définissent les conditions répondant aux besoins des utilisateurs et du client, ainsi que les objectifs des fonctionnalités individuelles. En définissant correctement les critères d'acceptation, l'équipe de développement est capable de comprendre pleinement comment aborder le problème.

Qui devrait créer les critères d'acceptation ?
La personne responsable de la création des critères devrait avoir une large connaissance du projet. Ceci est particulièrement important car, dans le processus de développement logiciel, les critères définiront les conditions à remplir par les fonctionnalités individuelles. Dans de nombreux cas, le meilleur choix sera le client qui est en contact avec le projet depuis le tout début. Cependant, le chef de produit ou le propriétaire du produit est également un choix fréquent.
Critères d'acceptation vs user stories
Les critères d'acceptation sont basés sur des user stories individuelles. Celles-ci, à leur tour, sont de courtes descriptions du problème. Leur but est de signaler et de définir quel est le problème. Alors pourquoi devez-vous spécifier les critères d'acceptation, et en quoi diffèrent-ils des user stories ? Les critères d'acceptation définissent précisément les cas individuels que la solution doit remplir pour être acceptée. Ils complètent l'identification du problème en spécifiant quelles fonctionnalités une solution prête devrait fournir. Les critères devraient également être construits de manière à ne laisser aucun doute quant à la performance correcte du produit.
Pourquoi les critères d'acceptation sont-ils importants, et quelles sont leurs caractéristiques ?
La définition des critères d'acceptation est un point clé, car ils reflètent les besoins des utilisateurs. Les critères influencent le processus de développement logiciel en définissant sur quoi l'équipe de développement doit se concentrer. Pour que les critères d'acceptation remplissent leur objectif, ils doivent répondre à plusieurs exigences.
- Définir clairement les objectifs de la solution. Cela permet d'éviter les malentendus entre l'équipe de développement et le client.
- Forme courte. Il est préférable que les critères décrivent séparément les hypothèses individuelles, sans descriptions inutiles et longues.
- Description des cas individuels. En plus d'identifier des exigences claires qui doivent être satisfaites, les critères d'acceptation devraient retourner un résultat oui ou non.
- Des tests peuvent être créés à partir de leur base. Grâce à des exigences claires que le logiciel doit satisfaire, il est également possible de créer des tests qui vérifient ces critères.
- Permettre de définir la portée du travail et le temps estimé. En définissant précisément les critères d'acceptation pour une solution donnée, il est possible de déterminer la complexité du problème.
Que se passe-t-il s'il n'y a pas de critères d'acceptation dans la tâche ?
En l'absence de critères d'acceptation, estimer le temps nécessaire peut être une tâche assez difficile au stade du début du travail. En raison de l'absence de conditions d'acceptation clairement définies, l'équipe travaillant sur la mise en œuvre du logiciel peut créer un artefact qui diffère des attentes du client malgré l'achèvement de la user story. L'absence de critères d'acceptation définis avant le début du travail entraîne des compilations et des modifications de code qui peuvent être évitées d'une manière simple et rapide en spécifiant quelles conditions doivent être remplies par la solution terminée.
Types et formats de critères d'acceptation
Les critères d'acceptation ont un but unique mais peuvent être présentés de plusieurs manières différentes. Par conséquent, les critères peuvent être divisés en plusieurs catégories :
1. Présentation du scénario de comportement. Ils se caractérisent par les phrases suivantes : quand, si, en tant que, après, et où. Ils définissent les circonstances du logiciel et le comportement correct dans une situation donnée. Ce sont les critères les plus couramment utilisés qui permettent une définition facile des tests et fournissent à l'équipe de test des tâches claires.
Si je suis un utilisateur authentifié et que j'ai eu un compte actif depuis plus d'un an, je peux vérifier la date de création du compte dans les paramètres du compte.
Si un utilisateur authentifié perd sa connexion Internet, il verra une erreur "Échec de connexion".
2. Liste de contrôle courte des objectifs. Elle reflète l'ensemble des règles qui décrivent le comportement du logiciel. Sur la base de ces principes, des scénarios spécifiques peuvent être créés. Ce type de critères est présenté sous forme de multiples points.
- Le bouton de recherche est dans l'en-tête.
- Le bouton de recherche est bleu avec une bordure blanche.
- Le champ de recherche permet de saisir uniquement des chiffres.
3. Type de critères personnalisé. Il aide dans des scénarios plus individuels où une définition du problème plus précise est requise. C’est souvent une combinaison de deux types.
Bonnes pratiques dans la création de critères d'acceptation
L'approche du problème et la définition des critères peuvent s'avérer être une tâche difficile, mais quelques bonnes pratiques peuvent vous aider à atteindre les objectifs de la question des critères d'acceptation.
1. Communication avec l'équipe. Parler à l'équipe de développement peut apporter de nombreux bons résultats, vous permettant d'examiner le problème et de l'aborder sous un angle différent. Vous ne devriez pas avoir peur des compromis qui peuvent résulter de telles consultations.
2. Bien connaître le projet et ses objectifs. Sans une compréhension adéquate du problème et de ses circonstances, il est difficile de déterminer quelle peut être la meilleure approche pour le résoudre.
3. Ne vous intéressez pas trop aux problèmes techniques. Les critères d'acceptation doivent être définis dans un langage commun. Tout le monde ne peut pas comprendre la technologie et l'approche correcte.
4. Définissez correctement la condition de réalisation. Les critères ne devraient pas être trop généraux, ni trop précis, se concentrant sur des détails inutiles. Ils devraient être courts et permettre à l'équipe de développement de proposer une solution appropriée.
5. Commencez à documenter les critères d'acceptation dès le début. Ne laissez pas cela à un stade ultérieur du processus. Les critères d'acceptation doivent être connus et clairs lorsque l'équipe commence à travailler sur le logiciel.
Critères d'acceptation correctement définis - exemples
User story : En tant qu'utilisateur connecté d'un service de streaming, j'aimerais pouvoir vérifier le statut de mon paiement afin de savoir quand payer pour le service.
Critères d'acceptation :
1. Si je suis un utilisateur authentifié et que j'ai un abonnement actif, je peux voir l'information sur le statut de mon paiement dans l'onglet des paramètres du compte.
2. Après m'être connecté, je peux voir la date de paiement dans les paramètres du compte.
3. Après m'être connecté, je peux voir l'information sur la manière de payer pour le service dans les paramètres du compte.
4. Si le service est indisponible, je vois le texte "Veuillez réessayer dans quelques minutes."
Jetons un œil à un autre bon exemple des critères d'acceptation.
User story : En tant qu'administrateur de site web, je voudrais pouvoir mettre des graphiques sur la sous-page de portfolio.
Critères d'acceptation :
1. Le panneau d'administration devrait permettre d'ajouter un fichier au portfolio pour les versions mobile et bureau.
2. Je peux voir le fichier pour la version mobile sur un téléphone quand je vais sur la page de portfolio.
3. Je peux voir le fichier pour la version bureau sur un ordinateur quand je vais sur la page de portfolio.
4. Les graphiques devraient toujours être visibles avant le reste du contenu du site web.
Critères d'acceptation imprécis - exemples
User story : En tant qu'utilisateur connecté d'un service de streaming, je voudrais pouvoir vérifier le statut de mon paiement afin de savoir quand payer pour le service.
Critères d'acceptation :
1. L'utilisateur peut voir les statuts de paiement.
2. Je peux voir les informations de paiement dans les paramètres du compte.
3. Lorsqu'une erreur se produit, je peux voir l'information appropriée.
Dans ce cas, les critères ne définissent pas les détails que la solution devrait satisfaire. Ils sont trop généraux et peuvent entraîner des différences de compréhension du problème par l'équipe de développement.
Voyons maintenant à quoi ressembleront les critères d'acceptation incorrects dans le cas d'une notification de l'administrateur du site web.
User story: En tant qu'administrateur de site web, je voudrais pouvoir mettre des graphiques sur mon site web.
Critères d'acceptation :
1. Le panneau d'administration devrait permettre d'ajouter un fichier.
2. Je vois les graphiques sur le site web.
3. Dans certains cas, les graphiques devraient être visibles avant le reste du contenu de la page web.
Comme c'était le cas avec le service de streaming, les critères ont été définis trop largement. Ils ne présentent pas toutes les fonctionnalités que la solution prête doit remplir, et que le client attend.
Critères d'acceptation – résumé
Négliger les critères d'acceptation peut causer de nombreux problèmes, et le processus même de les déterminer permet de documenter les attentes du client. En outre, les critères apportent des avantages à tous en introduisant une communication claire et transparente au sein de l'équipe. Bien que différentes situations appellent différentes solutions, les critères d'acceptation s'appliquent partout en raison de leurs différents types et formats. Et tester de nouveaux types de critères qui vous seront utiles est une bonne pratique.
Au cours de notre travail, par exemple, lorsque nous développons des logiciels sur mesure, nous créons régulièrement les critères d'acceptation. Par conséquent, nous serons heureux de vous conseiller sur la façon de préparer de telles hypothèses pour votre projet. Nous pouvons également analyser vos autres processus de développement.