La taverne du testeur

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 *

culture générale

[ISTQB] L’indépendance des tests

Définition ISTQB L’indépendance des tests est un concept ISTQB très important. Sa définition dans le glossaire officiel est celle-ci: séparation des responsabilités qui favorisent l’exécution d’un test de manière objective [d’après DO-178b] Que retenir ? Le postulat de base du principe de l’indépendance des tests c’est que l’objectivité de tests

Lire la suite »
culture générale

Indicateurs et dérives

Pourquoi avoir des indicateurs ? Les indicateurs sont particulièrement demandés et utilisés. ils servent à piloter, mesurer, chiffrer des ressentis et même à définir des contrats! Ces indicateurs font d’ailleurs souvent l’objet d’objectifs… Ce qui tourne généralement à des dérives car, comme le dit bien la loi de GoodHart: « lorsqu’une

Lire la suite »
culture générale

Quels tests lorsque l’on migre une application vers le Cloud ?

C’est un fait, de plus en plus d’applications sont migrées de serveurs simple au « Cloud ». Les raisons sont multiples, on peut néanmoins retenir celles-ci : le Cloud offre une mutualisation des ressources (moins d’énergie utilisée en moyenne) le Cloud offre un service de disponibilité proche des 100% le

Lire la suite »