Dans le livre 97 Things every programmer should know, Gudny Hauknes, Kari Røssland, et Ann Katrin Gagnat nous partage leurs expériences en pair programming, et en réception du flux.
Voici leur article en français :
Imaginez que vous êtes totalement absorbé par ce que vous faites : concentré, dévoué et impliqué. Vous avez peut-être perdu la notion du temps. Vous vous sentez probablement heureux. Vous rencontrez le flux. Il est difficile à la fois d’atteindre et de maintenir le flux pour toute une équipe de développeurs car il y a tellement d’interruptions, d’interactions et d’autres distractions qui peuvent facilement le rompre.
Si vous avez déjà pratiqué le pair programming, vous êtes probablement familier avec la façon dont la programmation à deux contribue au flux. Si vous ne l’avez pas fait, nous voulons partager nos expériences pour vous motiver à commencer dès maintenant ! Pour réussir avec le pair programming, les membres individuels de l’équipe et l’équipe dans son ensemble doivent faire quelques efforts.
En tant que membre de l’équipe, soyez patient avec les développeurs moins expérimentés que vous. Affrontez vos peurs d’être intimidé par des développeurs plus qualifiés. Réalisez que les gens sont différents et appréciez-le. Soyez conscient de vos propres forces et faiblesses, ainsi que celles des autres membres de l’équipe. Vous pourriez être surpris par ce que vous pouvez apprendre de vos collègues.
En équipe, présentez le pair programming pour promouvoir la distribution des compétences et des connaissances tout au long du projet. Vous devez résoudre vos tâches par paires et faire pivoter les paires et les tâches fréquemment. Convenir d’une règle de rotation. Mettez la règle de côté ou ajustez-la si nécessaire. Notre expérience est que vous n’avez pas nécessairement besoin de terminer une tâche avant de la tourner à une autre paire. Interrompre une tâche pour la passer à une autre paire peut sembler contre-intuitif, mais nous avons constaté que cela fonctionne.
Il existe de nombreuses situations où le flux peut être brisé, mais où la programmation par paires vous aide à le garder :
- Réduisez le «facteur camion». Il s’agit d’une expérience de pensée légèrement morbide, mais combien de membres de votre équipe devraient être touchés par un camion avant que l’équipe ne soit incapable de terminer le livrable final ? En d’autres termes, à quel point votre livraison dépend-elle de certains membres de l’équipe ? La connaissance est-elle privilégiée ou partagée ? Si vous avez tourné des tâches entre des paires, il y a toujours quelqu’un d’autre qui a les connaissances et peut compléter le travail. Le flux de votre équipe n’est pas aussi affecté par le «facteur camion».
- Résoudre les problèmes efficacement. Si vous faites du pair programming et que vous rencontrez un problème difficile, vous avez toujours quelqu’un avec qui discuter. Un tel dialogue est plus susceptible d’ouvrir des possibilités que si vous êtes coincé par vous-même. Au fur et à mesure que le travail tourne, votre solution sera réexaminée et reconsidérée par la prochaine paire, de sorte que ce n’est pas grave si vous n’avez pas choisi la solution optimale au départ.
- Intégrez en douceur. Si votre tâche actuelle consiste à appeler une autre partie du code, vous espérez que les noms des méthodes, des documents et des tests sont suffisamment descriptifs pour vous permettre de mieux comprendre ce qu’il fait. Sinon, l’appariement avec un développeur impliqué dans l’écriture de ce code vous donnera une meilleure vue d’ensemble et une intégration plus rapide dans votre propre code. En outre, vous pouvez utiliser la discussion comme une opportunité pour améliorer la convention nommage, les documents et les tests.
- Atténuer les interruptions. Si quelqu’un vient vous poser une question ou que votre téléphone sonne ou que vous devez répondre à un courrier électronique urgent ou que vous devez assister à une réunion, votre partenaire de programmation peut continuer à coder. Quand vous revenez, votre partenaire est toujours dans le flux et vous allez vite le rattraper et le rejoindre.
- Amener les nouveaux membres de l’équipe à la vitesse de croisière. Avec le pair programming et une rotation appropriée des paires et des tâches, les nouveaux arrivants apprennent rapidement à connaître le code et les autres membres de l’équipe. Le Flow vous rend incroyablement productif. Mais c’est aussi vulnérable. Fais ce que tu peux pour l’obtenir, et garde-le quand tu l’auras !