L’art du timeboxing
Vous êtes Chef de Projet. La quantité de travail est trop importante pour entrer dans le périmètre de votre projet et vous ne disposez pas d’assez de temps pour tout réaliser. Que faites-vous ? Vous timeboxez !
Le Timeboxing est une technique qui vous permet d’adapter ce que vous pouvez réaliser (une partie du périmètre) dans le temps imparti. Le timeboxing nécessite d’avoir fixé au préalable le calendrier et la taille de l’équipe. C’est donc l’étendue des livrables qui sera variable (exemple : ensemble de fonctionnalités d’un logiciel). Si vos utilisateurs/clients ne sont pas en mesure de prioriser les besoins, c’est l’équipe qui déterminera les fonctionnalités à mettre en œuvre.
Les projets en mode agile utilisent le concept de la timebox. La taille de l’équipe et la durée de l’itération sont fixées a priori. Ensuite vient le choix des fonctionnalités/User Stories a développer dans une itération donnée. Chaque itération ayant une durée pré-déterminée, vous n’initialisez seulement ce que vous êtes en capacité de terminer au cours de l’itération, étant donné la capacité disponible, c’est-à-dire le nombre de personnes disponibles pour effectuer le travail.
Dans un cycle de vie phases-jalons ou non-itératif, la notion de timebox est moins évidente. Voici un exemple : vous êtes chef de projet sur un projet nécessitant 6 mois et 5 personnes. Mais vous n’avez à disposition que 3 mois et 3 personnes. Vous savez pertinemment que votre équipe ne pourra pas terminer tout le travail dans ce laps de temps. Voici ce que vous pouvez faire pour aider les membres de votre équipe à effectuer le travail :
Commencez par la définition des exigences et la conception (spécifications), mais en limitant le temps alloué à ces deux activités. Dans notre exemple, sur les 12 semaines, consacrez 3 semaines pour définir les exigences et aboutir à une conception de haut niveau (les durées sont données à titre indicatif pour l’exemple et devront être adaptées en fonction du projet). Attachez-vous ensuite à détailler chaque exigences de façon séquentielle. Ne commencez pas à spécifier toutes les exigences en même temps, mais bien une seule à la fois. Au terme de ces 3 semaines, vous aurez gagné en visibilité et prédictibilité. Certes, votre périmètre pourra encore faire l’objet de modifications, mais vous pourrez déplacer le curseur de la position « impossible » vers « possible ».
Initiez alors la phase de prototypage ou de spécification technique, toujours sur le principe d’un seul besoin à la fois, en terminant un(e) prototype / spécification technique avant de passer au suivant. Limitez cette étape à 2 semaines. Quoique vous puissiez spécifier ou prototyper sur ce temps, il est fort probable que vous puissiez le réaliser totalement.
Il est alors temps d’implémenter le code et de réaliser les tests unitaires, un bout à la fois. Limitez ce temps à 5 semaines.
Enfin, testez votre produit sur le reste du temps imparti, soit 2 semaines.
A l’issue du temps imparti vous disposez certainement d’un produit de moindre envergure, mais qui est totalement finalisé et opérationnel pour le périmètre que vous avez choisi de mettre en œuvre.
Il vous est possible de choisir quand timeboxer. Dans notre exemple, l’intégralité du projet est timeboxé du début à la fin. Vous pouvez néanmoins choisir de ne timeboxer qu’une partie du projet, par exemple l’expression de besoin ou la conception. Si vous timeboxez l’étape d’expression de besoin, le périmètre sera considérablement réduit ; l’équipe du projet pourra alors se concentrer sur la réponse aux exigences prédéfinies. Si vous décidez de timeboxer l’étape de conception, il vous faudra faire face à une négociation du périmètre un peu plus tard dans le projet, mais vous serez plus serein dans l’atteinte des objectifs du projet.
Le timeboxing est une technique qui oblige l’équipe projet à faire des choix structurés à propos de ce qu’il convient d’intégrer dans le produit ou non. L’équipe travaille sur une seule chose à la fois en la terminant avant d’en entamer une autre. Si vous ne pouvez pas envisager comment effectuer tout le travail dans le temps disponible et que vous le pouvez pas utiliser un cycle de vie agile, expérimentez le timeboxing pour forcer le découpage en plus petites activités intégrées dans des périodes de temps fixes.
Cet article est la traduction française de l’article de Johanna Rothman
Source : http://www.jrothman.com/mpd/2004/04/art-of-timeboxing/