Oui mais avec beaucoup de soin!
Laissez-moi clarifier cela.
Vous devez vous efforcer d'améliorer l'habitabilité du logiciel. Si vous regardez le code / l'équipe / l'entreprise / le projet / la direction et que votre première réponse est de prendre une douche, elle n'est pas habitable. Si votre première réponse est de crier ouais! ... et de vous plaindre lorsque vous êtes expulsé du bureau, vous devez alors rendre votre maison plus habitable. C'est un sentiment et vous le saurez.
Cela étant dit, vous travaillez dans une symathèse complexe . Tout ce que vous ferez risque de mal tourner et d’empirer les choses, du moins à court terme, car un simple changement a des répercussions. Alors tout d’abord, devenez humble, je ne veux pas dire que je deviens une impulsion ou que j’accepte le fait que les choses doivent être mauvaises, je veux dire qu’il faut accepter le fait que vos bonnes intentions vont vous tourmenter vicieusement.
Le problème
Avec les meilleures intentions du monde, vous pourriez penser qu’il faut opérer un changement en profondeur. Je ne nie pas le fait que ces situations existent, mais prenez le temps de réfléchir. Le système actuel fonctionne, votre équipe et vous-même produisez du code, peut-être lentement, douloureusement, mais cela fonctionne et vous avez tous l'expérience de la façon de le faire. Vous savez à peu près à quoi s'attendre, bref vous êtes des professionnels exercés dans ce système.
Après le changement radical, personne, à l'exception peut-être de l'implémenteur, ne sait à quoi s'attendre. En bref, tout le monde a été réinitialisé à un niveau de néophyte dans cette partie du système. Ce n'est pas bon. Les néophytes doivent apprendre les nouvelles règles, ce qui prend du temps. À cette époque, les néophytes font des erreurs car elles ne sont pas pratiquées. Ces erreurs font maintenant partie du système, avec lequel vous devez maintenant vivre, et il n’en est plus aussi brillant aujourd'hui.
Une voie à suivre
Il y a des moments où réduire, graver et reconstruire est de loin le meilleur que vous puissiez faire. C'est particulièrement intéressant si personne n'est pratiqué dans l'ancien système, car la seule chose qui est perdue est la connaissance codifiée. Si cette connaissance est totalement incompréhensible, elle est déjà perdue et le seul choix est de recommencer. Inversement, si la méthode de codification, ou la façon dont elle est utilisée, est problématique mais fonctionne, ces connaissances sont toujours accessibles et peuvent être conservées, peut-être pas. Ne prenez pas la décision à la légère.
L’autre option est de travailler avec le système de manière à ce que tout le monde ait un cadre de référence, mais de modifier de petites parties du système afin que tous les membres de l’équipe soient au courant, ou s’ils ne sont pas conscients du changement, il est facile de le faire. remarquer et facile à apprendre. C'est la base des pratiques appelées Kaizen . Une formule plus orientée développeur est présentée dans la présentation Shaving the Golden Yak, je recommande vivement de la regarder et d’y réfléchir.
Trouvez donc une petite chose qui peut être changée pour améliorer votre vie et, espérons-le, celle de quelques autres. Réparer ou améliorer la situation. Cela vous donnera de la pratique et de l'expérience pour mettre en pratique les changements. Assurez-vous de recevoir un retour d'information: auriez-vous pu en discuter davantage, était-il utile, at-il perturbé une autre partie du système? Développez votre sens de ce qui peut être fait et comment le faire.
Maintenant trois choses se sont passées:
- vous avez amélioré le système,
- vous avez acquis de l'expérience sur la façon de changer le système
- l'équipe vous a vu changer avec succès le système.
Choisissez maintenant une autre chose à améliorer, à mesure que votre expérience grandit et que vous éliminez les problèmes faciles, vous allez commencer à faire face aux problèmes les plus difficiles du système, mais au moins maintenant, lorsque vous dites que nous devons changer X:
- Vous savez comment le changement affectera le système
- Vous savez quels problèmes cela va générer (quelles règles doivent être réapprenées)
- Vous connaissez des solutions immédiates pour résoudre ou améliorer les problèmes que le changement introduira
- les personnes autour de vous savent que vous connaissez le système et que vous pouvez le modifier avec succès