Je travaille pour une grande entreprise (plus de 8 000 employés) depuis près de 2 ans et j'ai été embauché juste après avoir terminé mes études.
Tout le monde ici est confronté quotidiennement à un code hérité qui est souvent très mal conçu et bourré de bidouilles. Au début, je suis resté discret, en essayant de ne pas trop critiquer les choses. Mais la situation actuelle est devenue très difficile à vivre et personne ne semble vouloir améliorer / remplacer les outils que nous utilisons.
Pour être plus explicite, nous avons:
- Un outil de contrôle de source obsolète (Visual SourceSafe)
- Vieux makefiles qui ne supportent que la reconstruction complète
.def
fichiers qui doivent être gérés manuellement et séparément pour toutes les architectures existantes- Fichiers d'en-têtes monolithiques et projets avec très peu de fichiers différents (mais chacun a environ 3000 lignes de code, ce qui prend parfois en charge des tâches très différentes)
- aucune utilisation des « nouvelles » installations de langues (et
std::string
n'est pas nouvelle mais personne sauf moi l' utilise)
J'ai décidé, il y a quelques mois, d'agir, en concevant un nouvel environnement de compilation. Je pouvais obtenir des versions incrémentielles fiables, des temps de compilation plus rapides, des projets mieux structurés, la .def
génération automatique de fichiers. J'ai même créé un pont de / vers Git vers / à partir de Visual SourceSafe.
J'ai montré mes réalisations à plusieurs collègues et à notre patron, mais c'était comme si personne ne s'en souciait. Ils étaient tous du genre "Eh bien ... les gens ont l'habitude de le faire ainsi maintenant. Pourquoi changerions-nous les choses?"
Les changements que j'ai suggérés ont été conçus de manière à permettre une transition en douceur de l'ancien système au nouveau. Chaque amélioration peut être appliquée séparément et en toute sécurité.
J'ai même essayé d'impliquer certains de mes collègues dans les changements. Mais jusqu'à présent, pas de succès.
Avez-vous déjà fait face à une situation similaire? Que peut-on faire quand "donner l'exemple" ne fonctionne pas?