Les exigences Agile

Organisation usuelle des exigences

Le sujet des exigences et des tests de ces dernières est un sujet sensible mais nécessaire en Agile… Je l’ai d’ailleurs appris à la dure!

Sur le papier c’est assez simple, on a un produit. Ce produit est composé de macro fonctionnalités permettant de le définir. Ces macro-fonctionnalités sont les « epics », elles sont composées de « Feature » qui sont des éléments plus petits mais trop grand pour être INVEST et donc une US (User Story), l’élément élémentaire des produits Agile.

A noter: il existe d’autres dénomination, je pense notamment à US/Epic/initiatives.

Une architecture d’un produit Agile ressemble donc à cela:

L’élément feature n’est pas toujours présent, le passage se fait parfois directement de l’épique à l’US.

Pour rappel, une US INVEST veut dire:

  • I: indépendante, ne compte pas sur un autre élément qui doit être développé en même temps ou avant
  • N: négociable, il est possible de discuter autour de cet élément, de son fonctionnement, de son implémentation…
  • V: valeur, cet élément a une valeur métier
  • E: estimable, il est possible d’estimer un effort pour développer cet US
  • S: petit (small), cet élément peut être développer sur 1 incrément (sprint en scrum)
  • T: testable, on peut tester la fonctionnalité.

Vous pouvez remarquer qu’il existe des éléments non testables qui ont pourtant de la valeur. On parle alors de Technical Story (TS) ou, comme SAFe, d’enablers. Une feature peut être composée de ces enablers ou TS.

Maintenant que l’organisation des exigences est connue il est temps d’organiser ses tests!

Le test des exigences Agile

Le test des nouvelles US est assez simple en terme d’exigence. L’équipe doit valider en profondeur (à travers des tests de validation) le comportement de la nouvelle fonctionnalité. Les tests dédiés (qui ne seront, pour la plupart, pas réutilisés) sont liés à une US spécifique.

Lorsque cette US est implémentée il est important de mettre à jour sa campagne de régression et généralement de l’incrémentée de quelques tests conçus et écrits pour cette US.

Un problème se présente alors. Notre régression est composée de tests d’US. Ces mêmes US sont finies et donc non maintenues. Par ailleurs le produit continue à évoluer avec de nouvelles US qui vont annuler ou modifier l’intégralité ou une partie des US qui ont déjà été développée. Cela entraîne à moyen terme de gros problème quant à notre patrimoine de test car il est lié au feuilles d’un arbre d’exigence qui les a potentiellement perdues et remplacées!

Arrivant à ce constat lors d’une de mes missions il y a maintenant quelques années j’ai du retravailler totalement mon référentiel d’exigence afin d’avoir une meilleure vision du produit mais surtout une vision qui reste à jour!

Les faits étaient implacable: impossible de continuer à garder comme référentiel de base les US. Nous avons donc choisi de restructurer notre patrimoine et avons adopté une vue plus haut niveau: les épiques (cela aurait pu être les features).

Les tests de validations restent attachés aux US. Les tests de régression, maintenus, ont alors été liés à des épiques.

Conclusion

Les US sont des éléments de travail éphémères dans la construction d’un produit. Elles sont essentielles dans le travail quotidien mais ne peuvent servir de base pour un référentiel pérenne d’exigences et donc de test.

Afin d’assurer cette vie sur le long terme il est essentiel d’utiliser un référentiel d’exigence produit qui reste vivant. Cela peut passer par les features, les épiques, de la documentation ou tout autre support mais l’essentiel est d’avoir une base solide qui permette de bien comprendre le produit et qui serve de base à notre campagne de régression.

Pensez à rejoindre le groupe « Le métier du test » si vous souhaitez échanger sur le test

Merci à tous ceux qui mettent « j’aime », partagent ou commentent mes articles

N’hésitez pas à faire vos propres retours d’expérience en commentaire.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Agilité

Le test « à distance » en Agile

Jeudi 17 octobre dernier s’est tenue une table ronde particulièrement enrichissante pendant la STLS. Une des questions abordées était « Peut-on faire du test Agile à distance ?« . Pour être honnête j’ai été très surpris des réponses et des différents retours d’expériences positifs sur cette pratique. En effet, jusqu’à maintenant les

Lire la suite »
Automatisation

Outil de test: automatisation IHM avec Cypress

Cet article est le premier d’une nouvelle série dans la taverne qui tend à présenter succinctement différents outils de test. Cypress en bref Cypress est un outil d’automatisation de test IHM (Interface graphique) open source concurrent à Selenium qui dispose d’une communauté active et réactive. Cypress propose d’automatiser ses tests

Lire la suite »
Interview

Eric Blanquet: Chef de projet test

Bonjour, qui êtes-vous, quel est votre métier et quelles sont vos activités professionnelles ? Bonjour, je suis Eric Blanquet et je travaille dans le test logiciel depuis 2011. Après un certain nombre de missions m’ayant amené à toucher à un peu tous les métiers du test (écriture, exécution manuelle, exécution automatique,

Lire la suite »