L’estimation des charges pour la réalisation d’une action ou d’une fonctionnalité est certainement l’une des tâches les plus complexes de la gestion d’un projet. Elle nécessite la confrontation et la collaboration d’experts techniques et d’experts fonctionnels, et est particulièrement dépendante de l’expérience des personnes participant à l’estimation ainsi que de leurs connaissances du client et de son environnement technique. La méthode agile Scrum fournit à l’équipe de développement un outil particulièrement efficace pour réaliser des estimations de charges de réalisation : le planning poker scrum.
Le principe du planning poker scrum
Le planning poker Scrum va réunir l’équipe projet autour du Scrum Master qui va faire en sorte de faciliter les différents échanges qui pourront avoir lieux entre les participants autour des fonctionnalités étudiées. Tout l’intérêt du planning poker est que chacun est libre de s’exprimer comme il l’entend, et qu’il sera donc possible de croiser les différentes sources d’informations et les différents avis. Chacun pourra apporter sa pierre à l’édifice, en fonction de son expérience, de son expertise et de son ressenti. L’apport d’informations très diverses et leurs prises en compte ne pourront que consolider au final l’estimation qui sera faite, car toute la complexité de la fonctionnalité demandée aura été mise en lumière et portée à la connaissance de tous.
Les experts techniques peuvent apporter plusieurs points de vue et plusieurs solutions pour la réalisation d’une fonctionnalité et l’expert fonctionnel va quant à lui éclairer les participants sur les éventuels points importants ou les points d’ombre à prendre en compte afin de réaliser l’estimation.
L’estimation des charges va porter sur un ensemble de fonctionnalités présentes dans le « backlog produit » et identifiées par le « product owner » comme étant prioritaires et devant être embarquées dans le prochain « sprint ». Le planning poker a donc lieu avant le démarrage d’un sprint afin de déterminer le coût de chaque fonctionnalité et lesquelles pourront effectivement être réalisées. Attention cependant, il ne s’agit en aucun cas de planifier les réalisations du sprint à venir afin de déterminer un calendrier, mais uniquement d’obtenir une estimation de chaque fonctionnalité définie comme étant prioritaire.
Décrit de cette façon, le poker planning pourrait ressembler à n’importe quelle réunion de projet pour l’estimation des charges. La force de la méthode agile Scrum est d’amener un aspect ludique au processus d’estimation.
Lors de l’estimation de la charge de réalisation d’une fonctionnalité, les participants vont utiliser un jeu de cartes spécialement adapté à l’évaluation de la durée d’exécution et de la complexité des tâches. Les cartes comportent les valeurs suivantes : 0, 0.5, 1, 2, 3, 5, 8, 13, 20, 40, 100, « ∞ » et « ? ».
Les valeurs des cartes ne représentent pas une charge en termes de jours-hommes, et donc pas directement une durée de réalisation. Ces valeurs sont des points prenant en compte la durée de réalisation d’une tâche, mais surtout sa complexité seule, et aussi par rapport aux autres fonctionnalités demandées. Il s’agit uniquement d’un nombre de points.
Une valeur de 0 représente une fonctionnalité déjà mise en place, ou ne demandant pas d’effort particulier. Les valeurs 0.5 et 1 peuvent être utilisées pour des tâches particulièrement simples, 3 et 5 pour des tâches un peu plus complexes. Au-delà, la réalisation demande des travaux plus conséquents ou plus complexes.
La valeur 100 représente une grande complexité et un grand nombre d’heures de travail. Probablement qu’une fonctionnalité écopant de cette note devrait être découpée en lots plus petits éventuellement répartis sur plusieurs sprints consécutifs.
La carte portant le symbole « ∞ » (infini) représente toute tâche valant plus de 100. Il s’agit donc d’un travail particulièrement long ou complexe nécessitant une attention particulière. Généralement, une fonctionnalité recevant cette note a peu de chance de pouvoir être embarquée dans le sprint à venir.
La carte portant le symbole « ? » indique que l’on n’est pas en mesure, dans l’état actuel des connaissances de l’équipe (qu’elles soient techniques ou fonctionnelles, ou dépendantes du client), d’effectuer une estimation pour la réalisation de cette fonctionnalité. Cela signifie typiquement qu’il faudra apporter des précisions, de nouvelles spécifications, une étude complète ou une user story détaillée avant de pouvoir statuer sur la réalisation de cette fonctionnalité.
Déroulement d’un planning poker scrum
Il est important pour qu’un planning poker soit efficace, que l’ensemble des intervenants puissent se réunir autour d’une table au calme, pour une durée suffisante sans être dérangés.
Au début de la réunion, chaque participant reçoit un paquet de cartes spéciales pour le planning poker scrum. Chacun pourra alors à son tour utiliser une de ses cartes pour donner son estimation quand une fonctionnalité sera étudiée.
Lorsque tout le monde est prêt, le « scrum master » commence par faire le tour de l’ensemble des fonctionnalités dont il va falloir évaluer la réalisation. Ensuite, il les prend une par une afin de les étudier en détail. Pour chaque fonctionnalité de la liste, le « scrum master » lit sa description à haute voix. S’en suit alors une discussion durant laquelle chacun peut poser des questions afin d’obtenir des précisions sur la demande et sur la ou les solutions envisagées. L’objectif est que tous puissent s’exprimer en toute liberté et que toutes les ambiguïtés pouvant exister sur la demande finissent pas être levées.
Une fois que tout le monde a une vision claire de la fonctionnalité en cours d’examen, chacun choisit dans son jeu la carte correspondant le mieux à son estimation de la complexité et de la difficulté de sa réalisation. Les cartes sont alors posées sur la table face cachée de façon à ne pas influencer les participants qui ne se sont pas encore décidés et qui n’ont pas fait leur choix. Lorsque tout le monde a pu s’exprimer et a finalement déposé la carte de son choix sur la table, il est temps de vérifier le résultat. Toutes les cartes sont retournées en même temps.
Si les estimations sont assez proches, il est assez facile pour tout le monde de tomber d’accord.
En revanche, si l’on peut constater de gros écarts entre les estimations, celui ou ceux qui ont choisi les valeurs extrêmes, c’est-à-dire les plus hautes et les plus basses, sont invités à s’exprimer. Chacun peut ainsi expliquer aux autres les raisons de son choix et éventuellement convaincre ses collaborateurs. Le processus se répète pour les participants ayant choisi des valeurs extrêmes, jusqu’à ce tout le monde ait pu expliquer sa vision des choses.
Lorsque tous les points de vue ont été exposés et compris, chacun a la possibilité de réviser son évaluation et de choisir ou non une carte différente.
Le « scrum master » note l’évaluation de la fonctionnalité et passe ensuite à la suivante, jusqu’à ce que l’ensemble de la liste ait été traitée.
Définition de la valeur d’un point
A la fin du planning poker scrum, chaque fonctionnalité envisagée pour le nouveau sprint a donc une évaluation exprimée en nombre de points.
Les fonctionnalités les plus complexes ou longues à réaliser ont obtenu des scores importants alors que les plus simples auront des scores compris généralement entre 0 et 3.
Afin de déterminer quelles fonctionnalités vont pouvoir être embarquées dans le sprint, il faut tenir compte de ce que l’on appelle la « vélocité » de l’équipe de développement. Pour faire simple, la vélocité d’une équipe représente le nombre de points qu’elle peut réaliser entièrement durant un sprint. Par exemple, si une équipe a une vélocité de 60 points, cela signifie que la somme des estimations des fonctionnalités qui pourront être embarquées sur le sprint ne devra pas dépasser 60 points. Si l’ensemble des fonctionnalités sélectionnées pour le sprint dépasse la vélocité de l’équipe, alors il va falloir que le scrum master (souvent en accord avec le product owner) réalise un arbitrage afin de déterminer lesquelles devront être reportées à un sprint ultérieur.
De l’importance de la vélocité
Si l’on connaît bien la vélocité moyenne d’une équipe stable ayant déjà réalisé plusieurs sprints sur le projet, elle est beaucoup plus difficile à estimer au début du projet. Il faut généralement plusieurs sprints, durant lesquels les membres de l’équipe vont apprendre à se connaître, à travailler ensemble, et progresser dans l’apprentissage des contextes tant technique que fonctionnel et métier du client, pour se faire une idée suffisamment précise de la vélocité moyenne de l’équipe. De plus, la vélocité va aussi dépendre de facteurs extérieurs. Si certains ne sont pas à plein temps sur le projet, mais travaillent sur plusieurs sujets à la fois, comme c’est souvent le cas dans les petites structures, la vélocité va forcément s’en ressentir. Il faut également savoir gérer les imprévus, comme les arrêts maladie ou les congés.
Le calcul de la vélocité de l’équipe est donc réévalué à chaque sprint afin de coller au mieux à la réalité du terrain et ne pas fausser le contenu du sprint suivant. Si l’écart entre la vélocité projetée et la vélocité réelle (les points réalisés durant le sprint) est trop important, ce sera le rôle du scrum master d’en évaluer les causes. Des actions pourront être mises en place pour remonter la vélocité de l’équipe, ou simplement pour qu’elle corresponde à ce que l’on attend (il peut s’agir par exemple de s’assurer qu’aucune distraction ne vienne déranger l’équipe, sous la forme de demandes extérieures par exemple).
Connaître précisément la vélocité de l’équipe est particulièrement important. En effet, cela permet notamment de calculer le nombre de sprints nécessaires en théorie pour livrer l’ensemble des fonctionnalités validées. Cela permet de déterminer une date de livraison finale, de fixer des objectifs clairs, et de communiquer auprès du client.
Avantages du planning poker scrum
Chacun peut s’exprimer librement et apporter son vécu, son expérience, son point de vue. Personne n’a plus de poids qu’un autre dans les estimations. Le fait que les estimations soient faites collectivement, que les auteurs des notes les plus hautes et les plus basses puissent expliquer la raison de leur choix et la libre parole sont autant de raisons qui rendent les estimations finales très fiables. Plusieurs solutions peuvent émerger, et finalement, celle obtenant le plus de voix est sélectionnée.
De plus, ce sont bel et bien les équipes techniques qui réalisent les estimations de ce qu’elles devront ensuite réaliser. Elles ont donc tout intérêt à être rigoureuses et à ne pas se tromper. Aucune contrainte extérieure (commerciale, coûts…) ne peut venir influencer l’estimation de la réalisation.
Où se procurer le matériel ?
Les cartes de planning poker scrum peuvent facilement être fabriquées, notamment à partir de modèles téléchargeables sur le net. Il suffit alors d’imprimer les cartes, et éventuellement de les plastifier pour augmenter leur durée de vie. Néanmoins, il existe de nombreux sites web proposant des jeux complets à la vente pour des prix compris généralement entre dix et vingt euros.
Il existe également des applications pour téléphones Android ou iOS qui permette d’avoir un jeu de cartes de planning poker scrum virtuel.
Enfin, le logiciel scrum Nutcache permet aussi de créer des cartes virtuelles.