Pourquoi du coaching technique?

Aujourd'hui la plupart de projets accumule de la dette technique. L'esprit agile nous a appris de saisir les opportunités et par conséquent les changements fonctionnels sont de plus en plus fréquents et inattendus. Certes c'est une bonne chose, mais ce mode de travail est incompatible avec les pratiques de développement classiques, où pour éviter les regressions, le refactoring est sporadique.

Avec peu de refactoring le legacy prend de plus en plus d'ampleur et les fonctionnalités deviennent de plus en plus chers, les bugs plus fréquents, la suite de tests manuelle de plus en plus long, les bugs plus fréquents. Les développeurs sont tôt ou tard démotivés, à la recherche d'un nouveau projet avec un nouveau frame-work.

Bonne nouvelle, cette tendance de dette technique en hausse peut être inversée. Certaines équipes met en place des tests et remanie agressivement le code, réduisant ainsi la dette technique tout en ajoutant des fonctionnalités. Il n'y a pas de projet perdu. Il peuvent le faire car ils mettent rapidement en place des tests pour protéger le refactoring et comme ils sont experts en refactoring ils exploitent les tests au maximum en simplifiant grandement le code. Qu'est-ce qui differencie les ces développeurs des autres? De l'entrainement, tout simplement.

Pour savoir où vous en êtes, il suffit de vous poser la question Combien de temps consacrons-nous à l'entrainement dans notre équipe? Si la réponse est zéro ou une formation de 2 jours tous les ans alors vous n'obtiendrez jamais cette baisse de la dette technique. Mais pas besoin de paniquer, au contraire, moins vous faites aujourd'hui plus vous avez allez rapidement progresser!

C'est ici que le coaching technique a un intérêt. Il permet aux développeurs de découvrir ce mode de développement, comprendre comment il fait gagner du temps et l'appliquer sur leur projet dans un cadre sécurisant. Il renforce également la communication dans l'équipe à travers le co-design, binômage et le mob-programming. Il aide aussi l'équipe à prendre l'habitude d'apprendre de façon continue, entre eux.

Comment fonctionne le coaching?

Toutes les 2 à 4 semaines, pendant 3 à 6 mois, nous passons 1-2 jours ensemble pour développer ensemble des stories pris du backlog avec tests et refactoring. Pour aller plus loin nous poussons nos limites plus loin à travers des présentations et des katas, mains dans le cambouis. Ce sont des sessions conçues pour un apprentissage accéléré.

Prévoir 10 jours pour deux à trois équipes. Pouvant aller jusqu'à 20 pour un projet avec beaucoup d'historique

Quelle est le bénéfice pour l'équipe et l'entreprise?

  • Une bonne maîtrise du refactoring, pour du code plus simple, compréhensible, avec plus de facilité dans les nouvelles fonctionnalités.
  • Plus de tests, plus maintenables, plus fiables.
  • Moins de bugs - meilleurs relation utilisateurs.
  • Développeurs boostés par leur progression
  • Meilleurs choix de design et architecture, grâce à la communication à propos du code
  • Une meilleure maîtrise des outils (IDE, etc)
  • Une agilité accrue avec un cycle court, de qualité. Rendant le code, aussi, agile.