Bonjour,
Notre client souhaite faire évoluer son application et demande d'appliquer quelques règles de gestion spécifiques à certains objets du système.
95% des règles sont identiques pour tous les objets et 5% changent pour des objets très particuliers.
L'idée de l'équipe de développement est d'expédier le code commun, 95%, dans des classes et composants génériques, puis d'étendre ces composants pour les 5% de spécifique.
Mais cela demande un temps non négligeable pour réaliser cette (re)factorisation du code.
Pour faire baisser les coûts et les risques de régression, je sais que notre client va nous demander de dupliquer le code source avant de modifier les 5% de spécifiques .
Nous aurons donc 2 classes avec 95% de code copié collé. Inacceptable pour nous bien évidemment.
Comment justifier auprès du client cette réécriture technique du code ? Ça prend du temps, ça ne lui apporte rien (l'application est identique vu de l'extérieur) et ça introduit fatalement des risques de régressions. Tout ceci peut en effet être évité par une duplication pur et simple des classes.
Existe-t-il des arguments techniques très précis et mesurables que nous pourrions lui présenter ? Car évidemment le "c'est plus long maintenant mais on gagne du temps en maintenance dans l'avenir" ne passera jamais, c'est un client après tout .
Merci !
Partager