Star (-) Watch (-)

konpa

Méthodes de travail & bonnes pratiques

Nous avons parlé de méthodes de travail, en présentant les méthodes Agiles et la gestion du temps, mais nous pouvons aussi parler de "bonnes pratiques de travail".

Ces bonnes pratiques, démocratisées par les méthodes agiles, peuvent être appliquées à la plupart des projets.

Le pair programming

Le pair programming, comme son nom l'indique, est l'action de coder à deux : l'un des développeurs tient le clavier et code, pendant que l'autre lit et participe à l'écriture du code.

Dit comme ça, ça a l'air extrêmement contre-productif :

Deux personnes qui font le boulot d'une, c'est absolument pas rentable.

C'est ce que je pensais aussi avant de m'y essayer.

D'abord, le pair programming n'est pas systématique, mais devrait être régulier : une à deux fois par semaine, par exemple.
Ensuite, et c'est logique, les rôles doivent s'inverser régulièrement.

L'utilisation régulière du pair programming dans une équipe apporte énormément d'avantages, dont les suivants :

  • renforcement de la cohésion de l'équipe
  • deux développeurs ne pensent jamais de la même façon, et confronter ces idées avant d'écrire le code est le meilleur moment pour le faire
  • augmentation de la couverture du code : dans un projet en équipe, si une personne est l'auteur d'une grand partie du projet et vient à s'absenter (maladie, vacances, départ), il faut du temps au reste de l'équipe pour se réapproprier ces parties du projet. Le pair programming tend à réduire les parties de codes couvertes par une seule personne.

Les revues de code

Les revues de code sont des processus assez simples à mettre en place et très didactiques : l'idée est de demander à un membre de l'équipe de présenter, dans un temps défini mais relativement court (15min max.), une partie du code du projet aux autres membres de l'équipe.

La revue de code peut reposer sur la présentation de code écrit par l'orateur, ou non.

Une revue de code permet de soulever certains problèmes de conception et de s'assurer de la compréhension globale du projet par l'équipe.

Les tests unitaires et le TDD

TODO