Maximisez l'efficacité de votre gestion de projet avec GitHub Project

GitHub Project, fonctionnalité de GitHub, propose une gestion de projet efficace et pertinente pour les applications web. Chez Elao, on l’a adopté il y a déjà quelque temps et on vous dit pourquoi.

  1. GitHub Project by GitHub
  2. Les avantages d'une solution made in GitHub
  3. Vue d'ensemble et tableaux de bord personnalisés
  4. Association du ticket fonctionnel au code correspondant
  5. Une collaboration transparente
  6. Conclusion

GitHub Project by GitHub

GitHub, qu'est-ce que c'est ?

GitHub, c’est L’OUTIL des développeurs au quotidien (du moins chez Elao 😀). Cette plateforme collaborative, créée en 2008, permet de gérer en ligne le développement d’applications web. Ce service est basé sur l’outil de versioning open source Git, ce qui permet aux collaborateurs d’un même projet de centraliser et de partager leur code. Son principe de versioning autorise une collaboration efficace sur un projet identique, sans écraser le travail de l’un ou de l’autre. Avec son principe de revue de code, GitHub offre la possibilité de signaler et de résoudre collectivement des problèmes.

Pourquoi l'utilise-t-on au quotidien ?

Chez Elao, GitHub est la plateforme centrale à nos développements. Étant avant tout une équipe de concepteurs/développeurs, nous sommes amenés à travailler à plusieurs sur un seul projet, parfois même, à changer l’organisation des équipes en faisant intervenir d’autres développeurs extérieurs au projet. Ainsi, nous avons besoin de travailler sur une plateforme réactive, qui puisse accueillir le code de plusieurs collaborateurs différents sans interférer sur celui de son voisin, le tout permettant un échange et une communication fluide autour du code réalisé.

En résumé, chez Elao, on aime GitHub pour sa gestion de version avancée, son principe de collaboration efficace, son intégration continue et sa grande communauté.

Mais, SPOILER, on aime aussi utiliser GitHub pour sa version Project, qui nous permet de piloter la gestion de nos projets, en plus de leur développement, le tout sur un seul et même outil !

GitHub Project en quelques mots

GitHub Project est une des fonctionnalités de GitHub, basée sur la gestion de projets. Elle permet de suivre l’évolution du développement d’un projet sous forme de tableau de bord (board), de roadmap ou encore de liste. Le but ? Planifier, organiser, structurer et gérer l’évolution du projet.

Il existe aujourd’hui un nombre important d'outils de gestion de projet, tels que Trello, Jira, Asana, Monday, Clickup etc. Alors, pourquoi, selon nous, GitHub sort du lot ? On vous en dit plus tout de suite ! ⤵️

Les avantages d'une solution made in GitHub

Un outil "gratuit"

Qui dit GitHub Project dit GitHub, de fait, cette fonctionnalité est gratuite pour les projets Open Source, car intégrée à Git. Premier avantage considérable si vous utilisez déjà GitHub pour le développement de vos solutions, vous n’aurez pas à investir dans un autre outil payant.

Un outil qui centralise

L’un des points importants qui nous a poussés, il y a déjà quelque temps, à réaliser notre gestion de projet sous GitHub Project, est l'utilisation d'une seule et même solution pour piloter et développer nos projets.

Dans notre quotidien, nous pouvons faire appel à un nombre important d’outils divers, alors quand nous avons l’occasion d’en centraliser quelques-uns, nous sommes preneurs !

Personnellement je trouve ça agréable d’avoir des boards d’avancée de projet directement sur un outil que l’on utilise déjà au quotidien. Amélie, développeuse

Un outil accessible

À l’inverse de certains outils de gestion de projet, GitHub Project est plutôt simple d’utilisation et facile à appréhender. Son interface se veut plutôt épurée et nous pouvons accéder aux fonctionnalités de base très rapidement. Bien que pensé en premier lieu pour les développeurs, il est facile pour d'autres collaborateurs de prendre en main cet outil. Par exemple, chez Elao, nous utilisons GitHub Project pour faire avancer nos sujets sur la communication interne ou sur la vie de l’agence.

L’interface est pensée pour les développeurs sans être inaccessible pour les clients. C’est un gros gain de productivité de tout avoir dans GitHub et de ne pas avoir à basculer sur une autre solution, entre le suivi du code et le suivi du projet. Maxime, développeur

Vue d'ensemble et tableaux de bord personnalisés

GitHub Project vous permet de créer des tableaux de bord personnalisés pour organiser et gérer vos projets de développement web. Ce degré de personnalisation souligne la capacité de GitHub Project a s’adapter à une variété de méthodologies de développement, que ce soit Agile, Scrum, Kanban etc. Les équipes sont ainsi libres de créer leurs propres étapes de workflow.

Des vues personnalisées

Vous préférez consulter vos tâches via une liste ? un tableau ? une roadmap ? GitHub Project vous offre ces trois possibilités. Et si vous ne voulez pas choisir, car vous aimez pouvoir accéder à ces différentes vues, ce n’est pas un problème, car vous pouvez personnaliser vos vues autant que vous le souhaitez.

👀 Un exemple concret : Vous créez votre vue board en personnalisant l’ensemble de vos colonnes. Le but de cette vue est de pouvoir travailler en collaboration avec les développeurs du projet, afin de connaître l’évolution des fonctionnalités. Ainsi, vous pouvez voir quelles sont les fonctionnalités en train d’être développées ou celles que vous pouvez tester en tant que PO. À côté de ça, vous partagez cette board avec votre client. Ce dernier est uniquement intéressé par les tickets qu’il peut tester sur son environnement de production avant de vous les valider ou de vous faire des retours. Vous pouvez alors lui personnaliser une vue, afin qu’il puisse voir uniquement les colonnes de recette et de validation, étant les deux seules qui l’intéresse. Votre client peut alors rester focalisé sur les fonctionnalités qu’il a à tester, et vous, vous pouvez continuer de gérer votre projet via votre vue d’ensemble.

animation présentant les différentes vues sur GitHub Project
Les différentes vues sur Github Project Crédit : GitHub

Des champs personnalisables

Vous pouvez également customiser des champs afin de qualifier vos tickets et de personnaliser davantage vos vues. Par exemple vous êtes capables créer des champs pour :

  • Définir des priorités à vos fonctionnalités
  • Associer vos fonctionnalités à des Sprints
  • Allier des épics à vos tickets pour les trier et vous y retrouver

Ces champs permettent de donner plus de précisions à vos tickets, de les trier et de pouvoir analyser en un coup d'œil, de quoi il s’agit. Ensuite, il vous suffit d’associer un des champs que vous souhaitez voir de manière permanente pour créer votre vue.

👀 Un exemple concret : chez Elao, nous utilisons GitHub Project pour gérer les tâches à faire au niveau de notre communication interne. Nous avons alors créé plusieurs champs comme :

  • le sujet (ce ticket concerne la vie de l’agence ? un sujet tech ? un business case ? etc.)
  • la semaine de publication (avec une date précise)
  • le format (est-ce un visuel ? un article ? un GIF ? etc.)
  • le mois où le sujet doit être traité
  • le canal (le site Elao ? Linkedin ? Twitter ?)
capture d'écran mettant en avant des champs personnalisables sur un ticket GitHub Project
Les champs personnalisables sur un ticket GitHub Project

Ces champs permettent de voir rapidement de quoi il est question et peuvent être utilisés pour gérer les vues dont on a besoin. Par exemple, nous avons une vue “canaux” dans laquelle on a trié les projets par type de canal.

capture d'écran montrant un exemple de champ personnalisable canal dans GitHub Project
Exemple de champ personnalisable "Canal"

Une structuration des tickets grâce au fonctionnement des tasks

Lors de la conception de votre ticket, et plus précisément au moment où vous écrivez le contenu de celui-ci, vous pouvez utiliser les cases à cocher afin de bien structurer les différentes étapes ou demandes qui composent votre fonctionnalité. Avec GitHub Project, vous pouvez aller un peu plus loin ! Comment ? En convertissant vos cases à cocher en task. Ce fonctionnement est intéressant si une tâche demande finalement plus de développement et gagne à être convertie en un ticket à part entière.

animation montrant les tasks sur GitHub Project
Les tasks sur GitHub Project Crédit photo : GitHub

Association du ticket fonctionnel au code correspondant

En tant qu’agence de développement, le lien possible entre le code des développeurs et les tickets est pour nous une fonctionnalité essentielle, et c’est ce que propose GitHub !

Lorsqu’une équipe de développement décide de travailler sur un ticket spécifique, un développeur peut créer une branche de code source à partir de la branche principale du projet, afin de travailler spécifiquement sur la fonctionnalité. Une fois le développement fait sur la branche créée, un développeur peut mettre en place une pull request (PR), afin de déployer le code sur la branche principale. Avec GitHub Project, nous sommes en mesure d’associer directement une PR à un ticket et suivre ainsi l’évolution des travaux directement à partir du ticket. Cette synchronisation entre les tickets et les PR favorise une gestion de projet transparente et efficace.

Une collaboration transparente

Avec ce fonctionnement permettant de lier un ticket à une PR, la communication se veut plus transparente : il est plus facile pour le PO de suivre l’avancée de la fonctionnalité, ainsi que pour l’ensemble des développeurs travaillant sur le projet.

Mais cette transparence ne s’arrête pas ici. Plusieurs petites fonctionnalités que nous pouvons également retrouver dans d’autres outils de gestion de projet, permettent une plus grande visibilité sur le projet par l’ensemble de ses membres.

Les assignations

Les développeurs (mais également les PO), peuvent se voir assigner des tickets. Cela leur permet d’avoir rapidement une idée des fonctionnalités qui les concernent. Ainsi, ils ont la possibilité de se créer une vue personnalisée avec uniquement les tickets qui leur ont été assignés, afin de rester focalisés sur ces derniers.

Par exemple, en tant que facilitatrice et chargée de communication, je me suis créée une vue spécialement pour moi, me permettant de consulter uniquement les tickets qui me concernent. L’attribution des tickets, permet également à chacun des membres de savoir rapidement qui avance sur quel ticket (et hop on économise quelques messages sur Slack 😉).

capture d'écran montrant l'assignation des tickets dans GitHub Project
L'assignation des tickets dans GitHub Project

Un espace d'échange

Les tickets liés aux PR deviennent le point central de la discussion et de la revue par les pairs. Les membres de l’équipe peuvent examiner les modifications apportées, soumettre des suggestions, poser des questions, afin d’optimiser au mieux le code établi. L’ensemble des échanges est alors concentré sur un même support, permettant de s’y référer facilement si vous en avez besoin.

Une traçabilité

En associant un ticket à une PR, vous établissez un lien direct entre la demande initiale et le travail qui en découle. Cela permet alors de suivre précisément les changements dans la PR, ainsi, chaque membre de l’équipe détient le même niveau d’information.

L’intérêt d’utiliser GitHub Project (par rapport à un Trello, Jira ou autre), c’est que les tableaux de bord sont complètement intégrés à GitHub, on peut y mettre des issues, des milestones, des labels etc. On peut aussi faire directement des liens vers des bouts de code, vers un fichier, avec le statut des issues, des PR, mentionner d’autres développeurs et attribuer des tâches. Maxime, développeur

Conclusion

De par son intégration à GitHub, la fonctionnalité Project en fait un outil de gestion de projet efficace, que cela soit pour les développeurs ou les Product Owner-Chef·fe·s de projet. Avec sa personnalisation avancée, sa collaboration transparente et sa liaison avec les PR, GitHub Project représente un choix intéressant pour maximiser l’efficacité de la gestion de projet au sein d’une équipe web.

Chez Elao, nous voyons cette plateforme comme une interface réactive qui nous offre l’opportunité de travailler sur une même solution, de collaborer efficacement et d’assurer une communication fluide autour du projet.