Scrum - Méthodes agiles

mardi 22 avril 2008

Exigences et tests, tests et exigences : un ruban de Möbius

Trouvé via le blog de Karl, un article publié dans le très sérieux magazine IEEE Software qui fait l'hypothèse d'une équivalence entre les tests et les exigences. L'article Tests and Requirements, Requirements and Tests: A Möbius strip, est signé de Grigori Melnik et de Robert C. Martin, le célèbre Uncle Bob.

La référence au ruban de Möbius illustre comment les 2 disciplines (exigences et tests) en deviennent une seule lorsque le formalisme augmente.

Dans l'article, les exemples sont en FIT qui propose une représentation tabulaire des tests exigences. FIT est bien adapté aux tests sur les données [1].

Je suis convaincu de cette hypothèse d'équivalence. L'écriture de tests d'acceptation est une technique de spécification, d'autant plus pertinente que les tests sont associés à des histoires d'utilisateur. Je l'applique maintenant sur tous les projets auxquels je participe, mais en utilisant le formalisme BDD plutôt que FIT. J'en ai déjà parlé ici et .

Notes

[1] je vois dans le dernier exemple que FIT permet aussi de spécifier des scénarios d'accès concurrents à une ressource, il va falloir que j'approfondisse l'utilisation du temps dans FIT

flèche Haut de page

mardi 8 avril 2008

Collecte du feedback pendant un sprint

Sur 2 projets Scrum que je coache actuellement nous avons eu à peu près le même besoin, lié à la collecte du feedback.

Lire la suite -->

flèche Haut de page

lundi 10 mars 2008

Deux entrées dans le backlog pour une exigence d'utilisabilité

Dans les applications Web, il existe souvent un rôle secondaire qui a accès à des informations seulement en lecture et qui a besoin d'une ergonomie particulière, soit parce que les personnes qui jouent le rôle ne sont pas expertes dans l'utilisation de l'outil informatique, soit parce que les informations doivent constituer un tableau de bord facilement lisible et permettre d'avoir une vue synthétique. L'ergonomie est essentielle et fait que ces exigences ne sont pas des histoires comme les autres.

Je retrouve ce genre d'exigences dans les 3 projets que je suis actuellement. Dans une première approche, elles sont insérées dans le backlog. Pour les identifier, elles sont classées dans la catégorie (thème) Utilisabilité. Leur traitement nécessite une approche spéciale.

En effet, dans les méthodes agiles, un élément du backlog (une histoire d’utilisateur) est censé être fini à la fin d’une itération et donc ses tests passés. Pour ces exigences concernées par l’utilisabilité, la notion de fini ne repose pas sur des tests qu'on peut décrire à l'avance. Les conditions de satisfaction sont la facilité de compréhension, la facilité d’apprentissage et l'attractivité qui s'évaluent en utilisant. Fini signifie obligatoirement passer par du feedback des utilisateurs et cela ne peut généralement pas être fait à l’intérieur d’une itération. Les utilisateurs potentiels, qui apporteront le feedback, doivent obtenir une première version, l’utiliser pour éventuellement demander de changer le contenu et proposer des évolutions d'IHM.

La solution pour anticiper le feedback du point de vue de la gestion de projet est de scinder une exigence d’utilisabilité en 2 histoires d’utilisateur incluses dans le backlog :

  1. une première qui définit ce qui sera fait pour la première version
  2. une deuxième comme réceptacle du feedback des utilisateurs à la vue de la première version

Evidemment la quantité de feedback n’est pas connue à l’avance. Cependant pour prendre en compte cette histoire dans les plannings, il est possible d’utiliser un coefficient pour l’estimer. Par exemple 30%, ce qui donnerait avec une estimation à 3 de la première version, une estimation de 1 pour la seconde.

Avec ce principe, une exigence d'utilisabilité est représentée dans le backlog par 2 histoires d’utilisateur, avec le même nom suffixé par version 1 et version 2.

Cela implique qu’elle ne sera pas finie en une itération, mais en au moins 2 et probablement 3 :

  • une pour réaliser la première version
  • une pour utiliser et remonter du feedback
  • une troisième pour réaliser la deuxième version

Il conviendra d’organiser les livraisons aux utilisateurs pouvant apporter du feedback et de faire en sorte de l’inscrire dans le créneau ad hoc.

Alistair Cockburn, dans son article Three cards for user rights, suggère de systématiser cette pratique à toutes les stories et de faire trois entrées pour chacune. Intéressant pour favoriser le feedback au delà du Product Owner, mais cela demande de bien maîtriser le processus et la gestion du backlog. Il faut pour cela un bon Product Owner qui maintienne scrupuleusement le backlog, ce qui n'est pas fréquent si on en croit David.

flèche Haut de page

lundi 28 janvier 2008

Que faire avec les exigences non fonctionnelles ?

Les mettre dans le backlog, comme tout le monde !

Lire la suite -->

flèche Haut de page

jeudi 18 octobre 2007

Priorités définies avec des critères pondérés

Une technique pour définir les priorités entre les fonctions d'une application

Lire la suite -->

flèche Haut de page

lundi 8 octobre 2007

Un nouvel exemple d'agilité à grande échelle

L'application d'une méthode de développement agile pour toute une organisation

Lire la suite -->

flèche Haut de page

jeudi 4 octobre 2007

Features, themes, epics et stories

Comment s'y retrouver ? Que met-on dans le backlog ?

Lire la suite -->

flèche Haut de page

mardi 2 octobre 2007

Les rôles impliqués dans les histoires d'utilisateur

Il n'y a pas que l'utilisateur et l'administrateur ...

Lire la suite -->

flèche Haut de page

mercredi 11 avril 2007

Emergence progressive des exigences

Plutôt que d'essayer de tout figer au début mieux vaut décider au dernier moment possible.

Lire la suite -->

flèche Haut de page


Fatal error: Undefined class name 'bbclone' in /home/.sites/22/site13/web/dotclear/themes/ZenTheme_pour_package/template.php on line 214