L’agilité est un état d’esprit, un pilotage adapté au caractère nécessairement sur-mesure des projets de développement logiciel. Et pourtant, le forfait reste souvent la seule approche proposée. Vous l’aurez compris, chez Oniti, on penche plutôt pour la team « agile ». Mais avant d’avancer nos arguments, regardons de plus près dans cet article, les constituantes d’un projet de développement logiciel, le fameux « triangle de fer »…
Dans le bain de l’innovation
« Que les évolutions soient majeures ou mineures, nous sommes toujours face à de la nouveauté, donc face à de l’inconnu. »
En préambule, il est bon de rappeler que la plupart des projets de développement logiciel se font dans un « bain » d’innovations. Pour mémoire, l’innovation n’est pas seulement le fait de mettre sur le marché de grandes inventions révolutionnaires. L’innovation, dixit le bon vieux Larousse, c’est « L’introduction, dans le processus de production (…) d’un procédé nouveau. » Ainsi, dans le cas du développement logiciel, chaque projet est un projet nouveau, qui comporte de l’innovation : nouveau métier, nouvelles technos, nouveau framework, nouvelles versions, nouveaux usages, etc.
David Dirigeant
David Dirigeant
C’est quoi un projet ?
Traditionnellement, on définit un projet autour de ses trois composantes majeures : le périmètre qui définit le projet, le budget qui fixe les moyens financés alloués au projet et le calendrier dans lequel doit être réalisé le périmètre. Au forfait, ces trois paramètres sont figés contractuellement.
Or, le périmètre, décrit dans le cahier des charges fonctionnel du projet, est souvent complexe à rédiger et évolutif. Exprimer, a priori, ce que doit faire l’application n’est chose facile ni pour le client, ni pour le développeur. L’un ne maîtrisant pas les enjeux de l’autre et inversement. S’il est possible d’organiser des journées d’étude, en amont du projet, pour définir conjointement son périmètre, nous avons bien conscience que celui-ci est amené à évoluer dans le temps.
Le triangle de fer
Une fois cette définition donnée, on comprend mieux pourquoi un développement au forfait peut être périlleux. Quand on fige le périmètre, les moyens et le délai, c’est ce qu’on appelle le « triangle de fer ». Cela ne laisse aucune souplesse au client, ni aucun espace pour la marge d’erreur, le changement de périmètre, de moyens ou de calendrier. Pour le développeur, cela s’apparente à un engagement de résultat sur un périmètre qui reste une zone floue, sujette à l’interprétation.
Alors, que fait le développeur pour palier cette prise de risque qu’il porte seul ? Il intègre cette marge d’inconnu dans son devis. Pour être clair, il fait passer son devis de 3 à 6 jours, par exemple, pour « prévoir » le différentiel possible. De plus, la différence d’interprétation du périmètre peut être source de tensions entre le prestataire et le client.
La qualité comme variable d’ajustement
Au forfait, la seule variable d’ajustement est la qualité. Une fois absorbée la marge d’inconnu prévue au budget, le développeur peut dégrader la qualité pour faire rentrer la prestation dans le triangle de fer. Avouez que cette solution n’est pas enviable… C’est pour cela que chez Oniti, nous faisons le pari de l’agilité, vous retrouverez notre approche dans notre prochain article de blog : « Vous êtes plutôt pilotage au forfait ou en mode agile ? #2 Le pari de l’agilité. »