Agilité et Lean Startup

L’Entreprise 2.0 reste un concept un peu vague bien que le changement soit pressenti comme inévitable.

Le 2.0 est bien plus que de la collaboration informelle. C’est l’ensemble de toutes les réponses aux bouleversements de notre monde actuel.

Il existe une déclinaison concrète du concept d’Entreprise 2.0 pour les startups: la Lean Startup.

Dans la vidéo ci-dessous,  Abby Fitchner nous présente les nombreuses similitudes entre Lean Startup et l’Agilité, qui représente une autre évolution majeure et récente dans le fonctionnement des entreprises.

[vimeo 27797408]

How Lean Startup Pushes Agile to the Next Level from Abby Fichtner, Hacker Chick on Vimeo.

Version 3.2

  • Nouveau diagramme de Gantt éditable par glisser-déplacer

    Le diagramme est en pures technologies web 2 (HTML5) pour plus de fluidité et d’interactivité.
    On peut aussi télécharger une image pour pouvoir l’inclure dans un document (Powerpoint, Word…).
    3 niveaux de zoom (semaine, trimestre et année).
    Affichage optionnel des dates réelles de début et de fin.
    Affichage optionnel des objectifs attachés aux étapes.

    Nouveau diagramme de Gantt

    Diagramme de Gantt du projet

     

  • Possibilité de définir des dates spécifiques pour chaque objectif

    Par défaut, lorsqu’aucune date n’est définie pour un objectif, celui-ci occupe toute la durée de l’étape à laquelle il est rattaché. C’est le concept du Timeboxing illustré ci-dessous dans le cas de l’itération 2.
    La nouveauté dans cette nouvelle version de TimePerformance est de pouvoir planifier individuellement les objectifs à l’intérieur de leur étape (cf ci-dessous itération 3 et 4). Cela permet d’avoir un planning beaucoup plus fin et précis.

    Nouveau diagramme de Gantt

    Diagramme de Gantt avec des objectifs

     

  • Prise en compte du week-end dans les calculs

    Les courbes et les calculs sont plus précis L’effet est nettement perceptible au niveau du burndown chart avec des Sprints de 15 jours.

  • Nouveau champ «Validation» pour les objectifs et redesign du formulaire de saisie des objectifs

    Ce nouveau champ texte permet de définir les critères de validation de l’objectif (acceptance criteria en anglais) et les tests à réaliser.

  • Possibilité dans le rapport d’avancement de décomposer un objectif en sous-objectifs (par le menu contextuel)
  • Modification du design de la feuille de route
  • Ajout du menu «recherche de tâches» dans le tableau de bord
  • Ajout de l’ensemble de l’historique des plans de référence (mode avancé)
  • Nombreuses améliorations en termes d’ergonomie et de design dans l’ensemble des écrans
  • Suppression du Gantt pour les tâches accessible depuis la liste des tâches
  • Réduction de la période de verrouillage de compte à 30 secondes

N’hésitez pas à nous faire des retours sur cette nouvelle version en écrivant un commentaire à ce billet. Merci et bonne gestion de projet.

Mise à jour 3.1.6

  • TimePerformance est maintenant déployé sur le Cloud d’Amazon.

    Cette migration sur le Cloud permettra d’ajouter des serveurs supplémentaires par un simple clic.

  • Améliorations diverses:

    Le format de l’export de tâches a été modifié pour être identique au tableau de l’écran de recherche de tâches.

    Masquage des coûts sur la feuille de route pour les membres du projet

    Obligation d’avoir un chef de projet pour tous les projets

Version 3.1

  • Amélioration de la liste des tâches Il est maintenant possible d’organiser ses listes de tâches par simple glisser-déplacer grâce aux «poignées» sur le côté des tâches. Cela permet notamment de prioriser ses listes de tâches. L’auto-affectation d’une tâche fonctionne aussi par glisser-déplacer depuis la zone des tâches non assignées. (voir tous les détails dans le tutoriel)

todov311

  • Modification du Tableau des tâches Les objectifs ont été mis au-dessus des colonnes des tâches afin de gagner de la place. Le tableau des tâches est maintenant consultable par les observateurs du projet.

    Vue panoramique du Tableau des tâches (KANBAN)

    taskboard KANBAN

     

Suivi des temps = flicage ?

La mise en place du suivi des temps déclenche souvent une réaction épidermique de la part des équipes, qui suspectent leur management de vouloir les surveiller, voire de vouloir les espionner. Le suivi des temps est-il une forme de « flicage »?

Le suivi des temps ne sert pas à «fliquer». En effet, il repose entièrement sur une action volontaire de la personne concernée.

A l’inverse, pour faire du «flicage», il faudrait un vrai système de surveillance avec des logiciels qui espionnent à l’insu des personnes.

Le suivi des temps est généralement réalisé sur la base d’une déclaration de bonne foi sans aucune forme de vérification. On fait confiance aux gens pour déclarer leurs temps, et ceux qui veulent «tricher» peuvent donc le faire en toute impunité.

A quoi sert le suivi des temps ?

En premier lieu, le suivi des temps sert à comptabiliser.

Comptabiliser sert à donner de la visibilité au management et est la base d’une bonne gestion. Ce n’est peut-être pas « fun », mais c’est nécessaire, surtout dans un environnement professionnel.

On peut réussir des projets sans gestion, mais c’est risqué. On peut aussi faire de la comptabilisation implicite, comme dans SCRUM, mais cela implique certaines contraintes pas toujours faciles à respecter (taille de l’équipe constante, durée des sprints identiques etc.).

En général, le suivi des temps reste le brique de base de la comptabilité du projet, indispensable à sa gestion et à son pilotage.

Le suivi des temps peut aussi être utilisé par les premiers concernés, ceux qui suivent leur temps.

A l’instar du sportif qui recherche la performance et surveille son chrono, suivre son temps permet de mieux se connaître dans sa façon de travailler et de s’améliorer. Un exemple évident de potentiel d’amélioration concerne l’estimation des futures tâches.

Cette utilité du suivi des temps est vraie au niveau de l’individu mais aussi au niveau de toute l’équipe.

Dans un article précédent, nous avons fait un petit retour d’expérience sur ce que le suivi des temps peut apporter à une équipe de développement logiciel en mode agile.

Les 2 mauvaises raisons de ne pas suivre son temps

Raison n°1: Invoquer le manque de temps.

Ceci est un prétexte car le suivi des temps ne prend que quelques minutes par semaine. La vraie raison est qu’on n’en a pas envie car ce n’est pas une activité plaisante, bien que nécessaire. Dans ce cas, le manager doit rappeler l’intérêt et la nécessité, à mettre en comparaison du faible effort à produire.

Raison n°2: Crier au flicage.

Ceci traduit un climat de méfiance et de peur. Dans ce cas, il faut rétablir rapidement un climat de confiance.

Conclusion

Le suivi des temps n’est donc pas du flicage mais simplement une bonne pratique de gestion, voire d’autogestion. C’est une affaire de discipline personnelle et de transparence vis à vis du management. Cela peut aussi devenir un moyen d’apprentissage et d’amélioration, individuel et en équipe.

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 »