Performance de livraison
10 minutes de lecture

Pourquoi les revues de code sont si longues et comment les accélérer?

Pourquoi les revues de code sont si longues? (et comment résoudre ce problème)

Il y a quelques années, la croissance consistait à embaucher davantage de personnes. Aujourd’hui, la croissance est une question d’efficacité : faire plus avec moins. En tant que responsable de l’ingénierie, vous devez aligner vos équipes sur les objectifs de l’entreprise tout en améliorant l’efficacité. Toutes les organisations n’ont pas le luxe d’embaucher davantage de personnel, alors que faire ? On identifie toutes les sources d’inefficacité et l’on s’efforce de les éliminer.

Après avoir travaillé avec plusieurs organisations au fil des ans, nous avons remarqué des pièges communs qui ralentissent les équipes. Plus important encore, nous avons préparé une liste de recommandations pour les éviter.

5 pièges courants qui réduisent l’efficacité de votre ingénierie logicielle

Les demandes de revues de code sont bloquées ou prennent trop de temps

Plusieurs ingénieurs pensent qu’être occupé est synonyme de productivité. Au lieu d’attendre, vous envoyez vos demandes à votre collègue pour les examiner et vous commencez un nouvel élément de travail. Votre collègue examine la demande une fois sa tâche terminée, de sorte que la demande est inactive, ce qui retarde l’obtention de la valeur. Quels sont les résultats ? Les demandes s’accumulent, le temps de révision augmente et la valeur prend plus de temps à être saisie.

Comment repérer la tendance ?

Vous pouvez mesurer le cycle de vie du temps nécessaire pour passer d’une validation à son déploiement. Cette mesure s’appelle le délai nécessaire aux changements et constitue l’une des quatre mesures clés de DORA pour DevOps. Vous pouvez diviser le cycle de vie en étapes et repérer les tendances. Par exemple, voici une image où vous pouvez voir le temps de codage (d’un commit à l’ouverture de sa pull request), le temps de prise en charge (de l’ouverture d’une PR à sa première interaction), le temps de révision (de la première interaction jusqu’à la fusion) et enfin le temps de déploiement (de la fusion jusqu’au déploiement en production). 

Graphique du délai nécessaire aux changements (métrique DORA) dans Axify pour les équipes d’ingénierie logicielle

En divisant le cycle de vie en phases, il est plus facile de trouver le goulot d’étranglement. Un comportement typique que nous observons est l’augmentation du temps de révision. C’est le signe que les ingénieurs ouvrent davantage de demandes de revue de code sans les classer par ordre de priorité ou que les PR sont trop volumineuses, de sorte que les ingénieurs évitent de les passer en revue.

Solution

Dans cette situation, il y a quelques options à considérer :

  • Donnez la priorité à la révision des demandes de revues de code. Après votre daily, tout le monde devrait d’abord fusionner les pull requests avant de s’attaquer à un nouvel élément de travail.
  • Réduisez le travail en cours (WIP) au sein de l’équipe. Les équipes subissent des retards parce qu’elles attendent ou dépendent de quelqu’un. Il n’est pas nécessaire d’attendre les autres si l’on travaille ensemble. La réduction du travail en cours tend à améliorer le temps de cycle.
  • Encouragez les petites demandes. Lorsqu’une demande est trop importante, les ingénieurs ont besoin de plus de temps pour l’examiner et ont tendance à l’éviter. Privilégiez plutôt une seule modification par demande de revue de code.

Pour commencer

La première étape est de commencer à se mesurer. La première série de données que je suggère de rassembler sont les métriques DORA. Elles vous permettront de vous faire une première idée des performances de l’équipe en matière de livraison et de savoir quelles sont les équipes qui ont besoin d’une plus grande attention. 

Mise en place du tableau de bord DORA

Des outils tels qu’Axify s’intègrent parfaitement à votre environnement technologique pour collecter des données précises à toutes les phases du développement. Notre tableau de bord DORA permet de suivre la fréquence de déploiement, le délai nécessaire aux changements, le taux d’échec des changements et le temps de récupération d’un échec de déploiement. Il permet aux équipes de comparer leurs performances avec les références de l’industrie, les performances passées et les autres équipes de la même organisation afin d’identifier les domaines à améliorer et de célébrer les réussites.

Tableau de bord DORA dans Axify pour les équipes d’ingénierie logicielle

Comparer les performances de vos équipes

Nos analyses d’équipes vous permettent de visualiser les métriques DORA pour chaque équipe. Ces données offrent l’avantage de comparer des pommes avec des pommes sur deux facteurs d’efficacité technique importants : la vitesse et la stabilité. Vous pouvez rapidement voir quelle équipe pourrait bénéficier d’une plus grande attention et laquelle pourrait partager ses meilleures pratiques pour une meilleure performance.

Vue d’ensemble des équipes dans Axify pour les équipes d’ingénierie logicielle

Travailler à l’amélioration continue

Transformez la manière dont votre équipe établit et atteint ses objectifs grâce à notre outil de suivi des objectifs et des résultats clés. Voyez en un coup d’œil l’évolution de vos indicateurs de performance et mettez en œuvre des initiatives qui soutiennent l’amélioration continue de votre équipe de développement.

suivi des objectifs pour les métriques DORA dans Axify pour les équipes d’ingénierie logicielle

Contactez-nous pour en savoir plus sur la façon dont Axify aide les équipes de développement à améliorer l’efficacité des processus d’ingénierie logicielle en mesurant les indicateurs clés de performance DORA, ou demandez une démonstration.

D'autres pièges à éviter pour une efficacité maximale de l'ingénierie logicielle


  1. Les éléments de travail sont trop volumineux
  2. Le contrôle de la qualité est long en raison d’un manque d’auomatisation
  3. Mauvaise répartition du temps investi
  4. Travailler sur trop d’éléments à la fois

Ou téléchargez notre guide complet 👇