Mot-clé - user story

Fil des billets - Fil des commentaires

lundi 04 août 2008

Un scénario enchaîne des petites histoires

De l'intérêt d'une big picture

Lire la suite...

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

samedi 15 mars 2008

Des spikes dans les sprints

Mercredi, lors de la réunion de planification du sprint que j'animais, nous avons inclus dans le sprint plusieurs spikes. On utilise un spike pour mener des travaux d'étude, d'exploration technique d'un élément (user story) du backlog.

Cela revient à décomposer cet élément en 2 parties[1] :

  • le spike proprement dit, qui est fait au sprint n
  • le développement de l'élément qui sera inclus dans le sprint n+1 (ou pas selon les résultats du spike)

Quand l'utiliser ?

  • Le spike est utilisé quand on ne sait pas estimer une user story. En général, si on ne sait pas l'estimer, c'est qu'on ne connaît pas de solution technique pour cette story.
  • Le spike peut aussi être utilisé pour étudier plusieurs solutions différentes. Dans notre produit, nous avons à intégrer des données d'un décisionnel et il y a plusieurs possibilités pour le faire, le spike va permettre de les étudier.
  • Enfin le spike peut aussi être utilisé quand la story est très grosse et qu'elle ne peut pas être finie en un seul sprint. Dans notre cas, c'était le cas pour la story portant sur la migration des données de l'ancienne application dans la nouvelle. A noter que si la story n'a pas été décomposée avant, c'est probablement parce que la solution technique n'est pas connue ou mal maîtrisée.

Le spike sert à approfondir le comment (la conception), pas le quoi, qui est du ressort du product owner. Donc si on ne sait pas estimer, il faut savoir si c'est par manque de précisons sur le quoi ou par méconnaissance du comment avant de décider de faire un spike.

Quel est le résultat d'un spike ?

On fait un spike pour comprendre comment développer une story. A la fin du sprint incluant un spike, on devrait :

  • avoir défini une solution
  • être capable d'estimer le coût de développement, pour aider le product owner à décider quoi faire de cette story.

Il arrive aussi que le spike amène à décomposer la story initiale en plusieurs autres, plus petites.

Quel est le temps consacré à un spike ?

Un spike est normalement limité à une durée fixée (principe du timeboxing) au début du sprint. La pratique recommandée veut qu'on ne passe pas plus d'une journée de travail (8 heures) sur un spike.

Un nom en français pour spike ?

En anglais un spike est une pointe. En français on pourrait dire une pique, qu'en pensez-vous ?

Notes

[1] c'est donc un autre cas où une exigence/story n'est pas finie en une seule itération après le cas de l'utilisabilité dont j'ai parlé récemment

lundi 10 mars 2008

Tests d'acceptation orientés comportement

Voire même Behaviour Driven Development...

Lire la suite...

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

Pour les droits des utilisateurs au feed-back

Lire la suite...

lundi 11 février 2008

Mesures agiles

La mesure la plus connue dans les méthodes agiles est probablement la vélocité. Mais il y a d'autres mesures simples à faire lors d'un développement agile permettant d'obtenir des indicateurs et des courbes (burndown charts, courbes diverses).

Au cours de chaque sprint, on peut mesurer :

  • tous les jours, le nombre d'heures restant à faire, ce qui permet de produire le burndown chart de sprint qu'on peut analyser selon sa forme

A la fin d'un sprint :

  • le nombre de builds produits pendant le sprint, ce qui permet de savoir si des versions ont été produites, notamment pour les tests
  • le nombre de problèmes restant à résoudre, ce qui permet de se faire une idée de leur variation au cours du projet
  • la vélocité donc, ce qui permet de calculer la vélocité moyenne qui sert à planifier
  • le nombre de points restant à faire d'ici la fin de la release, ce qui permet d'obtenir le burndown chart de release
  • le nombre de user stories faites pendant le sprint, le nombre de stories restant dans le backlog et le nombre de stories à estimer ce qui permet d'obtenir des indications même s'il n'y a pas d'estimation en points
  • le nombre de points des stories dans les différents états, pour produire les burnups et les courbes de croissance
  • le nombre de cas de tests écrits, le nombre de cas de tests passés ce qui permet d'obtenir un Big visible chart

Bientôt tout ça disponible dans IceScrum ?

dimanche 03 février 2008

Le backlog de produit est un outil de communication

On peut essayer la télépathie pour le communiquer efficacement...

Lire la suite...

vendredi 25 janvier 2008

Sharepoint pour le backlog

Avec l'utilisation des listes

Lire la suite...

dimanche 16 décembre 2007

Démo IceScrum2 au SigmaT4

Le manifeste agile rappelle que les personnes et leurs interactions sont plus importantes que les processus et les outils. Faire un outil qui reste dans cet esprit tout en assistant utilement lors de l'application d'une méthode agile, ce n'est pas facile. Le pari a l'air réussi pour la nouvelle version d'IceScrum.

Lire la suite...

dimanche 25 novembre 2007

La revue de sprint

Une revue qui permet un feedback concret sur le produit (c'est mieux que sur de la documentation).

Lire la suite...

- page 2 de 5 -