Comment libérer les projets du triangle de fer
Lorsque je fais le point avec un client sur la situation de son organisation, on en arrive souvent à faire un même constat : les équipes sont à fond en production, cravachent dur pour livrer tout ce qui est dans le cahier des charges et tenir les délais. Trop de fonctionnalités, trop peu de temps… des previsions ne seraient-ce qu’un peu depassées et les marges diminuent… Ce n’est pas l’envie qui manque de developper d’autres axes, mais le temps manque tout simplement. On est pris dans le triangle de fer !
Le triangle de fer
Parmi les décideurs d’un projet, chacune des parties prenantes a une perspective différente sur le projet : * la perspective financière qui cherche à obtenir un produit/système à moindre coût, * la perspective managériale dont le but est de respecter les délais et de manager les personnes. Cela se résume dans la figure suivante, dite du “triangle de fer”.

La réussite d’un projet repose donc sur la satisfaction de ces trois critères : livrer l’ensemble des fonctionnalités, dans les délais et au budget prévu.
Faire varier les ressources ?
Ce triangle est qualifié de triangle de fer car il ne peut évoluer. Un projet doit aboutir dans les délais en livrant l’ensemble des fonctionnalités. Classiquement, la seule variable d’adaptation sur laquelle on peut jouer passe donc par l’ajustement des ressources.
Si les délais et le périmètre sont fixes et que le projet prend du retard, on peut alors avoir l’impression qu’assigner des personnes supplémentaires permettra de résoudre les problèmes et de livrer dans les temps. C’est le genre de solution d’autant plus facile lorsque l’on dispose d’une ressource abondante (et les mauvaises langues diront corvéable à merci =;]) : on rajoute des stagiaires. Toutefois, cette approche a des limites. Comme on dit : “9 femmes ne peuvent avoir un enfant en 1 mois” .
On sait, notamment depuis le livre “Mythical Man-Month” de Brooks que le fait de rajouter des personnes sur un projet en retard est d’ailleurs avant tout une source de complexification et d’échec des projets. Comme il le dit lui-même “Adding people to a late project makes it later.”
“Rajouter des personnes sur un projet en retard ne fait que le retarder d’avantage.”
Ca parait bête à dire, mai les ressources humaines ne sont pas interchangeables. Ou alors seulement dans le cas de projets sans vraies contraintes de ressources, de délais ou de complexité.
Une dimension cachée : la qualité
Le triangle de fer contient une dimension cachée, implicite : la qualité. Ce n’est plus un triangle : c’est une pyramide ! Autant il est facile de quantifier les ressources, de surveiller les délais ou de lister les fonctionnalités, autant pour évaluer et garantir la qualité d’un projet informatique, on entre dans l’irrationnel, les cncantations vaudoues, les rituels mysterieux…
“Pourvu que ca tienne !”
C’est regrettable à dire, mais dans le monde logiciel : la qualité tend à être un élément à part des fonctionnalités. Parlez à un client de qualité et il vous dira qu’il la veut… mais sans être prêt à en payer le prix. Si l’on cherche à figer à la fois les délais, les coûts et le périmètre d’un projet, on ne dispose d’aucune marge de manoeuvre et on risque vite être déçu. Quand les échéances se rapprochent et que les budgets explosent, on a plus aucune marge de manoeuvre et c’est justement elle la première victime : la qualité.

Autant se tirer une balle dans le pied. A long terme, c’est le genre de situation synonyme d’un client insatisfait car les méchantes bestioles (1 et 2) refont toujours surface! Tant qu’on est sur une note humoristique, Mike Vizdos lui aussi aborde le sujet avec ses cartoons.

La dimension humaine
Comment tenir les délais en essayant de ne pas trop bâcler la qualité, si l’on ne tombe pas dans le piège de rajouter du monde dans l’équipe ou tout simplement lorsque l’on ne dispose pas de personnes supplémentaires à mobiliser ? En fournissant ‘un dernier coup de fouet’… ‘en se mobilisant’… ‘en faisant le forcing’…
C’est le genre de comportement courant, voire même valorisé ! Il faudrait presque ériger un monument à la mémoire des héros infatigables qui à grands renforts de café tapote sur leurs claviers des nuits entières et livrent l’oeil hagard une application impeccable au petit matin…
Nous le savons tous, ce n’est jamais un bon présage sur le plan de la qualité. Ni à long terme pour l’ambiance et l’épanouissement au travail…
Comment s’en sortir ?
Comme nous le rappelle Alistair Cockburn, il y a une dimension supplémentaire : le processus. Comment donc s’en sortir ? Grâce à une approche agile bien sur.
Etre agile : “Cheating legally to win” !
Le point essentiel est de se débarrasser du “Big Design Up-Front”, qui consiste à recueillir l’ensemble des besoins avant la conception et le développement. C’est un aspect que j’avais aborde précédemment et que je risque de répéter…
L’approche agile propose à la place de privilégier un raffinement progressif des besoins en s’appuyant sur des discussions fréquentes. On recueille juste ce qu’il faut de besoins et on développe les fonctionnalités correspondantes pour obtenir un feedback rapide sur une application fonctionnelle.
On prend ainsi en compte le fait que les besoins évoluent fatalement non seulement en même temps que l’environnement métier ou le marché, mais surtout avec la connaissance que l’on acquière au fur et à mesure du projet.
Pire, prendre en compte l’ensemble des exigences dans une même livraison, c’est courir droit vers l’explosion des besoins. Cela revient au mieux à livrer des fonctionnalités inutiles. Au pire, à ne rien livrer, parce que l’on est tout simplement débordé.

Voila pour aujourd’hui. Je répondrais dans la deuxième partie à la question : comment l’agilité aide-t-elle concrètement dans tout ça ?
20 January 2008 à 10:19
monsieur, madame, je suis une étudiente en derniere année de webdesigner , je suis en recherche d’un travail de fin d’année , et la gestion de projet par la mothode Agile, ainsi que la méthode DSDM, me semble être un bon sujet de TFE , pouvez vous me le confirmer? pouvez vous aussi m’evoyer plus d’information à ce sujet? je vous remercie d’avance !!