@souviron34
Il y a des refontes qui aboutissent. Celles que tu décris, où l'on jette les anciens, et où l'on s'acharne à surtout ne rien faire qui ressemble de loin ou de près au système précédent, ne mènent à rien. Mais si on a un responsable technique raisonnable, on peut garder les bonnes idées de l'ancien système, et apprendre des régressions passées. C'est souvent le cas quand la refonte est rendue obligatoire par une contrainte technique (évolution matérielle contraignante, par exemple).
Au global, ca coute une bombe et c'est très démoralisant (pour les raisons que tu cites), mais on peut arriver à une version améliorée du programme précédent. Au final, on y gagne, mais le cout est prohibitif.
@Franck Soriano
Il y a un problème de fond dans cette démarche dans laquelle on a un architecte qui "conçoit librement", puis un CP qui exécute sous contrainte. Et dans la situation que tu décris, l'architecte porte une lourde responsabilité dans l'échec du projet... Imaginer une "oeuvre d'art" théorique sans prendre en compte la réalité de l'équipe de developpement, c'est totalement irresponsable.
Ce fait un peu penser à une citation fameuse de Kernighan:
"Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it."
(Debuguer est deux fois plus difficile qu'écrire le code original. Aussi, si on écrit le code le plus intelligent dont on est capable, on n'est, par définition, pas assez malin pour le débuguer.)
Personnellement, je me suis toujours interrogé sur la validité de cette fonction d'architecte. Elle fait bien sur rêver les informaticiens (on "crée" sans jamais avoir à mettre les mains dans les détails dégoutants), mais en pratique, j'ai beaucoup de mal à voir son utilité, sauf à impliquer l'architecte dans la réalisation...
Je suis bien d'accord. Mais c'est extrèmement difficile à faire passer, malheureusement. J'explique souvent à mes clients que sur un développement court (disons moins d'un an), le cout annuel de maintenance est compris entre le quart et la moitié du cout initial de développement (généralement la moitié en année 1, car on ajoute toutes les fonctions "oubliées", ensuite ca baisse). C'est une évaluation fondée sur pas mal d'observations, et elle est généralement correcte (dans mon domaine en tous cas). Mais elle est invendable. Alors, on ruse, on met un fixe ridicule et un gros variable, et au final on gagne plus...Je trouve aussi qu'en termes de responsabilités, il est beaucoup plus facile d'assumer un nouveau projet que de maintenir un produit existant.
Francois
Partager