Magazine Focus Emploi

Les spécifications à problème (2) Spécifications qui changent en cours de développement

Publié le 08 juin 2011 par Abouchard

Ce billet fait partie d’une série de trois articles consacrés aux spécifications et à leurs problèmes. Le précédent portait sur les développements réalisés sans spécification. Je vous invite à le lire rapidement pour comprendre le contexte.

En image

Les spécifications à problème (2) Spécifications qui changent en cours de développement

Version texte

On peut voir une maison dont la façade est couverte de fenêtres de tailles et de formes différentes.

Explication de l’architecte : « Pour les fenêtres ? Ah oui, à force de changer d’avis… »

Mon avis

Il s’agit là d’un cas d’école tellement cela arrive souvent. Une spécification fonctionnelle a été écrite, elle a été analysée (possiblement en faisant plusieurs itérations), une spécification technique en a découlé, et le développement a été commencé. Soudain, sous prétexte de vouloir apporter des « précisions » à la spécification, la spécification initiale est modifiée de manière subtile. Enfin, la subtilité est fonctionnelle ; d’un point de vue technique, les modifications nécessaires sont assez profondes. Mais si vous commencez à vouloir négocier, on vous rétorque que les modifications sont mineures, et que vous devez pouvoir vous adapter, que diable !  Sous-entendu : l’équipe technique doit prouver sa valeur en étant capable de gérer ces changements sans que cela n’affecte son planning.

Le problème, c’est que ce genre de chose implique quasi-automatiquement de prendre des raccourcis, afin de tenir les délais initialement prévus. L’une des conséquences directe est que l’environnement technique global (code source, schéma de base de données, documentation technique, etc.) se retrouve truffé de scories, des reliquats des différentes directions techniques qui ont été suivies puis abandonnées, à cause de tous ces pseudo-refactoring qui n’ont pas été prévus. Pour finir, vous obtenez des applications difficiles à maintenir et à faire évoluer.

Pourtant, il faut être fondamentalement prêt à faire face aux changements. La solution a été trouvée avec l’utilisation des cycles itératifs et des méthodes agiles. Chaque itération permet de s’assurer que les développements vont dans le bon sens. Mais aucun changement de direction ne peut intervenir en cours d’itération.


Retour à La Une de Logo Paperblog

A propos de l’auteur


Abouchard 392 partages Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte