Des questions sur Promyze ?

Promyze

L’Atelier Craft est un format de revue de code collective dédié à faire émerger les bonnes pratiques de développement d’une équipe. A partir de quelques fichiers de code source, chaque personne peut déposer des “tags” pour indiquer si selon elles certaines bonnes pratiques ont été suivies ou à l’inverse auraient pu être suivies. Peuvent être abordés les choix d’implémentations, la manière dont le code a été écrit ou tout autre sujet nécessitant une prise de recul et de discussions sur des façons de l’améliorer. Lors de la rétrospective d’atelier, chaque personne prend la parole pour présenter ses propositions d’amélioration du code. L’équipe en discute ensuite pour indiquer si elle est d’accord ou non pour valider cette proposition. Toutes les décisions de l’équipe sont alors consignées en d’atelier et la documentation des bonnes pratiques est mise à jour.

Les Ateliers Craft exploitent les mécanismes de la revue de code et l’utilisent comme un support pour la définition des bonnes pratiques. Les Ateliers ne sont pas un outil de revue de code à proprement parler. L’Atelier est une revue non systématique sur tout le code produit mais se focalise sur de plus larges portions de code (un fichier entier par exemple). Les revues de code plus classiques auront tendance à valider que le code respecte les standards de l’entreprise, qui sont au mieux définies dans une documentation (parfois plus à jour), parfois uniquement dans la mémoire des développeurs. De plus, elles concernent un nombre plus restreint de participants (souvent 1 personne), ce qui amène à une répétition de certains concepts de revue en revue, principalement de la part du profil « Tech Lead » de l’équipe.

Si Promyze n’impose pas de rythme ou de fréquence d’ateliers, nous recommandons de démarrer par un atelier hebdomadaire ou toutes les 2 semaines pour se l’approprier, et affiner ensuite le mode de fonctionnement. Par la suite, vous pourrez adapter la fréquence à votre contexte et à votre situation. Il n’y a qu’une seule bonne réponse : celle que vous aurez définie ! Adopter une fréquence peut cependant contribuer à s’assurer que le sujet de la qualité de code trouvera sa place dans l’organisation de l’équipe. Des ateliers peuvent également être organisés à la demande, ce qui peut arriver plus souvent en phase d’onboarding dans l’équipe.

Nous préconisons de définir une thématique pour chaque atelier (ex : Architecture, Tests unitaires, Définition des API, Gestion des erreurs, Frameworks, …), ce qui facilitera le choix des fichiers à analyser. Il est ensuite généralement plus pertinent de travailler sur du code modifié récemment, ou qui évolue fréquemment, car il s’agit certainement d’un code qui sera amené à évoluer à court terme. Chaque personne peut proposer une thématique ou bien simplement des fichiers à travailler lors d’un atelier, notamment si elle souhaite un feedback de la part du reste de l’équipe quant aux bonnes pratiques à suivre. Quelques fichiers suffisent (1 à 4 généralement, dépendant du contenu et de la taille des fichiers.

L’Atelier Craft est un support qu’il convient d’adapter selon les besoins de chaque équipe. Si le format standard consiste en amont à sélectionner des fichiers puis à y annoter des bonnes pratiques que l’on présentera au moment de la rétrospective, d’autres approches sont possibles. On peut très bien imaginer faire un atelier en temps réel sans préparation préalable, ou bien laisser le Lead à une personne qui présentera son analyse et ses propositions de bonnes pratiques (cela peut faire sens dans le cadre d’une expertise ponctuelle externe ou d’une formation). Enfin, aborder un code qui a subi un refactoring suite à un précédent atelier est également une idée pour voir une mise en œuvre concrète de ce qui a été discuté récemment.

De notre point de vue, une rétrospective de 30 à 60 min est un ordre de grandeur pertinent. Encore une fois, chaque équipe trouvera la formule qui lui convient, notamment en fonction de sa taille et de la fréquence adoptée pour organiser les ateliers. La valeur générée à travers les discussions lors des rétrospectives d’Ateliers est précieuse, il est important que chaque personne soit dans les meilleures dispositions pour la réceptionner. Attention aux discussions trop longues qui pourraient engendrer des pertes d’attention et de motivation parmi les participants (le mode “battle” est là pour ça 🙂 !).

Tout à fait, même si ce fichier va par la suite évoluer et que Promyze détectera ces évolutions dans votre dépôt de code source, la documentation se fera à partir du code présent de l’atelier. C’est une photographie du code qui sert à alimenter la documentation de la bonne pratique.

Lorsqu’on passe en revue chaque tag déposé, une discussion débute dans l’équipe et permet d’échanger sur les points de vue de chaque personne. Si un consensus a du mal à être atteint au bout de plusieurs minutes, c’est que l’équipe a certainement besoin de temps supplémentaire pour réfléchir. Le mode “Battle” peut alors être activé sur une bonne pratique, afin de proposer des arguments pour ou contre dans les jours qui suivent, et de voter pour l’adoption ou non d’une bonne pratique. La prochaine rétrospective sera l’occasion de statuer sur les battles en cours.

Lors de l’identification des bonnes pratiques, les utilisateurs n’ont pas accès aux propositions formulées par les autres personnes de l’équipe. L’objectif est d’éviter une influence trop importante et surtout de laisser chaque personne s’exprimer librement selon son propre point de vue.

A la fin de la rétrospective, il est proposé aux équipes de rédiger une courte synthèse des éléments à retenir de cet atelier et de mettre en avant certaines bonnes pratiques discutées lors de celui-ci. L’objectif est de garder une trace des échanges générés dans cet atelier. Certaines actions peuvent avoir été identifiées lors de la rétrospective, comme par exemple la correction d’un bug identifié en session, ou encore la proposition d’appliquer un refactoring. Il est toujours intéressant de planifier des prochaines actions. La fin d’atelier est également l’opportunité de préparer le prochain atelier : quels fichiers et quelles thématiques aborder ?

Il y a eu beaucoup de choses à raconter sur cet atelier ? C’est une bonne nouvelle, cela a certainement contribué à mettre en lumière certains points techniques et mettre tout le monde au même niveau de compréhension. S’ il vous reste des éléments à parcourir à la fin du temps que vous aviez prévu, aucun problème, vous pourrez tout simplement les aborder lors de la prochaine rétrospective, où vous reprendrez l’atelier en cours.

Si vous avez déjà rédigé un certain nombre de bonnes pratiques (fichier texte, Wiki), il est tout à fait possible de les importer dans Promyze. Vous pouvez les importer au format JSON, auquel cas vous devrez les avoir transformés en amont depuis votre outil existant. Vous pouvez aussi les ajouter manuellement grâce à notre éditeur de pratique. Une fois importées, elles seront disponibles dans vos prochains ateliers.

Les plugins IDE permettent d’amener directement l’information au sein de l’outil de travail des équipes de développement. Elles sont ainsi directement accessibles au quotidien, et les plugins permettent également d’enrichir la base de bonnes pratiques existantes. 

Promyze propose ausso un mode d’export de ses bonnes pratiques pour pouvoir les avoir facilement à disposition dans d’autres environnements.

Les Ateliers permettent de faire émerger des bonnes pratiques et d’alimenter votre base existante. Promyze offre la possibilité de rassembler des pratiques au sein de profils, qui vont généralement contenir les règles pour une équipe donnée. Un modèle d’héritage de profils permet de réutiliser un ensemble de pratiques déjà définies dans votre organisation. De plus, un système de catégorisation permet de taguer facilement certaines pratiques en fonction de leur thématique (sécurité, performance, …).

Les bonnes pratiques d’une équipe vont être le plus souvent ordonnées dans un profil de pratiques au sein de son espace de travail. Un profil peut être soit privé, soit public. Dans le second cas, ce profil sera disponible pour les utilisateurs des autres espaces de travail. Il est donc facile de capitaliser sur un ensemble de règles éprouvées par certaines équipes, d’identifier des personnes expertes sur des sujets précis, et de découvrir comment d’autres équipes ont réussi à résoudre des problématiques techniques

Le terme “Craft” fait référence au Software Craftsmanship, un mouvement qui prend ses racines dans les méthodes d’Extreme Programming et de l’agilité, et qui repose sur la recherche permanente de qualité technique dans le développement logiciel. Un des piliers du mouvement est le partage de savoir-faire et de connaissances entre membres d’une équipe de développement, et c’est justement ce que les Ateliers permettent. C’est un format conçu et pensé selons les valeurs de ce mouvement.

Promyze, la plateforme collaborative dédiée aux bonnes pratiques de développement qui porte les valeurs du Software Craftsmanship
©2020 Promyze – Mentions légales

Des besoins en qualité de code ? En amélioration des pratiques ?
Parlons-en !

message-popup