J’en profite également pour citer quelques liens de partenaires avec lesquels nous travaillons (merci à eux) :
- Occitech : l’Agilité en tant que prestataire
- Synbioz : Zoom sur la méthode Agile
- Synbioz : Le lean startup et ruby on rails
Trois points pour commencer :
Le développement d’applications web sur mesure ne se réduit pas à l’aspect technique du développement et de l’intégration. Le développement sur mesure nécessite en effet :
- beaucoup d’écoute et d’échanges,
- du conseil et de l’apprentissage constant – du prestataire comme du client,
- une réflexion régulière sur les travaux effectués.
Les travaux techniques de développement font certes partie d’un ensemble de prestations mais finalement ils sont loin de représenter la majorité du temps passé.
Le sur mesure ne signifie pas forcément “cher”. Le développement sur mesure est surtout recommandé lorsque le projet implique une durabilité dans le temps (développement d’applications web pérennes par exemple).
Il n’y a pas de recette miracle à appliquer pour mettre en place une relation agile avec ses clients. La méthode agile proposée par le prestataire est le résultat d’une construction personnelle qui convient avant tout à ses clients. Elle est le fruit de plusieurs années d’améliorations constantes. Parlons donc de quelques clients de MH Communication afin de mieux saisir comment nous avons construit notre approche agile.
Nos clients ont une envergure locale, nationale et internationale. Depuis quelques mois, nous sommes même devenus notre propre client en devenant éditeur (RestoReady : solution web dédiée aux restaurateurs), ce qui nous permet, soit dit en passant, d’accroître considérablement l’agilité dans l’entreprise. Tous nos clients sont à différents stade d’agilité. Certains sont encore au forfait. Avec d’autres, nous entretenons un degré d’agilité assez abouti.
Certes, l’argent est un paramètre important dans un projet. C’est le “nerf de la guerre” comme on dit. Mais les préoccupations budgétaires ne doivent pas tout obérer. Il est impératif de penser le projet globalement, de déterminer une stratégie avec le client. J’invite à ne pas subir un cahier des charges pensé par quelqu’un d’autre. Bien trop souvent, un cahier des charges n’est constitué que de plans sur la comète. Pour investir intelligemment, et dépenser utilement son argent, pour avancer pas à pas en faisant des économies, il faut s’interroger avec le client sur l’utilité des fonctionnalités décrites dans un cahier des charges.
Il faut bien comprendre que si le client arrive avec un cahier des charges déjà bien constitué, cela ne signifie pas forcément que le projet est mûrement réfléchi. Et malheureusement, travailler au forfait n’est pas toujours un gage de qualité. C’est la plupart du temps, pour le prestataire, lorsqu’il cherche à faire du bon travail, l’occasion de passer trois fois plus de temps que prévu. C’est surtout pour le client et le projet l’occasion de passer à côté des choses importantes, utiles et profitables.
De plus, le travail au forfait plonge la relation client/prestataire dans un climat de conflit. Il faut transformer la relation de guerre entre client et prestataire en relation de paix, en une collaboration. De ce partenariat doit s’établir une guerre contre le véritable ennemi : la concurrence…
Pour établir la confiance nécessaire à la collaboration agile, il faut parler le même langage et échanger régulièrement sur les chiffres de l’entreprise et les résultats des derniers travaux effectués. L’objectif premier est de créer de la valeur pour le client. Pour nous, les cahiers des charges de 300 pages, c’est fini. Ou alors il faut le considérer comme une documentation, une présentation de projet. Nous établissons toujours avec le client une première version du projet qui contient les fonctionnalités essentielles. Cette Version 1 permet de :
- mettre en production plus rapidement,
- réduire le coût initial du projet,
- d’apprendre plus rapidement des retours utilisateurs.
En résumé, l’agilité c’est une question de bon sens. Forçons-nous à une démarche de réflexion. Posons-nous la question de l’utilité. Assurons-nous que les travaux vont être rentables. Le prestataire doit toujours conseiller le client pour qu’il engage d’abord les travaux les plus pertinents.
Notre volonté de conduire nos travaux de manière agile correspond également à une philosophie et une éthique. D’abord parce qu’avec un contrat au budget fixe, on s’interdit malheureusement de prendre le temps de la qualité. Chez MH Communication, nous préférons parler de temps passé à faire les choses. Il me semble en plus qu’utiliser le temps comme mètre-étalon pour des projets centrés principalement sur les relations humaines est plus juste. Nous avons effectivement, tous, à peu près la même quantité de temps disponible…
Pour établir et maintenir la confiance, il faut être transparent : mesurer honnêtement et rendre des comptes au client. Le client doit constater que l’on travaille bien pour lui, comprendre le temps passé sur telle ou telle tâche.
Pour cela, il faut impérativement une gestion de projet ouverte au client. Nous utilisons en ce qui nous concerne Redmine. Cette gestion de projet ouverte a plusieurs vertus :
- le client peut suivre l’état d’avancement des travaux, éditer des rapports pour se direction,
- se rendre compte des travaux « invisibles » (paramétrages, mises à jour de sécurité, etc.), ceux qui ne sont pas notés dans un cahier des charges au forfait,
- le client peut être force de propositions,
- les échanges permettent de poser les bonnes questions, de présenter des maquettes, avant de développer et ainsi d’économiser des coûts de développement.
Cette gestion de projet est une véritable interface participative. Ouverte 24h/24 7j/7, elle permet par ailleurs de travailler de manière asynchrone tout en gardant une trace de tous les échanges.
Voici quelques outils qui nous permettent également de fluidifier l’amélioration constante du projet :
- les outils de statistiques comme Google Analytics,
- BugHerd, associant les utilisateurs finaux du site à la recette,
- Inspectlet qui enregistre les sessions des utilisateurs au format vidéo.
Jusqu’ici, nous avons parlé de la manière d’entretenir une relation agile avec le client. Mais comment l’initier à cette démarche ? Car nous pouvons effectivement parler d’une initiation tant il s’agit bien de faire passer le client dans un autre monde, celui de la coopération dans le but de défendre un projet commun.
Chez nous, nous avons décidé de passer par le vocable de contrat de maintenance.
Tous nos clients signent un contrat de maintenance, gage d’un accompagnement de qualité.
Le premier niveau de contrat de maintenance est le contrat annuel de maintenance technique incluant :
- la gestion des relations avec l’hébergeur,
- l’hébergement et le(s) nom(s) de domaine (si le client ne veut pas s’en occuper mais c’est rare),
- la mise à jour des outils (framework ou CMS) utilisés pour le site Internet,
Suite au développement du hacking, nous ne réalisons aucun site sans contrat de maintenance annuel. C’est la base. Et c’est indiscutable.
Faire évoluer le contrat de maintenance consiste à ajouter :
- de la création de contenu,
- de la gestion de compte adwords,
- faire des analyses de comportement sur le site, des rapports, des rdv réguliers avec le client,
- améliorer le fonctionnement du site,
- ajouter des fonctionnalités…
Il s’agit de passer de la maintenance réactive à la maintenance proactive et d’accompagner progressivement le client vers une relation agile durable et réfléchie.