- read

La collaboration au cœur du développement web : méthodes et outils

Linkvalue 3

Collaboration — par @Windows sur Unsplash

Le travail collaboratif se définit par la mutualisation de moyens (ressources, connaissances, compétences, …) au service d’un objectif commun. Appliqué au développement web, il s’agit d’une organisation collective du travail autour d’un projet Tech. Il se base sur l’entraide pour mieux travailler ensemble.
Plusieurs développeurs collaborent alors à distance ou dans le même espace physique, en simultané ou en différé et au sein d’une équipe déjà constituée ou avec de nouveaux membres.
Les contextes de collaboration sont multiples et variés.

Contextes et méthodes de collaboration

Les équipes de développement web, sont déjà habituées à collaborer avec d’autres acteurs lors de leurs projets : product manager, product designer, devOps, utilisateurs, … Le travail collaboratif entre pairs s’inscrit donc dans la continuité de ces interactions, que ce soit au sein d’une entreprise ou d’un collectif.
Cette collaboration peut se développer dans différents contextes et selon plusieurs méthodes. Dans tous les cas, la communication est un prérequis indispensable à la coordination, ainsi que la répartition des rôles et responsabilités.

Bonnes pratiques de développement

Que l’on travaille à plusieurs ou non sur un projet, il faut toujours garder en tête, que d’autres membres pourront arriver ou reprendre le projet par la suite. Prendre en compte ce point et s’assurer qu’ils puissent le faire sereinement est une forme de collaboration par anticipation.
Dans ce cas il s’agit de produire une documentation claire et complète, de respecter les standards et normes de développement, et de faire des choix techniques réfléchis, accompagnés d’un code qualitatif, pour limiter la dette technique.

Utilisation de méthodes agiles

Les méthodes agiles sont une approche de gestion de projet. Plusieurs méthodes existent, mais toutes sont basées sur la collaboration et les interactions.
Scrum, SAFe et Kanban, sont les méthodes les plus utilisées.
En appliquant une de ces méthodes, ou en reprenant certains éléments issus de ces méthodes, les équipes projets et les développeurs intègrent la collaboration au cœur de leur travail.
On peut notamment s’appuyer sur les cérémonies et rituels de la méthode Scrum :
- Daily meeting : Point quotidien de synchronisation pour annoncer le travail effectué la veille et les priorités du jour.
- Sprint et sprint planning : Découpage des demandes fonctionnelles en sous-tâches et répartition entre les membres sur les sprints.
- Review : Présentation du travail accompli durant le sprint.
- Retrospective : Bilan et axes de progression sur le travail réalisé.
Ou encore s’appuyer sur le management visuel de l’approche Kanban, pour visualiser et faciliter le workflow des équipes.

Les méthodes agiles, telle que l’EXtreme Progamming, s’appuient aussi sur d’autres pratiques telles que la revue de code et le pair programming.

Code review

La revue de code est une pratique qui consiste à faire relire son code par un pair pour valider son fonctionnement, mais aussi sa lisibilité et sa compréhension.
Cela peut être fait dans le but de faire valider son code avant de l’intégrer en production, dans une démarche de qualité pour s’assurer de ne pas avoir de bug, ou dans une démarche d’apprentissage pour avoir un retour et des conseils d’une personne plus expérimentée.
La revue de code peut être effectuée auprès d’une personne, mais il peut aussi s’agir de revue collective auprès d’un groupe.
Et même si elle nécessite du temps, cette pratique collaborative permet d’obtenir un code qualitatif, de développer l’esprit d’équipe et elle favorise la montée en compétences.

En entreprise, on peut s’appuyer sur ses collègues et instaurer des temps dédiés pour effectuer cette revue de code. Mais cela peut être plus complexe lorsqu’on est free-lance ou plus isolé dans son travail. Dans ce cas, on peut se tourner vers la communauté de développeurs et demander leur aide.
Il y a notamment l’initiative Reviewers du cœur qui propose des revues de code aux développeurs juniors :

Pair programming

La pratique du pair progamming consiste à développer en binôme et en simultané sur un même code. Deux personnes travaillent donc ensemble, en endossant chacun son tour le rôle d’observateur ou de rédacteur. Plusieurs variantes existent, mais le principe est toujours de réfléchir ensemble à la meilleure solution à implémenter et d’échanger tout au long de l’exercice.
Idéalement le pair progamming se réalise en physique sur un même écran, mais il est également possible de le faire en distanciel.
Cette pratique, tout comme la revue de code, permet de développer l’esprit d’équipe, de produire un code qualitatif et d’accompagner le partage de savoir et la montée en compétences.

Contribution Open Source

Le travail collaboratif sur les projets tech peut nécessiter de gérer des droits d’accès et de partager le code source entre membres de l’équipe.
L’Open Source définit justement des logiciels dont le code source est mis à disposition pour lecture, modification et redistribution.
Rendre son travail accessible ou contribuer à l’Open Sourcen est une pratique de collaboration décentralisée qui permet de transmettre à d’autres le savoir et les ressources pour comprendre un projet, le réutiliser, voire l’améliorer.

Mentoring et knowledge management

Le mentoring met en relation un mentor et un mentoré. Le mentor est une personne expérimentée ou tout du moins sachante sur un sujet, qui va mettre son expertise à la disposition d’une personne qui souhaite monter en compétences. L’idée est d’entamer une relation d’échanges et d’apprentissage sur la durée jusqu’à atteindre l’objectif de développement de compétences souhaité.
Dans ce cas un développeur senior ou avec une expertise spécifique pourra collaborer avec un autre développeur pour lui transmettre son savoir.
Globalement toutes les occasions de partager ses connaissances, à travers du mentorat, mais aussi des prises de paroles, des articles, des formations, … permettent de favoriser l’entraide entre pairs.

Projets de coconstruction

Basée sur les principes de l’intelligence collective, la coconstruction réunit des acteurs qui collaborent pour faire avancer un projet commun.
Le leader et les contributeurs du projet sont tous sollicités pour participer, faire émerger des solutions et prendre des décisions communes.
En tant que développeur, il est possible de mener ou de contribuer à des projets de coconstruction entre pairs, par exemple sur une politique open source, une politique de knowledge management, une démarche GreenIT, …
La diversité des participants est toutefois une condition importante à la coconstruction. Donc il ne faut pas hésiter à inclure des profils de développeurs variés, et d’autres métiers représentatifs de l’entreprise par exemple.

Participation à des hackathons ou initiatives collectives

Une autre occasion de collaborer avec d’autres développeurs est la participation à des hackathons ou autres initiatives collectives.
Ces événements rassemblent des participants autour d’un projet commun pour faire émerger de nouvelles solutions sur une problématique. Ils peuvent avoir pour but de favoriser l’innovation d’une entreprise, mais aussi être tournés vers la Tech for Good.

Outils collaboratifs

Les méthodes de travail collaboratives s’appuient notamment sur des outils technologiques d’information et de communication.
Ces outils peuvent être classés dans différentes catégories :

  • Les outils de versioning permettent de gérer plusieurs versions d’un fichier ou d’un code source.
    Ils conservent l’historique des différentes versions et mises à jour d’un projet et permettent le travail en parallèle sur un même fichier sans risque de conflit ou de perte de données. Chacun peut travailler sur une version en locale avant de soumettre et valider sa contribution sur le dépôt commun.
    GitHub est l’outil de versioning incontournable ! Mais on retrouve également GitLab, Bitbucket, …
  • Les outils de workflow et de gestion de projet permettent de coordonner et de visualiser les flux d’avancement des étapes et tâches d’un projet.
    On retrouve des outils comme Jira, Trello, Notion ou Monday.
  • Les outils de visualisation et d’animation permettent d’appliquer des techniques de management visuel à des ateliers collaboratifs.
    On peut s’appuyer sur des outils comme Miro ou Klaxoon.
  • Les outils de communication sont indispensables, d’autant plus dans le cadre du travail à distance, même si la collaboration est possible à travers les autres outils. Pour cela il est possible de s’appuyer sur les outils de visioconférence, mais aussi des plateformes comme Slack ou Discord.
  • Les outils de gestion de documents permettent de centraliser les ressources et la documentation d’un projet, que ce soit sur Google Drive ou Sharepoint par exemple.

Les avantages de la collaboration dans le développement web

Le travail collaboratif s’appuie sur la communication, des méthodes et des outils. Il peut donc nécessiter un investissement en temps, que ce soit en formation, en adaptation ou pour la mise en œuvre, et aussi un investissement financier pour l’achat de licence si on se tourne vers des outils payants.

Néanmoins il est de plus en plus pratiqué, car il répond à de nombreux besoins :

  • Il facilite la montée en compétences et la circulation du savoir à travers le partage de compétences. C’est donc un excellent levier d’apprentissage et de transmission.
  • Il favorise l’esprit d’équipe, l’émulation et le sentiment d’appartenance grâce à l’échange entre pairs. C’est aussi l’occasion d’élargir son réseau et de faire de nouvelles rencontres.
  • La collaboration est orientée résolution de problème et permet de produire un code de meilleure qualité grâce aux synergies développées.
  • C’est aussi une opportunité de développer sa créativité en testant et découvrant de nouvelles méthodes et manière de travailler.
  • Travailler en collaboration est aussi une responsabilisation qui permet de se challenger et de trouver une source de motivation.
  • Enfin la collaboration s’inscrit dans un mouvement plus large de redéfinition des modes et organisations du travail.

Nous publions également régulièrement des articles sur des sujets de développement web et mobile, de data science, de conception produit et d’organisation du travail. N’hésitez donc pas à suivre notre compte Medium pour être notifié de nos prochaines publications et réaliser votre veille professionnelle.

Vous pouvez également suivre nos publications et notre actualité professionnelle, via nos différents réseaux sociaux : LinkedIn, Twitter, Facebook, Instagram, Youtube, Twitch, et notre newsletter mensuelle.

Pour en savoir sur notre entreprise et nos expertises, vous pouvez aussi consulter notre site Linkvalue et nos offres d’emploi sur notre page Welcome to the Jungle.