Agilité et suivi des temps, pour quoi faire ?

Le suivi des temps déchaîne rarement l’enthousiasme dans les équipes et bien des managers traditionnels peinent à le mettre en place. Cependant il trouve un nouveau sens et se renouvelle en mode agile en devenant une source précieuse de feedbacks pour toute l’équipe, principe fondamental de l’Agilité.

Feedback et Suivi des temps (Time Tracking)

timetrackingEn matière de gestion de projet, le processus d’estimation reste un exercice difficile et approximatif, alors qu’il est essentiel pour déterminer la viabilité du projet. Et le suivi des temps est le seul moyen d’obtenir un feedback pertinent sur ce processus critique.

Dans le domaine du développement logiciel, les tentatives de rationalisation du processus d’estimation ont abouti à des résultats médiocres malgré la complexité des modèles analytiques développés (points de fonction, Cocomo etc.). En général, estimer un projet reste un processus empirique basé sur l’intuition et l’expérience des équipes, agrémenté de techniques de recherche de consensus. Mais la fiabilité des processus empiriques est soumise à caution et on constate en pratique des marges d’erreur importantes.

En mode Agile, on a la chance de pouvoir vite améliorer le processus d’estimation empirique. Il suffit de fournir à l’équipe le feedback adéquat: les écarts entre les estimations et le temps réellement passé au niveau de chaque item du backlog.

Alimenter en informations chiffrées les rétrospectives (SCRUM) est le premier objectif du suivi des temps en mode Agile. L’équipe fournit un retour qualitatif et humain, le suivi des temps le complète par un feedback quantitatif et objectif.

L’indicateur de Vélocité seul ne permet pas d’identifier les causes des problèmes. En effet, calculé au niveau du Sprint (= itération), c’est un indicateur trop macroscopique influencé par de nombreux facteurs. De plus, la Vélocité n’est pas une mesure mais le paramètre d’un modèle linéaire simple entre complexité et charge de travail.

Le suivi des temps permet aussi d’avoir une mesure précise du facteur de concentration (focus factor) pour ceux qui l’utilisent.

Pour être utile, le feedback doit se faire au même niveau de détails que le processus d’estimation (i.e. backlog item, user story, la fonctionnalité…). C’est à ce niveau que le suivi des temps prend toute sa valeur (et non au niveau des tâches). Il permet de mesurer la fiabilité de chaque estimation, prise séparément. Il est alors possible d’ajuster le processus d’estimation pour prendre en compte d’autres facteurs que ceux du modèle générique.

Voici quelques leçons apprises chez Time Performance grâce au suivi des temps avec TimePerformance:

  • Nous passons environ 30% du temps sur des sujets qui ne font pas partie de la feuille de route du produit.

    Dans ces 30%, on retrouve les refactorings, les corrections d’anomalies, les petites améliorations, les tests utilisateurs…

    Le suivi des temps nous a permis de budgéter pour les itérations suivantes ce qui n’était pas dans la feuille de route.

  • Les tâches les plus complexes ne sont pas celles qui relativement prennent le plus de temps.

    Certaines tâches sont très simples techniquement mais prennent néanmoins du temps. Et la relation entre complexité technique et charge de travail n’est pas linéaire.

    Par exemple, il peut être nécessaire de faire de nombreuses retouches avec des allers-retours avec les utilisateurs. Il y a aussi des «coûts fixes», car même pour une fonctionnalité simple, il faut écrire des tests et de la documentation.

    Attention donc à ne pas sous-estimer le temps nécessaire sous prétexte que c’est simple techniquement.

  • Notre perception du temps est très subjective, bien plus qu’on ne le pense.

    Certaines heures paraissent être des minutes et certaines minutes paraissent durer des heures. Tout dépend si ce qu’on fait nous plaît ou non.

    Par exemple, certains se font une montagne de devoir remplir une feuille de temps alors que cela ne prend que quelques minutes par semaine. Et on retrouve les mêmes à la machine à café en train de discuter depuis 45 minutes sur le temps qu’il fait. L’exemple fonctionne aussi avec l’écriture des tests, de la documentation… Tout le monde se reconnaîtra, nous les premiers.

    Le suivi des temps peut permettre à chaque individu d’objectiver le temps qu’il passe réellement sur les tâches.

  • Notre marge d’erreur sur les estimations était plus importante sur les nouvelles fonctionnalités que sur les évolutions.

    En y réfléchissant, c’est assez logique. D’abord le risque est plus important pour une fonctionnalité importante et totalement nouvelle. La solution imaginée au moment de l’estimation peut ne pas marcher et nécessiter plusieurs ajustements. Les impacts sont aussi plus importants et des refactorings du code et des tests existants sont très probables.

Un suivi des temps efficace est absolument essentiel pour les équipes agiles pour maîtriser leur processus d’estimation. Cela mérite bien qu’on y passe quelques minutes par semaine.

Suivi des temps et gestion du projet

Traditionnellement, la feuille de temps sert principalement à suivre les coûts réels du projet en comptabilisant le nombre de jours travaillés.

En mode Agile, il est recommandé des équipes stables et des affectations à plein temps, ce qui rend la feuille de temps inutile.

Cependant la réalité des entreprises est souvent bien différente du cas idéal:

  • les personnes participent à la vie de l’entreprise (réunion de service, aider un collègue, veille, réorganisation…);
  • les personnes travaillent sur le projet mais peuvent être appelées en urgence sur d’autres sujets;
  • la spécialisation d’une personne ne permet pas une affectation à plein temps;
  • Une compétence rare est réclamée par de nombreux projets …

En pratique, le suivi des temps est indispensable pour connaître le temps réellement passé sur le projet. Il permet notamment de constater un écart entre affectation prévue et affectation réelle, qui explique dans de nombreux cas les retards dans les projets.

Même en mode Agile, le suivi des temps est en général nécessaire pour gérer le projet.

Vaincre les résistances

La mise en place du suivi des temps dans une équipe est un moment délicat où il faut faire preuve de leadership pour porter la vision.

Voici les 3 clés pour réussir la mise en place du suivi des temps:

  1. Donner du sens. C’est l’objet de cet article et la principale mission du manager ou du SCRUM Master.
  2. Faciliter la saisie par l’équipe. C’est ce que nous avons fait chez Time Performance avec notre logiciel TimePerformance en proposant 2 moyens complémentaires pour suivre facilement  son temps: une feuille de temps (déclaration a posteriori) et une liste de tâches avec une fonction type «chronomètre» (suivi au fil de l’eau).
  3. Montrer des résultats, c.-à-d. exploiter les informations et communiquer les résultats à l’équipe. C’est sans doute le plus important et ce qui permettra de convaincre les plus sceptiques.

Il y a encore quelques années, écrire des tests ou documenter le code n’étaient pas plus populaires que le suivi de temps parmi les développeurs. Aujourd’hui, c’est le quotidien des équipes agiles qui s’en font une fierté. Dans quelques années, un bon suivi des temps pourrait devenir le signe de maturité et d’autogestion d’une équipe…

 

Mise à jour 3.0.3

  • Possibilité de créer et de partager des modèles de projet

    Un modèle de projet est identique à un projet à l’exception qu’il ne peut y avoir ni tâche ni équipe. Il permet de définir un plan standard et un paramétrage standard. Les modèles de projet sont publics et utilisables par tous les utilisateurs du compte TimePerformance.

    Pour créer un projet à partir d’un modèle, il suffit de cocher «copier un projet» dans le formulaire et de sélectionner le modèle de projet. Pour créer un modèle de projet à partir d’un projet existant, il suffit de créer un projet, de cocher «modèle» pour le type, et de cocher «copier un projet» et enfin de sélectionner le projet souhaité.

  • Possibilité de copier le rapport d’avancement dans Excel
  • Ajout de liens dans l’accueil vers les méthodes, les projets archivés et les modèles de projet

Version 3.0

  • Amélioration générale de l’ergonomie et de l’apparence de l’application.
  • Tableau des tâches

    Ajout d’une vue panoramique du tableau des tâches, possibilité de consulter le tableau pour tous les membres du projet à partir de la liste des tâches.

    Vue panoramique du Tableau des tâches (KANBAN)

    taskboard KANBAN

     

  • Feuille de Route

    Important relooking, amélioration de l’ergonomie, visualisation du chiffrage, replanification par glisser-déplacer, définition d’un ordre pour les objectifs, possibilité de supprimer.

    Feuille de Route du Projet

    roadmap

     

  • Liste des tâches

    Important relooking, ajout d’un bouton pour consulter le tableau des tâches.

    Liste de tâches personnelle

    liste de tâches

     

  • Visualisation de l’estimation calculée dans le formulaire des objectifs
  • NB: Pour simplifier, les «Composants» vont disparaître de TimePerformance. Contactez le Support pour plus de précision.

Gestion des Coûts et Projets Agiles

Présentation sur la Gestion des Coûts et les Projets Agiles animée par Time Performance lors de l’Agile Tour 2010.

Gestion des coûts et Projets Agiles

Valeur Acquise: des formules du PMBoK à la pratique

La technique de la Valeur Acquise (Earned Value Analysis ou EVA) est présentée dans le PMBoK comme une technique essentielle de gestion de projet. Pourtant elle n’est que rarement pratiquée…

Une formation sur la gestion de programme a donné l’occasion de faire un petit sondage sur les usages de la technique de la valeur acquise. Sur les 9 chefs de projet expérimentés (>10 ans), 5 connaissaient la théorie et les formules – il y avait des personnes certifiées PMP dans le groupe – mais aucun ne l’utilisait en pratique.

Ce sondage n’a pas une grande valeur statistique mais il révèle une triste réalité sur l’état de maturité de la gestion de projet dans notre pays.

Ce que dit le PMBoK

Dans le processus Contrôle des Coûts du PMBoK (§7.3), on ne trouve qu’une seule technique: l’analyse de la valeur acquise (Earned Value Analysis). Plusieurs pages lui sont consacrées, ce qui démontre son importance.

Le PMBoK donne un avertissement implicite en cas de non utilisation de la valeur acquise:

Continuer la lecture de « Valeur Acquise: des formules du PMBoK à la pratique »

10 façons de se planter avec Scrum et XP

Pour tous les fans de l’Agilité et du développement logiciel, le site d’InfoQ est une mine d’informations et de ressources utiles.

Nous vous invitons à regarder la présentation intitulée: «10 ways to screw up with SCRUM and XP». Réalisée par Henrik Kniberg, elle a été filmée sur l’Agile Tour 2008.

En résumé, voici les 10 façons de se planter avec Scrum et XP:

  1. Croire à un miracle de l’Agilité
  2. Incapacité à définir ce que signifie «Terminé» (Definition of Done) ou à suivre la définition en pratique
  3. Incapacité à gérer la Vélocité (mauvaise utilisation, tricher sur la vélocité réelle…)
  4. Rétrospectives inefficaces
  5. Manque d’engagement de l’équipe
  6. Incapacité à bien gérer la dette technique
  7. Problème de travail en équipe (mauvaise définition des rôles, pb de coopération, interférence du management…)
  8. Problème avec le Product Owner (disponibilité, pouvoir, implication, mauvaise gestion du product backlog…)
  9. Peur de fusionner les développements car trop complexe à faire
  10. Problème d’utilisation du tableau des tâches (mise à jour peu fréquente, complexité…)

Suivre l’avancement du Projet

Suivre l’avancement est la mission n°1 du chef de projet pendant la phase d’exécution. Tout le travail de planification ne sert à rien si on ne suit pas l’avancement. L’avancement est au cœur de la gestion de projet.

Ce tutoriel présente comment se gère l’avancement avec TimePerformance.

3 bonnes nouvelles pour les chefs de projet

Tout a été fait dans TimePerformance pour simplifier le travail du chef de projet.

Suivi de l'avancement du Projet

La première bonne nouvelle est que le calcul de l’avancement est totalement automatique pour les niveaux supérieurs du plan projet. Ces niveaux sont le projet, les phases, les étapes et les livrables avec des sous-livrables (cf. structure du plan du projet).

Pour ces éléments, la technique de la valeur acquise définit la bonne façon de calculer l’avancement. Il s’agit d’une somme des avancements pondérés par les budgets. C’est standard et le logiciel fait tout.

La deuxième bonne nouvelle est qu’il n’y a pas besoin de suivre l’avancement des tâches. Dans TP, les tâches sont soit « pas commencées », soit « en cours », soit « terminées ». (toute ressemblance avec une méthode agile bien connue est fortuite 😉 ). C’est la personne qui réalise la tâche qui met à jour son statut.

Les seuls avancements restants à déterminer concernent les livrables. La troisième bonne nouvelle est que ce travail de suivi de l’avancement des livrables demande moins de 5 minutes par semaine.

Avancement d’un livrable

Il n’y a que 2 avancements qui soient sûrs: 0% (pas commencé) et 100% (terminé). Plusieurs techniques permettent d’évaluer l’avancement entre ces 2 valeurs.

Le suivi de l’avancement d’un livrable peut être fait par une saisie directe de l’avancement ou automatiquement selon 4 modes de calcul.

Chaque option a ses avantages et ses inconvénients. Le choix de l’option dépend du type de livrable et des préférences du chef de projet. Ce choix se fait dans le formulaire de chaque livrable. Dans la configuration du projet, le chef de projet peut choisir l’option par défaut de suivi d’avancement des livrables.

Saisie manuelle

Dans ce mode, le chef de projet saisit directement dans le rapport d’avancement le pourcentage d’avancement ou le reste à faire du livrable. (cf. formule entre reste à faire et avancement )

Options d’avancement automatique

Voici les 4 modes automatiques du calcul de l’avancement.

Reste à faire sur les tâches Quand cette option est choisie, toutes les tâches associées ont un reste à faire à renseigner au départ puis mis à jour automatiquement
% de tâches terminées % d’avancement = ratio du nombre de tâches terminées.
Ex: 4 tâches terminées sur 10 ⇒ 40% d’avancement
% de la charge consommée Ex: Une formation de 4 jours (donc 4 jours-hommes budgétés). 2 jours déjà effectués. L’avancement est de 50% = 2/4
% du délai écoulé Ex: La gestion de projet pour la phase d’étude qui dure 3 mois. A la fin du premier mois, l’avancement est de 33% = 1/3

Note: Le calcul automatique à partir des tâches exige que toutes les tâches rattachées au livrable soient créées en amont.

Quelques conseils

Conseil n°1: La simplicité

Dans le doute ou au départ, choisissez toujours l’option la plus simple: la saisie manuelle. Cela permet de garder le contrôle.

Conseil n°2: La bonne granularité

Choisissez la bonne granularité pour les livrables du projet.

Si les livrables sont trop gros, l’avancement risque d’être très approximatif. Dans ce cas, décomposez les livrables en sous- livrables.

Si les livrables sont trop petits, ce sera très lourd à gérer. Dans ce cas, il est possible de regrouper plusieurs livrables pour en faire un plus gros.

La bonne granularité des livrables est une affaire de compromis entre précision de l’avancement et charge de gestion.

Conseil n°3: Clore les livrables

Si un livrable est à 100% d’avancement, pensez à le clore en changeant son statut à Terminé. Ainsi vous vous assurez qu’il ne reste aucune tâche non terminée rattachée à ce livrable.

Conseil n°4: La régularité

Les saisies et le suivi de l’avancement doivent être faits au moins une fois par semaine.

Si cela n’est pas fait, cela signifie que les écarts ne sont pas surveillées, et donc que le projet est sans pilote. Que fait le chef de projet ?

Conseil n°5: Mixer les options

Voici une technique pour combiner les avantages de chaque option.

Pour un livrable, commencez par saisir manuellement l’avancement. C’est simple et ne requiert pas d’identifier immédiatement toutes les tâches et d’estimer leur reste à faire.

Puis lorsqu’on approche de la fin (par exemple à 70% d’avancement), basculez le livrable en mode «reste à faire sur les tâches. Saisissez le reste à faire au niveau des tâches restantes. A ce stade, l’identification des tâches restantes devrait être simple et la saisie des restes à faire moins lourde.

Avec cette technique, on combine la simplicité au début et la précision sans lourdeur excessive vers la fin.

Version 2.8

  • Nouvelles possibilités pour le calcul de l’avancement (reste à faire …).Cette nouvelle version introduit 3 nouvelles façon de suivre l’avancement des objectifs du projet (i.e. livrables).
    Les 4 options sont:

    • la saisie du pourcentage au niveau de l’objectif,
    • la saisie d’un reste à faire pour l’objectif (nouveau)
    • calcul de l’avancement à partir du % de tâches closes (nouveau)
    • calcul à partir du reste à faire au niveau des tâches (nouveau)

    Pour plus de détails, consulter le tutoriel sur le suivi de l’avancement.

  • NB: la saisie de l’avancement d’un objectif se fait maintenant directement dans le rapport d’avancement et non dans la fiche des objectifs.
    Pour cela, il suffit de cliquer sur la case dans le tableau pour saisir une valeur.
  • Nouveau graphique: le Burndown Chart.Le Burndown Chart permet de visualiser graphiquement le reste à faire pour le projet, une phase ou une étape (i.e. sprint). C’est l’outil de prédilection des méthodes Agiles (ex: SCRUM) pour suivre l’avancement.

    Burndown Chart (SCRUM)

    burndown chart

  • Ajout d’un rapport d’activité global au niveau du projet. Ce rapport est disponible dans le Tableau de Bord. Il permet au chef de projet de vérifier la bonne saisie des temps de son équipe en un coup d’oeil.

Rapport d’Activité de l’équipe pour le projet

burndown chart