Bon, derrière ce titre un peu éxagéré se cache une réalité que je découvre depuis que je me suis lancé comme prestataire freelance dans le monde du web en général et dans le monde de Drupal en particulier...
On me l'avait dit plusieurs fois, mais j'avais toujours cru à une certaine éxagération de la part des collègues un peu blasés, mais non... les clients sont... ne sont pas... enfin...
Avec la mise en place de quelques projets récemment je me rends compte que les clients réfléchissent rarement très longtemps à leurs besoins! Ils ont des idées très claires dans leur esprit, mais c'est le travail du prestastaire de leur sortir les vers du nez, faute de quoi tensions et déceptions sont au rendez vous!
Un exemple au hasard : un client pour un gros intranet que je suis en train de développer me demande de créer un « annuaire de contacts » pour gérer les contacts de son organisation. Je décide de ne pas utiliser de solution toute fait comme CIVICRM qui me semble un peu trop lourde pour ses besoins... Une fois la base de la solution mise en place (en suivant à la lettre son cahier des charges ainsi que notre « Use Case » bien défini, il me sort entre deux cafés la phrase choc
Client : « Quoi? Je ne peux pas utiliser ce système pour envoyer et reçevoir des mails? »
Moi : « Je ne vois pas le rapport... »
Client : « Ben, Alexis, il me semble que c'est évident que si on centralise nos contacts, on veut s'en servir pour nos mails..
Moi (qui commence à sortir les fichiers du Use Case et le Cahier des Charges signé par le client) : hummmm.....
Client: (qui me voit venir) : Ouiiiiiiiiii je sais qu'on en a pas parlé! Mais il me semble que c'est tellement évident que je ne pensais pas qu'on avait à en parler..
Moi: Hummmmmmmmmmmm
Client : Bon.. hé merde... combien de plus pour un webmail intégré à l'intranet
Moi: Ahhhhhh ok on peut discuter ;)
Bon ce dialogue est un peu romancé et que je suis chanceux d'avoir un client avec un certain budget, mais considérez cet autre exemple :
Autre client : Salut, le site est super, par contre je pense qu'on devrait tout réorgaaniser les sections
Moi : Pardon? Je croyais que le projet était complété ?
Autre client : ah oui mais tu sais, c'est en utilisant qu'on se rends compte des failles
Moi: Ouais, mais les rencontres ou je « t'emmerdais » avec les détails, elles servaient à ça!
Autre client : c'est beaucoup plus logique avec la nouvelle structure, je suis certain que c'est simple pour toi...
Moi : Hummmmmmm
Bref, j'en tire quelques conclusions que voici:
-
Les clients écoutent rarement quand vous préparez un Use case
-
Idéalement, il faut facturer du temps pour créer un prototype entre la phase « Use Case » (définition des besoins) et la phase de ralisation concrète.
-
Une planification obséssive représente au moins 50% d'un projet
-
Facturez toujours une marge d'au moins 15% du projet total à la fin pour les « nouveaux besoins »
-
Faites leur signer un document de définition des besoins très précis. Une fois cela fait vous pourrez facturer tous les ajouts conséquents sans discussion possible.
-
Définissez avec le client ce qui sera flexible et ce qui ne le sera pas
-
Développez en étapes, en ayant toujours le plus de retours possibles de la part du client à chacune de ces étapes
J'en oublie sûrement, je vous invite à ajouter ici votre liste de conclusions acquises avec votre propre expérience!
Technorati Tags:
mer, 02/25/2009 - 07:23
Pour le document de définition des besoins, il faut être très prudent, car ça peut se retourner contre soi. Il m'arrive parfois de m'avancer un peu et de réaliser que la fonctionnalité va être un peu plus compliquée à mettre en place que je ne le pensais.
Rester vague peut permettre alors d'ajuster la portée du projet lorsqu'il dérape.
Dans le devis, je mets toujours une rubrique hors prestations ou je liste un maximum de choses que j'exclue explicitement.
Les clients écoutent rarement : les prestataires aussi !
mer, 02/25/2009 - 16:33
Sur les 50%: si tu planifies tout, tu auras toujours tort car la vie bouge tout le temps; donc ton planning sera toujours faut. Le pilotage prend environ 10-15% de la charge totale dans les projets à forte interaction client, genre CRM ou Site Web; 7% dans les projets traditionnels, genre le bon vieux COBOL.
Sur les 15%, c'est une base dans tout ce qui au forfait ou sur base de régie plafonnée. Si tu ne veux pas un client agacé, tu peux te mettre d'accord avec lui et après chaque étape faire un proto. Ce proto remplace environ 50% des specs fonctionnelles générales MAIS ne les remplacent jamais.
mer, 02/25/2009 - 17:28
Maxence : En effet cela peut arriver, mais selon moi c'est justement pour ça que je dis qu'il est important de bien créer son document qui définissent les besoins.
Cela ne vaut pas que pour le client, mais effectivement comme tu le dis pour le prestataire qui doit bien réfléchir à chaque élément avant de proposer un prix final!!
mer, 02/25/2009 - 17:34
Hugues : Je ne crois pas que la préparation ne prenne que 15%, mais on ne se fera pas une guerre de chiffres! J'ai remarqué que dans les projets ou je prennais énormément de temps pour détailler chaque point du cahier des charges on arrivait à beaucoup mieux se comprendre avec le client.
Je pense que beaucoup de gens se contentent d'avoir un cahier des charges assez vague, mais je pense que cela peut certainement causer beaucoup de confusions! Non?
ven, 03/06/2009 - 10:00
C'est tout l'intérêt des méthodes de développement agiles :
- Demandez au client de hiérarchiser les fonctions. Il faut l'aider à le faire, il y a des méthodes pour ça, comme la comparaison des fonctionnalités 2 à 2 ...
- Développez et livrez un prototype avec les fonctions essentielles et le minimum de mise en forme
- Ensuite demandez un feedback. Il est possible et même très probable que la hiérarchisation des fonctions change à ce moment là.
- Et c'est reparti pour un tour.
Bon, là comme ça c'est un résumé très condensé, et il faut que le client admette qu'il ne sait pas avec précision ce qu'il veut, ce qui n'est pas toujours évident.
Si vous êtes intéressés par ce type de méthodes, je vous recommande la lecture du blog de Claude Aubry, en commençant par la présentation de Scrum : http://www.aubryconseil.com/pages/Scrum
ven, 03/06/2009 - 10:26
comme quoi, deux règles restent toujours valables:
1 savoir dire non à son client
2 toute négociation est toujours... l'avant dernière !
Poster un nouveau commentaire