Nous avons un grand site Web (1200+ heures) qui a beaucoup de dettes techniques. Cela est principalement dû aux raisons (habituelles) suivantes.
- Plusieurs programmeurs qui vont et viennent pendant le développement.
- Modification des spécifications en cours de développement.
- De nombreuses fonctionnalités supplémentaires ajoutées (en peu de temps).
Le client veut beaucoup de nouvelles fonctionnalités, et cela revient essentiellement à travailler sur ce projet chaque semaine pendant plus de 10 heures.
En raison de la dette technique, nous passons BEAUCOUP d'heures à résoudre ou à enquêter sur des problèmes, qui trouvent généralement leur origine dans l'un des éléments suivants:
- Un insecte stupide et sans vergogne qui fait pleurer les gens.
- Une nouvelle fonctionnalité résulte de ce qui précède car nous n'avions pas prévu tous les endroits où la nouvelle fonctionnalité aurait une influence.
- Quelques autres problèmes que nous avons rencontrés (migration du serveur, mises à niveau)
Nous avons des problèmes quotidiennement et nous avons essayé de suivre les choses pour mettre un terme à cela:
- Création d'une documentation technique concernant l'importation, le paiement et le fonctionnement général du site Web.
- Organisez une réunion au début de la semaine pour discuter des problèmes ou des améliorations actuels et de la manière de les résoudre.
- Ayez un plan de test. Programmeur A test B, B tests C et C tests A. Ensuite, notre chef de projet lancera quelques tests. Concernant l'impact de la fonctionnalité, nous la jetons sur un environnement de mise en scène et laissons le client vérifier par lui-même.
Le problème est que les problèmes continuent de se produire ... et d'une manière ou d'une autre, nous ne pouvons pas le maîtriser. Les nouvelles fonctionnalités causent toujours des bugs, et les anciens bugs continuent de dire bonjour. D'une manière ou d'une autre - peut-être en raison de la taille du projet - nous ne pouvons pas sembler avoir une emprise sur ce projet.
Je suppose qu'il y a beaucoup de programmeurs qui travaillent sur de plus gros projets. C'est pourquoi j'en viens à ma question:
Que pouvons-nous faire ou que faites- vous pour éviter ces problèmes sur les grands projets?
Modification mineure, informations supplémentaires:
- Nous utilisons le contrôle de version (SVN).
- Nous avons un processus de développement DTAP.