mardi 10 août 2010

Des bases de l’agilité : le time boxing

Le time boxing est une notion difficile à traduire en français. La traduction la plus fidèle est la gestion du temps par encapsulation. Cette idée parait simple en anglais et compliqué en français. En fait, elle est simple à expliquer mais difficile à réaliser.

Le time boxing doit permettre à une équipe agile et à ses membres de contrôler le temps de travail et les délais de réalisation en découpant les taches pour travailler uniquement sur des taches avec un temps de réalisation maitrisable et définissable. Cette manière de travailler concerne toutes les activités de la réalisation aux réunions et les projets personnels.

En fait, c’est plutôt une attitude mentale, chaque fois que je me prépare à faire une action, je commence par estimer le temps dont j’ai besoin. Si ce temps est trop important. C’est à dire que son estimation est floue, je la décompose pour pouvoir estimer précisément chaque partie y compris l’intégration.

L’application la plus simple est la gestion des réunions. Pour la qualité industrielle, une réunion est définie par ordre d’importance par un ordre du jour, une durée, des participants avec un rôle, une date et une heure et un lieu. Une réunion qui ne respecte pas l’ordre du jour et sa durée est une réunion ratée. La préparation de la réunion commence par se définir un objectif. Cet objectif fournit des points à aborder. Chaque point est estimé. Si un point pose des problèmes (définition, estimation), il doit être décomposé. Lorsque les différents points sont complètement définis et chiffrés, l’ordre du jour est réalisé. Attention, une réunion ne doit pas durer plus de 2 heures, sinon les points traités après seront survolés ou liquidés. Dans ce cas, il faut organiser plusieurs réunions avec des sous-objectifs parfaitement clairs et une réunion de synthèse. Parfois il est possible d’organiser une réunion avec plusieurs objectifs, il faudra prévoir de la séparer avec des conclusions et des introductions pour permettre aux participants de savoir l’objectif de la réunion traité à un moment donné.

Définir un temps pour une tache et réaliser celle-ci dans le temps prévu montre la maitrise de la réalisation. C’est le premier pas dans le contrôle de son travail et vers le travail de qualité.

C’est un aspect fondamental de l’agilité. En effet, la mise en place des méthodes agiles a pour objectif de livrer dans un temps défini des fonctions réparties en taches. Ces fonctions sont finies, c'est-à-dire qu’elles sont testables et testés et ne contiennent pas de bug. Les seuls remarques doivent être des évolutions pour obtenir une parfaite adéquation avec les besoins des clients et des utilisateurs. La définition du fini est un élément essentiel de l’agilité dont je parlerais dans un prochain article.

Il est aujourd’hui possible de maitriser le temps de travail car si la décomposition des taches est suffisamment fines, les taches sont déjà connues et leurs chiffrages possibles. Une tache connue n’a pas forcément été déjà réalisé avant mais une tache similaire a été réalisé ce qui permet de chiffrer l’actuelle facilement.

D’autre part, cette maitrise des temps de travail permet un engagement réaliste vis-à-vis du client. Il peut voir que contrairement aux expériences précédentes, les livraisons sont réalisées dans les délais et que le produit est de bonne qualité. Il consacre moins de temps à tester le livrable et ses tests concerne les aspects fonctionnels et les imprécisions sur le produits qui sont généralement liées à des problèmes de communications entre le client et le product owner. Il existe toujours des points souvent de détail qu’il est difficile d’expliquer.

Cette approche évite aussi de s’engager sur des projets irréalistes. Souvent pour un client ou un utilisateur, une fonctionnalité est simple de son point de vue mais pose des problèmes complexes à la réalisation. Sa participation à la décomposition de la fonction permet de lui faire comprendre les difficultés qui seront rencontrées lors de la réalisation. Cette explication montre à un client que le chiffrage ne sort pas d’un chapeau mais est la somme de taches auxquelles il n’est pas formé à penser.

Cette forme de communication est une autre base de l’agilité. Elle s’appuie sur la transparence et l’honnêteté. Elle amène naturellement à une relation de confiance où les deux parties se transmettent plus d’informations ce qui évite les malentendus et permet d’aboutir plus rapidement à une solution satisfaisante.

Aucun commentaire:

Enregistrer un commentaire