Quelle valeur pour la valeur ?

Pas facile de donner une valeur à la valeur ajoutée par une user story…

Dans la première version d’IceScrum, il y avait un attribut associé aux éléments du backlog de produit, qui s’appelait valeur. Je l’avais demandé parce que c’est un précepte de Scrum et des méthodes agiles que de définir la priorité en fonction de la valeur. Plus la valeur est grande, plus la priorité est importante et la priorité définit l’ordre dans lequel les éléments du backlog sont réalisés. A l’usage cet attribut a disparu : la priorité est simplement définie par le product owner sans attribut explicite[1].

C’est que donner une valeur à la valeur n’est pas chose facile. Il y a 2 difficultés :

  • il faut un gros travail d’étude pour estimer la valeur financière que va rapporter un élément du backlog. Il faut déjà définir ce qu’on entend par la valeur métier : le retour sur investissement, la valeur actuelle nette ? Personnellement je n’ai pas rencontré d’entreprises qui avaient défini la valeur des fonctions d’un logiciel.
  • des éléments du backlog peuvent être trop petits pour apporter de la valeur par eux-mêmes. Un autre problème est que la valeur n’est pas le seul critère à prendre en compte pour définir la priorité. Luke Hohmann le montre très bien dans Why Prioritizing Your Product Backlog for ROI Doesn’t Work.

C’est pour ces raisons que la pratique la plus simple pour la priorité est de définir la valeur de façon relative plutôt qu’absolue et de le faire sur des thèmes ou des features plutôt que sur des user stories, ce qui limite le nombre d’éléments à ordonner. Au début d’un nouveau projet, un travail en groupe sous forme d’atelier impliquant les différents intervenants permet d’obtenir un backlog ordonné par priorité en quelques heures. Il y a plusieurs techniques possibles, comme le Theme scoring ou le Priority Poker.

Pour s’entraîner, on dispose maintenant d’une simulation avec le Business Value Game qui vient de sortir. Je vais l’essayer et, si le test est un succès, je l’inclurai dans mes cours.

Notes

[1] dans IceScrum c’est par glisser-déplacer entre les éléments du backlog qu’on change les priorités