Ce billet vient d’un désaccord sur twitter sur les éléments qui permettent de prioriser un backlog dans un développement agile.
On me propose de trier par valeur fonctionnelle (je vais parler de valeur ajoutée au produit, pour éviter de mélanger avec la complexité fonctionnelle) mais cela ne me convient pas.
Toutes les histoires n’ont pas le même détail
Sur mon backlog j’ai de quoi remplir plusieurs sprints. Toutes les histoires n’ont pas le même niveau de détail. Détailler tout c’est passer un temps énorme à faire un travail qui risquera d’être remis en cause et qui délaiera inutilement le développement. L’objectif n’est pas de faire un cahier des charges détaillé sur deux ans. Mon responsable produit fera ça au fur et à mesure. Ce qui est prioritaire est détaillé et plus on s’enfonce dans le backlog plus les histoires utilisateurs sont « macro ».
Une « macro » histoire sera découpée en plusieurs petites. Logiquement la valeur ajoutée liée à cette macro histoire sera aussi divisée. Si vous suivez, il y a de bonnes chances pour que les macro histoires en milieu de sprint soient celles qui ont une colonne « valeur » avec les plus gros nombres. Les histoires à faire aujourd’hui et demain seront bien découpées, et donc unitairement avec des petites valeurs ajoutées.
Voilà mon premier argument pour ne pas classer que par la valeur ajoutée : Ça reviendrait à mettre en premier les histoires les moins détaillées, puis les détailler (vu qu’elles sont prioritaires), se rendre compte que du coup d’autres sortent avant, les redétailler, et ainsi de suite. En quelques itérations on va finir par détailler trop précisément un plan d’action pour plus d’un an, et faire un travail inutile tout en ayant mal priorisé entre temps.
La priorité c’est sortir la plus grande valeur à chaque itération
Toutes les histoires n’ont pas le même niveau de détail, mais elles ne nécessitent pas toujours le même effort non plus. Imaginons un site d’actualité, avec une histoire « permettre de saisir un commentaire » (c’était impossible jusqu’alors) et une histoire « afficher le titre séparé du corps de l’article » (il était collé auparavant).
Ajouter des commentaires apporte bien plus de valeur qu’ajouter un espace entre le titre et le corps du texte, disons « 10 » pour le premier et « 2 » pour le second. Mais côté effort de développement c’est la même chose : « 20 »pour le premier, et « 0,5 » pour le second.
Si je classe simplement par la valeur ajoutée, je vais prioriser des histoires comme « saisir des commentaires ». Pourtant si je calcule j’aurai eu plus de valeur ajoutée à mon produit si j’avais priorisé d’abord plusieurs histoires de type « séparer le titre ».
Ma priorité c’est bien de livrer la plus grande valeur à la sortie de l’itération. La priorité est donc, logiquement, plus dépendante du rapport valeur/effort que de la valeur elle-même. J’ai besoin d’avoir estimé mes histoires pour en connaître l’effort et les prioriser. Un responsable produit qui priorise sans connaître l’effort associé à chaque histoire ne peut pas maximiser la valeur de son produit, et c’est pourtant tout l’objectif de la démarche.
Encore d’autres facteurs
Le ratio valeur/effort est pour moi un bon critère de tri pour la priorisation. On ajoute après des contraintes fonctionnelles comme les deadline fonctionnelles comme un contrat de partenariat à implémenter dans le mois.
Mais là aussi la technique a son mot à dire. Nos histoires ont des dépendances techniques entre elles, et ça joue et doit jouer sur les priorités. De même tout développeur sait bien que parfois faire deux tâches ensemble permet de gagner un temps certain. Il y a des priorités d’opportunité à faire : d’un coup je peux faire à moindre coup une fonctionnalité qui est normalement plus bas dans le backlog.
Parfois j’y gagne à court terme (parce que le niveau d’effort diminue tellement qu’elle devient bien prioritaire). Parfois j’y perd un peu à court terme mais je gagne bien en valeur à moyen terme puisqu’au final j’ai bien diminué l’effort et donc permis de faire une histoire de plus. Tout est un équilibre entre le gain en terme d’effort et la valeur de l’histoire à reprioriser.
Laisser un commentaire