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.
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 ?)
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.
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.
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 😉).
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.