Développement Agile : comment surmonter la dérive fonctionnelle
Un des risques les plus répandus du développement Agile est la dérive fonctionnelle. La fondatrice d'EBG Consulting explique comment éviter l'écueil.
Dans tout projet IT, le risque le plus important est la dérive des exigences des utilisateurs. La dérive fonctionnelle, également connue sous le nom de dérive des objectifs, est courante dans la plupart des projets logiciels, quel que soit le domaine ou la méthodologie. Et je doute que ce problème disparaisse avant longtemps.
La dérive des objectifs a plusieurs conséquences : dépassement budgétaire, retard voire annulation. Je me rappelle un récent projet de développement logiciel : l'équipe avait acheté un outil Agile de qualité industrielle et mettait en oeuvre une solution SOA. On avait l'impression que tout était fait dans les règles de l'art, de manière exemplaire. Mais ce n'était pas le cas.
Le chef de produit n'avait jamais testé sa vision sur le marché. Si lui et son équipe avaient été vraiment « Agiles », ils auraient créé un prototype et l'auraient testé auprès des clients dès le départ, dans le premier mois de la planification du développement. Au lieu de cela, le projet a dépassé son budget et a dû être annulé. Le coût de la récupération s'est élevé à environ 5 millions de dollars.
Chez EBG Consulting, nous tombons parfois sur des équipes de développement comme celle-ci ; des équipes qui sont déjà à pied d'oeuvre depuis un moment, mais qui ne se sont pas arrêtées pour évaluer la progression du projet.
Il y a deux ans, j'ai aidé une société de services et d'édition de logiciels à établir la feuille de route d'un produit. Malheureusement, la société n'avait pas actualisé ses plans depuis deux ans. Mais le monde et la concurrence avaient, eux, bien changé entretemps.
Cette société avait perdu de vue la valeur du projet, ses perspectives futures et les bénéfices que les partenaires pouvaient en retirer. Même des équipes expérimentées tombent dans ce piège. Elles ne prennent pas le temps de réévaluer leur projet et doivent alors rattraper leur retard.
Le développement par la méthode Agile est une question d'équilibre.
Il est important de ne pas confondre dérive des objectifs et dette technique intentionnelle. En effet, dans les projets Agile, certaines équipes recourent volontairement à « l'endettement » lorsque la mise sur le marché prime sur la qualité ou l'exhaustivité de la solution. Les développeurs doivent produire quelque chose de tangible car la concurrence dispose déjà d'une fonctionnalité qui manque à leur produit.
Pour autant, ils ne doivent pas négliger la dérive des objectifs ; il s'agit de l'éviter même en cas de dette technique intentionnelle. Forte d'une stratégie en place, comme un échéancier des améliorations à apporter ultérieurement, l'équipe peut avancer avec des objectifs pertinents et réalistes.
Le développement Agile est un équilibre que doit gérer le champion ou le propriétaire du produit (pour reprendre le jargon de la méthode Scrum).
Le propriétaire du produit doit établir la confiance au sein de l'équipe (utilisateurs et membres opérationnels) et faire preuve d'honnêteté quant aux erreurs et aux lacunes de la version, et au délai nécessaire pour purger la dette. Toutefois, si cette purge nécessite un trop grand nombre d'itérations, c'est signe que le projet prend mauvaise tournure : certaines pratiques, telles que les tests et l'intégration en continu, ont été négligées.
Dans le cadre Agile, le travail d'équipe est particulièrement important. Rappelez-vous mon désastre à 5 millions de dollars. Dans cette situation, l'équipe de gestion produit a poussé l'endettement technique trop loin. Elle a transféré cette pratique au groupe technologique, transformant ainsi le personnel technique en preneurs de commandes.
Dans ce cas précis, nous avons organisé un atelier ouvert à tous les participants au projet : DSI, responsable produits, directeur du groupe technologique et utilisateurs. Nous leur avons montré à quoi ressemblait la feuille de route et expliqué la logique qui la sous-tendait.
Nous avons examiné l'ensemble du travail que nous les avions aidé à accomplir autour de la vision et des thèmes du projet. Nous avons identifié les acteurs clés du projet. Les chefs de produit ont ensuite avoué qu'ils n'avaient jamais travaillé de cette manière auparavant. Nous étions tout simplement ravis.
C'était précisément ce dont ils devaient se rendre compte. La méthode Agile consiste à impliquer l'ensemble de l'équipe et à traiter ses membres comme des partenaires. Il s'agit de la première étape pour se débarrasser de la dérive fonctionnelle.