tdd

Livres sur Scrum et JUnit en français

Yes, there are some books in french!

On trouve maintenant 4 livres en français sur Scrum. Il y a bien d’autres sur l’agilité qui parlent aussi de Scrum ou simplement l’évoquent, mais seuls ceux-ci ont un titre qui contient le mot Scrum.

Les tests, un moyen d'améliorer la communication

Au lieu de test d'acceptation, spécification par l'exemple serait probablement plus approprié

Les tests d’acceptation (au sens agile) remplacent une spécification fonctionnelle détaillée. Avec un bénéfice essentiel : la communication est facilitée entre le métier et le développement.

Tests d'acceptation orientés comportement

Voire même Behaviour Driven Development

Un test, c’est une expérimentation menée pour révéler des informations, ou en réponse à une question précise sur un logiciel ou un système.

Dans le cadre d’une approche agile basée sur les histoires d’utilisateur (user stories), un test d’acceptation est un test qui permet au client (ou au Product Owner) de dire s’il accepte, en fin d’itération, une histoire d’utilisateur développée par l’équipe. Un test est accroché à une story, qui en possède généralement plusieurs.

Pour décrire les tests d’acceptation, ma préférence va à une technique orientée comportement, le BDD.

GreenPepper, ça relève les développements

Des spécifications exécutables écrites par le métier ! Hier soir, j’ai fait une web conférence avec François Beauregard, qui m’a présenté GreenPepper. L’idée est assez géniale : permettre aux spécialistes du métier d’écrire les tests associés aux histoires d’utilisateur dans un langage simple et faire en sorte que ces tests soient exécutables. Tout cela dans un environnement collaboratif basé sur un wiki[1] et pouvant être intégré à Jira et Eclipse.

Formaliser les critères d'acceptation

…ou comment rendre inutile la rédaction de spécifications détaillées !

Un des gaspillages les plus spectaculaires dans le développement de logiciel est l’écriture de spécifications détaillées suivie de la rédaction d’un cahier de recette, plus ou moins à partir de ces spécifications. Plutôt moins parce qu’en général le cahier de recette est écrit à la fin, à un moment où les specs, écrites au début, ne sont plus à jour depuis longtemps. La technique des histoires d’utilisateur(user stories) permet d’obtenir des morceaux de fonctionnalité pouvant être finis en une itération.

Communiquer les tests d'acceptation aux développeurs

Quand et sous quelle forme le directeur de produit fournit les critères de tests d'une histoire d'utilisateur ?

Aujourd’hui j’ai défini des tests d’acceptation [1] pour des histoires d’utilisateur[2]. C’est mon boulot de directeur de produit[3] de préciser les critères qui permettront de s’assurer qu’une histoire est complète. C’est un exercice indispensable si on veut automatiser les tests d’acceptation. Si on n’automatise pas cela reste tout de même très important.

Par exemple pour l’histoire “En tant que participant à un projet, je démarre une tâche du plan”, des critères de test que j’ai identifiés sont :

Correction des copies

J'ai posé quelques questions pour les partiels de décembre des étudiants et maintenant me voilà avec une pile de copies à corriger…

Cette année, mes questions étaient ouvertes et la correction n’est pas facile. Il me faut lire entre 5 et 8 pages bien remplies par étudiant. Avec une trentaine d’étudiants, ça doit faire dans les 200 pages.

Le plus souvent c’est plein de fautes d’orthographe. Dans la seule copie où je croyais ne pas en trouver, il est écrit à 2 lignes de la fin : “il … est choisit…”. Dommage, mais cela ne me gêne pas. Plus embêtant pour ma lecture, c’est que ce n’est pas toujours bien présenté ni bien écrit.

Mais j’y trouve quand même du plaisir à voir que ce que j’ai présenté a été bien compris. Et puis je découvre toujours quelques perles amusantes.