Renforcer les bonnes pratiques de développement : 6e partie du livre blanc sur l’agilité

Blog Single
Agile

L’équipe en remote ne doit pas sacrifier la qualité de son travail. Pour cela, elle s’appuie sur craftsmanship et devops qui font partie des fondamentaux.

En synthèse, voici 5 des 7 pratiques indispensables pour maintenir un haut niveau de qualité, à consommer aussi bien en remote qu’en équipe colocalisée ! Découvrez toutes nos bonnes pratiques en téléchargeant notre premier livre blanc collaboratif  dès maintenant.

Utilisez un outil souple et robuste pour la gestion du code source
Travailler sur le même code peut générer des conflits. Un outil de gestion de code source apporte une sécurité collective et permet de ne pas écraser le travail de ses collègues. Git s’impose sur le sujet. Décentralisé, il gère très bien les déconnexions du serveur de version. Chaque développeur peut déposer ses modifications du code sous forme de commits.

Normalisez vos messages de commits
Avoir un historique des modifications du code permet de retrouver plus facilement les erreurs. Encore faut-il pouvoir gagner du temps pour naviguer entre les modifications ? L’équipe qui a développé le framework Angular propose une norme pouvant être reprise dans vos projets. Chaque message comporte un préfixe (exemple : feat, fix, refactor, etc.) et résume son but, son apport (Pourquoi ce commit a été fait ? Est-ce une correction ? Une évolution ? …).

Appliquez un flux de travail pour l’équipe
Les outils de gestion de sources fournissent des branches, qui représentent différentes évolutions du produit.
À minima, une équipe travaille sur 2 branches :

  • la master, version en production ;
  • la development, version en cours de modification, couramment appelée develop.

Matérialisez votre flux de travail à l’aide des branches

  • Les features : branche de nouvelles fonctionnalités. Une nouvelle branche est tirée depuis develop. Lorsque le développement de la fonctionnalité est terminé, le code source est réintégré dans la branche principale
  • Les releases : branche tampon avant la mise en production. Ces branches font office de tampon avant une mise en production. Il est utile d’avoir ce type de branche afin de corriger les derniers éléments de configuration comme une chaîne de connexion à une base de données manquante ou à une URL d’API externe incorrecte.
  • Les hotfixes : branche de corrections des bugs en production. Ces branches permettent de traiter rapidement les bugs en production. Elle est donc tirée depuis la master afin d’y apporter une modification. Lorsque le souci est résolu, la branche est refusionnée vers master mais également vers develop afin que les développements en cours soient synchronisés

Faîtes du pair-programming !
L’exercice de la programmation en binôme ou pair-programming est un excellent atout. Son intérêt n’est plus à démontrer : éviter les bugs, améliorer la qualité et l’homogénéité du code, faire émerger des patterns ou préparer des sessions de refactorings.
La pratique du pair-programming en remote nécessite un outillage de prise de contrôle à distance des postes de travail.

Maintenez vos revues de code, passez aux pull-requests
L’exercice de pull-request est l’équivalent de la revue de code, en remote. Elle consiste à fusionner une branche dans une autre, en appliquant des contrôles d’intégrité et de sécurité au préalable, qu’ils soient automatiques ou manuels.
Et le remote n’est pas incompatible avec des rencontres régulières. Nous vous recommandons de réaliser des ateliers de relecture de code, des coding dojos ou des katas à intervalles réguliers !

Pour découvrir la suite de ce chapitre et aller plus loin sur le sujet, télécharger le livre blanc Daveo (disponible au format PDF interactif) ! Vous pouvez également consulter notre cinquième partie, « S’outiller pour travailler en remote ».