02 855 233 42 contact@oniti.fr

#2 Le pari de l’agilité

Dans notre premier article, nous avons parlé du « triangle de fer » qu’impose un développement logiciel au forfait. Si l’expression fait peur, elle nous semble indéniablement proche de la réalité. Avec l’agilité, chez Oniti, nous prenons le contre-pied du « triangle de fer », avec la qualité comme invariant. Voici quelques clés de compréhension de notre approche.

La qualité comme invariant du projet

Pour vous faire un rapide résumé de l’article précédent : dans le développement logiciel, la pratique courante est de figer les paramètres du projet suivant le triangle de fer « périmètre, budget, calendrier ». En mode agile, le périmètre du projet devient une variable ajustée au fil du projet. La qualité, elle, devient un invariant.

Une approche progressive du périmètre

L’informatique hérite des codes de l’industrie. Dans le process industriel, la phase de prototypage précède toujours la phase de production. La première, non chiffrée, est une étape de recherche, qui vise à faire disparaître l’inconnu pour la phase de production. La plupart des clients viennent a priori avec une demande de fonctionnement industriel, au forfait, pour le développement de leur application. Or, comme nous l’avons détaillé dans notre article précédent, le développement logiciel n’est pas un produit de série. Par conséquent, le pilotage en mode agile se révèlera plus performant.

Pour le développement logiciel en mode agile, nous procédons de manière progressive, par paliers successifs. L’agilité consiste à avancer, pas à pas, dans une direction que l’on qualifie au fur et à mesure que l’on avance. 

« D’abord un critère de recherche exigeant, comme rentrer le numéro de commande précis. Puis un critère de recherche plus large, comme un code postal. Ensuite, la possibilité de saisie d’un mot de la raison sociale du client. Enfin, des résultats donnés en auto-complétion. »

David BOUCHÉ

CEO, Oniti

Le pilotage, atout-clé du mode agile

Vous me direz : et concrètement, on fait comment ? La réponse est dans le pilotage et le nécessaire dialogue entre le développeur et le métier :

  • La phase d’étude, en préambule, va permettre d’avoir les deux composantes indispensables à la rédaction d’un simili cahier des charges afin de définir les contours du périmètre de façon qualitative pour le projet. On ne va pas chercher à être précis dans le périmètre mais à être qualitatif dans les grands contours de celui-ci. Ce travail est réalisé conjointement entre les développeurs, qui savent faire du logiciel, et le client, qui connaît son métier.
  • On dessine alors ce que l’on appelle une feuille de route : les contours macro du périmètre. L’agilité ne veut pas dire qu’il n’y a pas de périmètre, pas de moyens, pas de délais. Simplement ces critères ne sont pas figés. 
  • On va ensuite faire un travail d’estimation des différents sujets fonctionnels. Dans notre exemple, le temps estimé pour faire un moteur de recherche première version. 
  • Ensuite, on pilote les moyens, en définissant un rythme économique du projet avec une restitution régulière. Le client et le prestataire vont pouvoir apprécier conjointement la célérité : la performance à laquelle on délivre de la fonctionnalité. Si ce n’est pas satisfaisant, on en recherche la cause : le besoin a été mal exprimé, l’équipe technique manque de compétence, on identifie un problème de communication, etc.
  • Cette phase de pilotage est nécessaire et poursuit la journée d’étude. On a besoin de se parler et de se parler tous les 15 jours, pour repréciser en permanence comment on va créer du logiciel pour répondre au besoin. 

« Les développeurs sont en relation directe avec les clients, pour réduire le risque de divergence des interprétations. Le logiciel qui est produit n’est jamais celui qui est dans un cahier des charges, c’est celui qui est dans la tête du développeur. Pour que le logiciel soit aussi celui qui est dans la tête du client, on fait en sorte que le développeur parle avec le client. »

David BOUCHÉ

CEO, Oniti

Une agilité au bénéfice du client

Évidemment, ce n’est pas parce qu’on parle d’agilité qu’on oublie le budget ! Une entreprise ne part jamais à vue sur un projet. Dans le mode agile, l’objectif est de piloter le budget et de l’utiliser à bon escient. En règle générale, au bout d’une année, le travail d’étude qui avait été fait en amont, n’est plus du tout le même. Le besoin a évolué. On a réécrit le projet et de nouveaux arbitrages ont été faits. 

S’adapter, offrir de la souplesse, c’est toujours bénéfique. L’agilité est toujours synonyme de souplesse, son seul coût est celui de l’implication. Le client doit être investi et engagé dans le pilotage de son projet : valider les étapes, regarder ce qui a été fait, prendre du temps avec l’équipe de développement. En moyenne, cela représente une à deux heures par semaine sur le projet.