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é…)

Timeboxing

Le Timeboxing est une technique de gestion du temps utilisée dans les méthodes agiles pour la planification et la maîtrise des délais. Cet article en rappelle le principe et souligne les différences avec les approches traditionnelles.

Un concept très simple

Le Timeboxing est une division du temps en périodes successives d’une durée égale et relativement courte. Pour un projet, la durée recommandée des périodes est entre 2 et 6 semaines.

Cette technique est utilisée dans le domaine du développement logiciel pour imposer des livraisons fréquentes et régulières. L’objectif est d’accélérer le cycle de développement et le feedback des utilisateurs. Il s’agit aussi de lutter contre les problèmes bien connus de gestion du temps (cf. effet tunnel, lois de Parkinson et de Hofstadter, syndrome de l’étudiant etc.).

Dans le cas du développement logiciel, chaque période se conclut par une livraison. Elle est assimilable à une boîte dans laquelle il faut faire entrer le maximum de nouvelles fonctionnalités. La taille de la boîte est imposée et correspond à la charge de travail réalisable pendant la période. Le principal enjeu de la planification consiste à optimiser l’espace de chaque boîte en fonction de la priorité de chaque fonctionnalité et du temps nécessaire pour la développer.

Différence avec l’approche traditionnelle

En général, les techniques agiles prennent le contrepied de l’approche traditionnelle. Le Timeboxing n’échappe pas à la règle.

Continuer la lecture de « Timeboxing »

Gestion de Programme: quelles différences avec la gestion de Projet ou de Portefeuille ?

En quoi un Programme est-il différent d’un Portefeuille de Projets ou d’un gros Projet avec des sous-projets ?

L’objet de cet article est de clarifier le concept de Programme en s’appuyant sur les définitions du PMI ou de l’OGC.

Définitions

Projet Entreprise temporaire, décidée en but de produire un résultat, produit ou service unique.
Programme Groupe de projets en rapport les uns avec les autres, gérés de manière coordonnée afin d’obtenir des gains et un contrôle supérieurs à ce qu’on aurait en les gérant indépendamment les uns des autres.
Portefeuille Ensemble de projets et de programmes qui sont regroupés afin de faciliter une gestion efficace dans l’atteinte des objectifs stratégiques.

Définitions du PMI librement traduites

portefeuille-programme

Différences Programme vs Gros Projet avec des sous-projets

Dans un projet avec des sous-projets, les liens entre les sous-projets sont plus forts que les liens entre les projets d’un programme. Notamment, dans un gros projet, chaque sous-projet ne peut exister en dehors de l’ensemble. Dans un programme, on peut imaginer que des projets puissent continuer même si le programme est remis en cause.

Concrètement, dans un programme, chaque projet a son propre Business Case, c.-à-d. sa propre justification. Dans le gros projet, il n’y a qu’un seul Business Case et les sous-projets sont créés afin de faciliter la gestion d’un projet très complexe.

Le programme a aussi son propre Business Case qui explicite les gains générés au niveau du programme et justifie la création de cette couche de management supplémentaire.

Différences Programme vs Portefeuille

Un portefeuille rassemble des projets qui n’ont pas forcément de rapport entre eux. Dans un programme, c’est justement le rapport existant – ou possible – entre les projets qui est la raison d’être du programme.

Le terme rapport est volontairement assez vague pour couvrir des situations diverses.

L’exemple évident de rapport entre les projets est la notion d’interdépendance (ex: le projet A utilise un résultat du projet B). Dans ce cas, le programme permet de renforcer le contrôle par une meilleure coordination entre les projets.

Mais un programme permet aussi de créer de nouveaux liens entre les projets afin de générer des bénéfices supplémentaires. Un programme permet de créer de nouvelles opportunités.

Par exemple, en réunissant plusieurs projets au sein d’un programme, on peut générer des offres combinées à plus grande valeur ajoutée. Sans programme, l’offre combinée risque de ressembler à un patchwork sans homogénéité.

De plus, la bonne coordination de plusieurs projets peut générer une valeur supplémentaire, par exemple en créant un effet d’annonce grâce à la sortie simultanée de plusieurs produits.

Enfin, le programme est aussi une source d’économies (par ex: passage d’appels d’offres plus importants, développements de composants réutilisables sur plusieurs projets, mutualisation des coûts publicitaires ou de communication etc.).

Le portefeuille et le programme ont des vocations très différentes. Le portefeuille est un outil de pilotage managérial. De son côté, le programme apporte une valeur business supplémentaire en plus d’être un outil de pilotage.

Quelles sont les techniques spécifiques de la gestion de programme ?

Il n’y en a pas vraiment car la gestion d’un programme empreinte tour à tour les techniques de la gestion de portefeuille de projets (alignement stratégique, sélection des projets, optimisation des ressources etc.) et toutes celles de la gestion de projets (risques, coûts, délais, qualités, communication etc.).

Les processus spécifiques à la gestion de programme sont:

  • ceux qui concernent l’initialisation du programme et la mise en place de la structure de management
  • ceux liés à la gestion des gains stratégiques (Benefits Management)

La gestion des gains stratégiques est sans doute l’élément le plus spécifique car c’est la raison d’être du programme.

Le programme se situe à cheval entre le portefeuille de projets et le gros projet. C’est pourquoi la frontière est souvent floue. Nous espérons que cet article vous aura apporté un nouvel éclairage. N’hésitez pas à nous laisser vos commentaires.

PS: Cet article a été écrit suite à la participation à la formation «Best Pratices in Program Management» de PMGS.

Les outils de gestion de projet mal aimés

À en croire M. Yves Cavarec, secrétaire chapître du PMI Ile-de-France, les progiciels de gestion de projet sont perçus par les chefs de projets comme lourds, inadaptés ou contraignants.

En effet, dans une interview sur Microsoft TechNet, M. Cavarec fait un sombre constat en énonçant les 4 situations suivantes rencontrées dans les entreprises:

  1. le chef de projet «qui a l’habitude de gérer ses projets en toute transparence mais sans forcément utiliser des outils», pour lesquels l’utilisation d’un outil serait une contrainte.
  2. le chef de projet «qui va se dépêcher de mettre à jour sa planification dans l’outil de planification quelques jours [avant] ou la veille d’une revue de projet», ce qui correspond à un détournement de la finalité de l’outil.
  3. «l’utilisation parallèle des outils de gestion de projet et puis d’autres outils [tableur, traitement de texte etc.]. Pourquoi ? parce que l’outil n’est manifestement pas adapté à l’usage.»
  4. «le chef de projet est assommé par un ensemble de demandes. On lui demande de mettre à jour une planification dans un outil. on lui demande de mettre à jour un fichier Excel [etc…]. Il passe beaucoup de temps à faire de l’administratif alors [qu’il a bien d’autres fonctions]. L’aspect administratif de la gestion de projet prend le pas sur le reste.»

Chez Time Performance, nous partageons ce constat et c’est ce qui nous a poussé à envisager la gestion de projet autrement. De là est venue l’idée d’une Gestion de Projet 2.0 et d’un outil différent qui réunit l’essentiel de la gestion de projet dans un seul logiciel, simple et dont le reporting est totalement automatisé.

Sans être la panacée, TimePerformance garantit un excellent rapport entre la valeur ajoutée pour le chef de projet et le temps qu’il passe dans l’outil.

Cliquez ici pour voir l’interview sur le site Microsoft TechNet

5 autres idées fausses à propos des Méthodes Agiles

De plus en plus d’équipes revendiquent une démarche Agile pour échapper aux lourdeurs des méthodes traditionnelles. Mais connaissent-elles réellement les implications de l’Agilité ?

Suite au précédent article, 5 idées fausses à propos des Méthodes Agiles, nous vous proposons un 2ème opus avec 5 nouveaux préjugés sur l’Agilité.

Idée fausse n°6: les Méthodes Agiles, c’est la liberté de faire à sa façon

Equipe en « autogestion », remise en cause du rôle de chef de projet, redistribution des responsabilités, suppression des aspects contractuels, pas de planification détaillée, absence ou presque de documents, communication principalement verbale…

Tous ces éléments, qui séduisent les équipes, ont un petit goût de liberté et d’émancipation, qui risque d’être mal perçu par le management traditionnel.

Cependant il serait faux de considérer que l’Agilité est synonyme d’absence de règles, de contraintes et de structures.

Continuer la lecture de « 5 autres idées fausses à propos des Méthodes Agiles »

Citations pour les méthodes agiles

«L’avenir ne se prévoit pas, il se prépare.», Maurice Blondel.

Se préparer aux changements et aux évolutions sans essayer de trop prévoir est le propre des méthodes Agiles.

«Attendre d’en savoir assez pour agir, c’est se condamner à l’inaction.», Jean Rostand

Un reproche fait aux approches classiques est le temps passé à réfléchir, à recueillir de l’information et à produire une documentation exhaustive, au détriment du développement et des tests, c.-à-d. le temps de l’action.

«Ça n’a pas de sens d’embaucher des gens intelligents puis de leur dire quoi faire. Nous embauchons des gens intelligents afin qu’ils puissent nous dire ce qu’il faut faire.», Steve Jobs

Les méthodes agiles, Scrum et XP, impliquent les développeurs dans la définition du contenu du produit ou des fonctionnalités. Le dialogue avec les utilisateurs est direct et quasi-permanent. On ne leur demande plus d’implémenter un cahier des charges, mais de comprendre le besoin des utilisateurs et même la valeur que cela produit.

5 idées fausses à propos des Méthodes Agiles

La grande diversité des méthodes agiles et de leur pratique génère de nombreuses idées fausses à leur sujet. L’objet de cet article est de démystifier les idées fausses les plus courantes trouvées dans les débats sur le Web en y répondant factuellement.

L’arrivée des Méthodes Agiles est en train de générer un fossé entre leurs partisans et ceux des méthodes traditionnelles. Cette rupture est renforcée par le fait que les 4 principes fondateurs des méthodes agiles sont des contre-pieds vis à vis de l’approche classique:

  1. Individuals and interactions over processes and tools
  2. Working software over comprehensive documentation
  3. Customer collaboration over contract negotiation
  4. Responding to change over following a plan

(cf. le Manifeste Agile, site officiel: http://agilemanifesto.org/)

L’idée ici n’est pas de prendre parti pour les méthodes agiles contre l’approche classique. Chez Time Performance, nous pensons que chaque approche peut être bonne ou moins bonne selon le contexte.

Idée fausse n°1: Les Méthodes Agiles sont réservées aux « petits » projets

Faux, faux et archi-faux… C’est pourtant l’idée la plus répandue. C’est aussi la plus fausse.

1) Les Méthodes Agiles ont pour raison d’être de permettre au projet de s’adapter facilement aux changements (« Reponding to change.. »). Cela n’a de sens que pour les projets de durée plutôt longue, car le risque de changement est d’autant plus fort que le projet s’éternise. De plus, la durée est nécessaire pour rentabiliser l’investissement lourd qui est fait dans les tests, leur automatisation et la qualité du code, qui sont au coeur des méthodes agiles.

D’ailleurs les méthodes Agiles ont été conçues pour le développement de produit logiciel (d’où le terme de Product Owner qu’on trouve dans SCRUM), dont la durée de vie s’étend sur plusieurs années voir plusieurs décennies.

Cette idée fausse a peut-être été inspirée par la brièveté des cycles de développement. Or un développement itératif a pour but d’éviter le risque d’effet tunnel, qui est d’autant plus important que le projet est long.

Donc les méthodes Agiles sont particulièrement adaptées, voire recommandées, pour les projets de longue durée et non pour les projets courts.

2) Concernant la taille de l’équipe, il est vrai que SCRUM limite la taille des équipes à 8 ou 9 individus, et XP le recommande en pratique, car c’est le fonctionnement optimal. Mais rien n’interdit de constituer plusieurs équipes qui travailleront chacune sur un sous-projet. D’ailleurs SCRUM le prévoit avec un mécanisme de coordination qui s’appelle le SCRUM de SCRUMs. Une équipe de plusieurs dizaines de personnes peut être ainsi constituée.

Idée fausse n°2: La classification « Méthode Agile » détermine un groupe homogène

Les méthodes Agiles sont très différentes les unes des autres. Elles sont même parfois presque totalement complémentaires, comme XP et SCRUM. Si ces 2 dernières méthodes marquent une réelle rupture par rapport à l’approche classique, certaines comme le Unified Process constituent des chaînons intermédiaires de l’évolution des méthodes au cours des 20 dernières années.

Toutes ces méthodes ne s’entendent que sur les 4 principes, ce qui est peu. De plus, le Manifeste Agile offre certaines latitudes en matière d’interprétation. Il est donc hasardeux de parler des Méthodes Agiles en général. Il vaut mieux parler des pratiques proposées par telle ou telle méthode.

A cela, il faut ajouter que les mises en oeuvre de ces méthodes sont encore plus hétéroclites.

Idée fausse n°3: Les Méthodes Agiles sont des méthodes de gestion de projet

Cette partie a été réécrite suite au débat né avec les nombreux commentaires ci-dessous afin de préciser les arguments. Si cette idée est vraiment fausse, comme nous le croyons, elle semble difficile à combattre 😉 .

L’objet principal des méthodes agiles est le processus de développement (logiciel) depuis la définition du besoin jusqu’à la livraison d’un produit. Ceci est attesté par le Manifeste Agile qui représente l’âme de ces méthodes et qui commence par Nous découvrons comment mieux développer des logiciels… (source manifeste agile).

La notion même de projet n’est pas requise pour utiliser SCRUM ou XP. Ce qui compte dans ces méthodes, c’est le développement d’un produit. Or on peut développer un produit en dehors du cadre formel d’un projet et utiliser SCRUM ou XP.

Si une méthode agile est utilisée sur un projet, cela ne remplace pas la mise en place d’une vraie gestion, ne serait-ce qu’au niveau des coûts. Il y a plusieurs autres domaines non couverts par l’agilité: l’établissement d’un cas d’affaire (business case), la gestion des parties prenantes, la gestion des risques, la conduite du changement, les phases amont et aval d’un projet…

Notons que cette idée fausse n’existe pas dans le monde anglo-saxon. Nous n’avons pas trouvé d’exemple parmi toutes les vidéos disponibles sur Internet ou dans des articles en anglais où SCRUM était présenté comme « a project management method » ou « a project management framework ». Amusant, dans la traduction en français du manifeste agile, le principe Welcome changing requirements, even late in development est devenu Accueillez positivement les changements de besoins, même tard dans le projet plutôt que même tard dans le développement. Bizarre, non ?

Idée fausse n°4: Les Méthodes Agiles sont des méthodes de développement rapide ou de prototypage

Des cycles de livraison courts ne signifient pas que les développements sont rapides. Cela implique simplement de valider l’avancement régulièrement et concrètement.

Il y a même fort à parier que les développements seront moins rapides au départ par rapport à un cycle en V, à cause des exigences en matière de qualité de code et de couverture de tests, incluant de nombreux refactorings (redéveloppements). Ce n’est donc pas une bonne approche pour faire du prototypage.

Les projets Agiles sont des marathoniens et non des sprinters. C’est pourquoi ils voyagent légers. Et sur la distance, ils sont en général les plus rapides et consomment moins.

Idée fausse n°5: Les développements agiles sont difficilement maintenables à cause du manque de documentation

La crainte de voir la connaissance du fonctionnement du logiciel partir avec les développeurs à l’issue du projet est parfaitement légitime lorsque la documentation est insuffisante.

Cependant c’est une erreur de considérer qu’il n’y a pas de documentation. A l’instar de l’Open Source, dans une approche Agile, la principale documentation est le code source. Et comme de nombreuses livraisons sont réalisées tout au long du projet, tout est fait pour garantir une parfaite maintenabilité.

D’une part, les règles de codage sont très strictes et leur validation automatisée. Plusieurs pratiques au coeur des méthodes Agiles (le refactoring,  l’absence de Code Ownership, le Pair Programming etc.) garantissent au final un code source propre, bien conçu, lisible et bien documenté.

D’autre part, dans code source il faut inclure les tests (unitaires, intégration, fonctionnel etc.). Les tests sont comme un document de spécifications détaillées et un outil de validation intégrés. C’est un investissement non négligeable mais indispensable pour la maintenabilité et l’évolutivité.

Dans une approche agile, le code source et les tests tiennent lieu respectivement de conception détaillée et de spécification détaillée, exprimées en langage naturel dans les commentaires et en langage informatique. Le gros avantage est de garantir que la documentation est toujours à jour par rapport au code, et que le code reste conforme aux spécifications grâce à l’exécution quotidienne des tests avec l’intégration continue. Un développement agile devrait donc être très facile à maintenir.

En réalité, la vraie question est: « Entre une documentation complète (spécification, analyse, conception etc.) et un code source propre et bien testé que choisiriez-vous? »

Les méthodes agiles donnent la priorité au code source et aux tests. Le cycle en V favorise dans la pratique les documents qui sont générés en amont du projet, au détriment du code et des tests situés en aval du cycle lorsque la pression pour aller vite, trop vite, est beaucoup plus forte.

Cet article a maintenant une suite: 5 autres idées fausses sur les Méthodes Agiles

Gestion des Coûts et Projets Agiles (la vidéo)

En bonus voici la vidéo des 10 premières minutes de la conférence sur la Gestion des Coûts et les Projets Agiles animée par Renaud Choné lors de l’Agile Tour 2009.

Continuer la lecture de « Gestion des Coûts et Projets Agiles (la vidéo) »