Gérer sa dette technique – Partie 3 : le remboursement


Précédemment


« Dans les épisodes précédents » : vous avez eu besoin de contracter une dette (technique), que votre banquier a acceptée. Vous avez négocié avec lui pour déterminer les modalités du contrat, et vous êtes arrivés à un accord. Reste alors une question : comment rembourser sa dette technique ?


Argent

Crédits : Christian Dubovan (Unsplash)


Rembourser sa dette technique


Bien évidemment, en pratique cela dépend des éléments à corriger. Mais il y a quelques principes et outils qui se révéleront toujours utiles pour y parvenir.


Les méthodes et techniques


Travailler en équipe


Bien souvent, la dette technique vient de blocages personnels. On a du mal à trouver le nom d’une variable, d’une fonction ; on tourne en rond sur la conception d’un algorithme ; on a l’impression d’avancer et de reculer sans arrêt.

Bref, on a besoin d’un regard extérieur.

Généralement, il suffit d’aller poser une question à un collègue pour trouver la réponse. Et ça, sans même qu’il n’ait le temps de répondre. Parce que le plus dur, en fait, c’est de se poser les bonnes questions. C’est comme cela qu’on évite la dette technique au mieux.

Et pour aider à se poser les bonnes questions, rien ne vaut des échanges en équipe : brainstorming, débats, retours d’expérience, …

Une fois le problème correctement posé, la réponse est souvent évidente ; et correcte !


La règle du boy scout


Donc travailler en équipe, c’est bien pour résoudre des problèmes complexes ponctuels. Mais parfois, on fait plutôt face à de nombreux petits problèmes très simples. Et si on veut tout traiter d’un coup, c’est hyper chronophage.

Vous savez, ce petit « static » que vous avez voulu ajouter ou enlever sur une seule petite méthode. Ça se propage vite, hein ?

Dans cas cas là, il n’y a qu’une seule méthode qui a fait réellement ses preuves : la règle du boy scout. J’en avais déjà parlé dans mon premier article .

Le principe est aussi simple que difficile à intégrer : il s’agit de profiter de chaque modification de code pour corriger un micro élément de dette technique.

Deux difficultés dans cette technique :


Les outils


Ensuite, il existe aussi des outils qui peuvent aider à rembourser sa dette technique.


Artisan

Crédits : Christian Dubovan (Unsplash)


Les tests automatisés


En premier lieu, les tests automatisés restent l’allié numéro un contre la dette technique. Ils assurent qu’on n’introduit pas de régression, et que les corrections seront durables. Sans ce garde-fou, comment savoir si ce qui a été cassé une fois ne le sera pas à nouveau ?

Si une erreur s’est déjà produite, il y a de bonnes chances qu’elle se reproduise à nouveau !


La documentation


Dans un second temps, il est important de maintenir des documentations sur certaines corrections effectuées.

Dans le même principe qu’avec les tests automatisés : si on a fait un mauvais choix, il y a de bonnes chances qu’un autre (ou nous-même des années plus tard) fasse de même.

Les tests automatisés permettent d’alerter qu’un problème est survenu. Mais parfois, ils ne permettent pas de comprendre pourquoi il y a un problème. Dans ce cas, avoir une documentation qui explique les conséquences des différents choix face à un problème permettra au développeur de réaliser un choix avisé.

Sans ça, il risque de créer des aberrations juste pour faire repasser le test en vert. Ce qui est encore plus dommageable.


Les analyseurs de code


Enfin, bien évidemment, il est utile de s’aider des outils d’analyse de code et des fonctionnalités des IDE.

Les IDE proposent de plus en plus d’automatiser de petites refactorisations. Si elles ont été intégrées nativement, c’est qu’elles présentent très peu de risque. Vous pouvez donc les appliquer les yeux fermés. Cerise sur le gâteau : c’est une action valide pour la règle du boy scout !

Des analyseurs plus poussés comme SonarQube permettent d’alerter sur des règles plus complexes. Celles-ci sont généralement accompagnées de conseils sur les moyens de corrections à apporter. C’est moins automatisé, mais c’est toujours utile.


Mieux rembourser sa dette technique dans le futur


Félicitations, vous avez remboursé votre dette initiale comme promis !

Vous pouvez maintenant avancer plus sereinement, rembourser d’anciennes dettes ou même… en ajouter de nouvelles (toujours avec modération).

En effet, maintenant vous savez la gérer correctement. Ce n’est plus un ennemi, mais un nouvel outil à votre disposition.

Pour s’améliorer davantage, il est indispensable de réaliser de la veille technique : s’informer des nouvelles technologies ainsi que des bonnes pratiques de codage. Tout cela évolue sans cesse, et il est difficile (impossible ?) de tout maîtriser en même temps.

Le maître mot est donc « amélioration continue ». C’est la seule réponse viable face à la dette technique.


Jake-hills

Crédits : Jake Hills (Unsplash)


Synthèse


En résumé de ces trois articles, voici comment bien gérer sa dette technique :


  1. L’identifier . Pour cela, il faut prendre des notes sur ce qui ne va pas dans le code. Quel est son contour ? Quels sont ses effets potentiels ?
  2. La caractériser . Coût de réparation, risque à ne pas corriger, modules impactés, probabilité de survenue du risque.
  3. La centraliser . Regrouper tous les éléments de dette technique au même endroit pour les comparer facilement.
  4. La prioriser . Si le coût de réparation est supérieur aux dommage potentiels, faut-il traiter rapidement ?
  5. La traiter . Appliquer la règle du boy scout pour la réduire efficacement.
  6. La rendre inoffensive . Empêcher les régressions avec des tests automatisés et l’expliquer avec de la documentation.
  7. L’actualiser . Il y aura toujours de la dette technique, il s’agit de ne pas la laisser se répandre sournoisement. Retour à l’étape 1 !


Étiqueté dette technique