Témoignage
 

Articles « Info » : Chef de projet

 



Écrivez à AILES !



Réactions au projet en manque d'itération
(Christophe THIRY)



Retour vers l'article
(chef de projet)



Retour vers le dossier
Chef de projet
 


Projet en manque d'itération :
Les risques
[CLorrain]


    Colin LORRAIN, jeune ingénieur informaticien, a commencé sa carrière en tant que développeur sur un projet manquant sérieusement d'itérations. Comme tout informaticien jeune et motivé, il s'attendait à découvrir les joies de la création informatique.
    Mais voilà, rien ne s'est passé comme cela aurait pu, comme cela aurait dû. Et mi-2002, il témoigne et revient sur un projet inachevé.

    Mes "questions" sont en
italique rouge.
   
Mes remarques sont en [italique rouge entre crochet].
    Les "citations remarquables" de mon interlocuteur sont mises en exergues en gras italique bleu.
    Certains concepts importants de cet entretien sont gras italique.

    « Ce qui ressort de la gestion de projet... c'est l'absence de communication avec le client ! »

Pour vous, jeune développeur,
Waterfall (1970) vous évoque quelque chose ??
    Bien sûr : dans votre site à l'aspect humoristique un peu cynique de la BD Dilbert, on ne sait jamais vraiment si on doit pleurer ou rire tellement certaines choses sont vraies, notamment le Waterfall.
    J'ai vécu une expérience similaire en tant que développeur, avec un client externe (avec en plus l'aspect 'flip' expose dans 'Chef de projet : expériences itératives').
    Pour moi, le Waterfall illustre aussi un des points récurrents de la gestion de projet informatique, qui est l'absence trop fréquente de dimension "management" des chefs de projet. En l'occurrence, le chef de projet se laisse 'bouffer' par son BB (Big Boss), donc par le "côté management" de l'équipe projet..
    Ce qui ressort aussi, selon moi, c'est l'absence de communication avec le client
Dans le scénario du Waterfall, le 'client' redéfinit le cahier des charges N fois qu'il livre au chef de projet sans que celui-ci ne se soit jamais (apparemment) impliqué dans sa réalisation. Ceci m'amène au point que je voulais soulever par rapport à votre site. 

    « La définition du projet ne devrait pas se faire sans une interaction forte entre le chef de projet et le client ! »

Et ce point implique une communication client - chef de projet ?
    Exact.
    Dans la partie 'Le cycle Itératif' section 'Manager un projet', il est dit qu'un projet est fait de trois dimensions :
- l'équipe (de développeurs),
- le sujet (ensemble des fonctionnalités que doit remplir le programme),
- les délais (à respecter... en théorie).
    Il me semble que le client est plus important que le sujet car il est à la source du sujet. La définition du projet ne devrait pas, selon moi, pouvoir se faire sans une interaction forte entre chef de projet et client.
    Ceci pour des raisons de compréhension (linguistique) mais aussi pour éviter des aberrations fonctionnelles. Le client a des attentes mais n'a pas forcement tout le projet en tête (donc risque de redéfinition de cahier des charges) et n'a pas forcement les connaissances pour traduire cela en termes de fonctionnalités informatiques, c'est donc du ressort du chef de projet de s'assurer, au départ, de la stabilité des spécifications et de le verrouiller au mieux.
[Très vrai et cela rejoint la vision de la "qualité à tête chercheuse" de Laurent Bossavit, Coach XP]

Et vous avez un exemple concret de projet... en manque d'itération ?
    Le projet auquel je faisais allusion, est un projet qui a été réalise par ma société pour le compte d'un institution départementale. C'est un projet internet/intranet avec gestion de données institutionnelles. 
    L'aspect principal du projet est qu'il s'est déroule sans accrocs jusqu'à quasiment la date de livraison. Les phases d'analyse et de conception se sont bien déroulées, si ce n'est un nombre d'itérations important sur la partie graphique, ceci n'étant pas bloquant pour la partie purement technique. La phase conception est validée par le client au travers de son DSI qui est notre interlocuteur sur le projet. [cf. remarque de Christophe Thiry]
    Nous sommes maintenant a environ un mois et demi de la date de livraison quand la phase d'implémentation démarre. 
    Je rappelle qu'il y a deux parties sur le projet, une partie internet et une partie intranet.
    La partie internet est réalisée en collaboration avec la Direction de la communication qui surveille étroitement l'image donnée par le site. Cette partie est réalisée sans encombre, mais avec déjà un dépassement sur le délai de livraison (la partie intranet n'étant pas commencée). Le client reste satisfait, et quelques concessions lui sont faites (réalisation de parties non prévues !!!).

    « Et là, tout se gâte... le projet s'est terminé par une rupture du contrat... »

Ennuis en vue, non ?...
    La partie intranet commence donc avec déjà du retard [cf. remarque de Christophe Thiry] et une pression accrue notamment cote management de l'équipe projet (BB, le "Big Boss" du Waterfall) qui voit là des ressources utilisées et non rentables [cf. remarque de Christophe Thiry]. Il est décide que la partie intranet sera livrée par tranche, notamment pour permettre aux agents de faire les saisies pour le site.
[On retrouve une des causes les plus fréquentes de dérives de projets informatiques, ici la 10ème. De plus, la gestion très "ressources humaines" de BB s'oppose à une gestion plus organique et humaine préconisée par XP - Extrem Programming - cf. Laurent Bossavit, Coach XP]
    Et là tout se gâte... En fait, c'est au moment où les parties sont livrées que les incohérences (fonctionnelles) du cahier des charges se révèlent [cf. remarque de Christophe Thiry]. Ces problèmes fonctionnels s'ajoutant aux bugs ou aux fonctionnalités non encore implémentées font que les différents acteurs ne savent plus vraiment où donner de la tête [cf. remarque de Christophe Thiry]:
- Le DSI, a qui les agents remontent des manques fonctionnels et qui retouche le modèle de la base de données avant de s'apercevoir qu'il faut aussi un écran de saisie spécifique [cf. remarque de Christophe Thiry];
- Le manager (BB) qui reprend des ressources aux chef de projet car elles ne sont pas rentables, mais qui lui en redonne parce que le client menace de faire jouer les indemnités de retard
- Chef de projet ne sachant plus ou donner de la tête entre les corrections de bugs, l'ajout de nouvelles fonctionnalités et des effectifs en constant changement.
    Le projet s'est terminé par une rupture du contrat et le paiement des parties effectuées, la fin du projet ayant été confiée à la société chargée de la rédaction du cahier des charges.

Alors, à votre avis, existe-t-il des 'astuces' pour "s'en sortir" malgré tout ?
    Personnellement, je suis arrive à la période ou l'intranet était en cours de réalisation. C'était ma première expérience de développement. Je n'avais malheureusement pas de recul suffisant pour bien voir que les délais de réalisation étaient insuffisants. [cf. remarque de Christophe Thiry]
    Ce que je préconiserais néanmoins en ces cas, c'est d'arrêter tout ! Si l'on en arrive là, c'est qu'il y a un ou plusieurs éléments de la chaîne qui ont un problème. Il est important dans ces cas de faire intervenir une personne tierce qui permette de remettre les choses à plat. La remise a plat consiste a :
- analyser ce qui est fait,
- analyser ce qu'il reste a faire (en prenant en compte les nouvelles demandes fonctionnelles),
- redéfinir les conditions de réalisation 


    Il reste néanmoins, pour moi, évident que les choses se font en amont. Pour information, voici ce que je reproche à ce projet : 
- projet monolithique énorme (>1MF),
- un seul chef de projet, trop jeune et inexpérimenté, pour tout le projet,
- le projet avait été défini dans un cahier des charges pris en main par la DSI, coupant ainsi tout rapport avec les utilisateurs finaux. [cf. remarque de Christophe Thiry]

[Oups, petite remarque : un projet de quelques MF, donc moins d'un ME - mois d'un million d'€ euros! - reste un petit "moyen" projet. Un projet moyen dépasse la dizaine de million d'euros et tourne environs avec 30 à 40 personnes sur 3 - 4 ans. Un gros projet dépasse les 50 ME, et nécessite une bonne cinquantaine de personne sur au moins 3 ans.
Ces repères ne sont pas absolus mais ont juste pour ambition de relativiser l'adjectif "énorme" associé au chiffre "1 MF" (à peine 150000 € ;)
Grâce aux miracles de la relecture avant publication, voici la réponse de Colin Lorrain :]

    Effectivement, dans l'absolu, le projet n'est pas forcément très conséquent. Néanmoins, le 'énorme' s'applique :
    - au fait que, pour ma société, 1MF représente une somme importante, ce qui met une certaine pression sur la partie managériale.
    - au fait que, aussi et surtout (depuis ma vision actuelle de chef de projet), le client a voulu tout faire d'un coup, en un seul projet. [cf. remarque de Christophe Thiry]
    Autant pour moi, donc. Il faut en effet toujours remettre le coût d'un projet dans son contexte. Les chiffres que j'ai cités sont issues de grands industriels ou de banques!] 

    Ce dernier point [à savoir, "le client a voulu tout faire d'un coup, en un seul projet"] est important pour moi. La nécessité d'itérations n'est pas à confiner au seul contexte d'un projet informatique. La mise en place d'un système d'information demande souvent de se poser des questions sur l'organisation en interne et cela se fait rarement en une seule fois (procédures à identifier, personnel à impliquer... [Très bonne remarque. C'est typiquement le genre de situation où des réflexion de type architecturale s'imposent, en particulier pour mieux se poser la question "quel est mon métier ?" (Architecture Métier) et qu'est-ce que mon système d'information doit faire (Architecture Fonctionnelle). Colin Lorrain détaillera ce dernier aspect plus bas en abordant la définition du périmètre fonctionnel du projet.]

    « Tout chef de projet se laisse bouffer par son management s'il n'est pas capable de faire valoir ses besoins. »

Pour vous, tout chef de projet risque de se laisser bouffer par son management ? (son "BB" ?)
    Je crois que l'exemple ci dessus est un bon exemple. Tout chef de projet se "fait bouffer" à partir du moment où il n'est pas capable de faire valoir ses besoins. On en revient ici au triangle Coût/Qualité/Délai. [cf. remarque de Christophe Thiry
    Coût et délai sont des variables sur lesquelles client et managers (BB) ont un regard direct (puisqu'ils attendent que le logiciel réponde à leurs attentes donc soit de qualité - je ne m'étendrai pas ici sur la définition du mot qualité-). [En revanche, Laurent Bossavit détaille cette notion et insiste sur l'aspect "répondre aux attentes"]
    C'est au chef de projet de faire valoir ses droits sur le plan des ressources qui lui sont allouées et du délai dont il dispose. Le contexte reste crucial. Si vous avez un BB qui n'est pas souple sur ce plan, soit vous le suivez et c'est sur vous que retombera la faute (non-qualité dans les programmes) soit vous vous imposez et vous "sautez" (à moins que l'on reconnaisse vos qualités de manager et dans ce cas vous ne serez pas longtemps CDP - il est permis de rêver, non ? :-)

    « Évitez le "client-roi", s'adresser au "vrai client (l'utilisateur final). Si vous avez un client obtus, fuyez! »

Comment vous attachez-vous, de votre côté, à mieux écouter le client ? 
    L'écoute du client est avant tout une affaire de communication !

    Un projet informatique est souvent l'occasion d'une rencontre entre deux mondes différents, chaque monde ayant sa propre culture et son propre langage. Établir la communication signifie pour moi arriver à ce que les deux personnes parlent un langage commun. Attention cependant aux clients qui essaient de parler informatique ! La première étape consiste donc pour moi à s'imprégner de l'environnement du client. [Exact, "éviter qu'un client parle informatique" est la raison d'être du cahier des charges, puis des spécifications]

    Deuxième étape, établir l'entente avec son client. Un projet ne peut se dérouler correctement sans une entente, qu'elle soit cordiale ou distante, entre les différents acteurs. Si vous rencontrez un client obtus, fuyez !!! [cf. remarque de Christophe Thiry] Blague à part, à moins que le cahier des charges ne comporte aucune lacune (et encore, les délais ne seront peut être pas respectés), le risque d'être confronté à des problèmes n'est jamais nul. Mieux vaut dans ce cas avoir un client avec lequel il est possible de négocier. L'entente avec son client reste avant tout une affaire de feeling, de personnes et de caractères. [exact, cf. le témoignage d'un chef de projet qui décoiffe !!!] C'est un peu une histoire de couple...

    Une fois ces deux étapes franchies, on peut passer à la définition du projet lui-même.

Ok, alors qui sont vos interlocuteurs durant cette phase de définition du projet ?
    Répondre aux attentes du client, c'est d'abord connaître ces attentes et surtout les identifier. De plus, le client, si il est matérialisé par une personne, se limite rarement à cette seule personne. La première chose à faire est donc d'identifier les différents acteurs du projet.

    Dans un projet, il y a les acteurs "actifs" (ceux qui ont des besoins, utilisateurs en général) et les acteurs "passifs" (ceux qui ne demandent rien mais posent des exigences, un administrateur système par exemple). Le travail du chef de projet consiste dès lors à dénicher toutes les demandes de ces personnes. Il faut donc maintenant interviewer toutes ces personnes en vérifiant à chaque fois que l'on n'oublie rien ni personne. L'expérience du chef de projet joue un rôle prépondérant ici. La rencontre des différents acteurs vous permet aussi de déceler les dissensions internes (l'administrateur réseau n'a pas été impliqué, donc il ne donnera pas d'accès au système - comme quoi, les acteurs passifs peuvent être très actifs !!) encore plus que les incompatibilités matérielles (la base de données existe, mais elle est propriétaire et il n'y a aucun moyen d'y accéder) qui peuvent bloquer votre projet.

    L'acteur le plus précieux reste le VRAI client, c'est à dire l'utilisateur final. C'est souvent lui qui vous révèle que "la page intranet de saisie de prix des produits" dont vous a parlé votre boss et le client est en fait une application complète de gestion de stock [cf. remarque de Christophe Thiry]. Une fois le vrai client identifié (cela peut être plusieurs personnes), la définition fonctionnelle du projet commence.

    Le périmètre fonctionnel d'un projet est souvent une donnée floue. A mon sens, il est important d'essayer de définir le projet au delà des limites données au départ. Cela permet plusieurs choses : - resituer le projet dans un contexte plus global (et donc, de mieux voir les interactions possibles avec d'autres)
- prévoir les évolutions futures
- permettre de s'assurer de la maturité du projet dans la tête du client
Même si il semble au départ évident qu'un client sais ce qu'il veut, on s'aperçoit en général qu'il sait "à peu près" ce qu'il veut, ce qui n'est pas du tout la même chose !
[comme évoqué plus haut, tout cela n'est pas sans rappeler un travail d'Architecture Fonctionnelle]

    A partir des données récoltées, on peut maintenant entrer dans la définition du projet, c'est à dire, circonscrire le périmètre du projet, puis s'enfoncer dans les détails. Il ne faut jamais à hésiter à aller trop loin, il vaut mieux trop en dire qu'en oublier. Cet excès à surtout un avantage, mobiliser le client ! Aller au plus loin avec le client lui permet de mieux prendre conscience de ce qu'il vous demande. Il faut à tout prix éviter le client roi. [cf. remarque de Christophe Thiry]

    Tout cette phase d'analyse ainsi que la phase de réalisation doivent rester le théâtre d'un perpétuel échange avec le client. Les itérations ne sont pour moi que le reflet d'une perpétuelle (et désespérée) tentative d'"accorder ses violons" avec le client car il y a toujours le risque de ne pas se comprendre. Un des signaux d'alarme sont les aberrations fonctionnelles. Je citerai l'exemple du client qui veut "un site sur lequel les gens puissent stocker leurs fichiers". Tentation est grande de penser à un site web, alors qu'un simple serveur de fichier réseau suffit.

Et bien, merci infiniment, M. Lorrain, pour ces avis éclairés et espérons que d'autres développeurs ne manqueront pas de donner leur vision de la réalisation d'un projet en "collaboration" avec le client :)


               
 
Avertissement !
 
Décollage !  |  Présentation du site web "AILES"  | 
Infos générales  |  articles "Informatique"