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.
David Dirigeant
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.
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.
David Dirigeant
Une agilité au bénéfice du client
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.
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.