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

Pour les droits des utilisateurs au feed-back

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.

Commentaires

1. Le mardi 11 mars 2008, 09:37 par Frédéric Monjo

Il existe aussi des pratiques pour l'évaluation de l'utilisabilité, qu'il faut choisir en fonction du contexte du projet. Elles peuvent même s'appliquer à des maquettes ou des embryons de résultats ; comme toujours il faut les adapter à nos besoins.

Dans le cadre d'une méthode Agile, c'est pas forcément facile à intégrer ; mais pourquoi attendre de livrer une version pour la faire tester à ses utilisateurs ? Le vrai changement dans notre façon de travailler, c'est de concevoir avec les utilisateurs finaux, et ça c'est un vrai challenge.

Dans le projet que j'évoque, nous avons fait une séquence de travail sur papier avec des représentants d'utilisateurs pour définir le contenu des versions 1. Mais tous les utilisateurs ne peuvent pas y participer c'est pourquoi il faudra aussi leur mettre à disposition pour feedback.