1️⃣ Avec le temps le logiciel tient compte de plus en plus de paramètres, pour couvrir de plus en plus de besoins.
2️⃣ La complexité tend à grandir bcp plus vite, genre exponentiellement plus vite.
3️⃣ En conséquence de quoi la valeur délivrée s'écroule avec le temps (l'équipe délivre moins, et le nombre de bugs explose).
On a trouvé à ce jour un certain nombre de parades :
1️⃣ Réduire le nombre de paramètres, comme stratégie business (offrir moins) ou technique (favoriser la simplicité). On tire la courbe 1 vers le bas.
2️⃣ Refactoring continu sous tests automatisés, pour tenir la complexité en respect. On applatit la courbe 2.
En gros 1️⃣ et 2️⃣ devraient aider à maintenir la courbe 3 linéaire (si pas mieux). Je suggère aussi de :
3️⃣ Garder la même équipe technique le plus longtemps possible.
Good luck.
#SoftwareEngineering