Comment Organiser Son Travail Avec GitLab ?

đź’ˇ Comment organiser son travail ?

Vous vous posez souvent cette question autour de votre organisation ? Pour ma part c’est une remise en cause perpĂ©tuelle depuis que j’ai commencĂ© Ă  travailler. Notre mode de fonctionnement Ă  un instant donnĂ© n’est pas forcĂ©ment le mĂŞme Ă  un autre moment. Cela peut dĂ©pendre de plein de choses, de notre rĂ´le qui Ă©volue, de l’Ă©quipe avec laquelle on travaille, de votre entreprise, de la volontĂ© de faire des choses en parallèle de notre mĂ©tier, de notre vie privĂ©e, etc.

Une multitude d’outils de todo list existe comme Trello, Easynote, Notion, Google Keep, Microsoft Teams, Todoist, etc. Il n’est pas simple de choisir celui qui nous convient le mieux du premier coup.

Au dĂ©but de ma carrière, je travaillais souvent dans l’outil de gestion de tâches appartenant Ă  l’entreprise oĂą j’Ă©tais, et donc sur un rĂ©seau fermĂ© Ă  l’entreprise. Dans un sens, pour isoler nos actions de tous les jours et celles du travail, c’est le top. Au moins vous n’ĂŞtes pas tentĂ© de revoir / repenser votre activitĂ© professionnelle pendant vos week-ends et vos vacances. Mais Ă  partir du moment oĂą j’ai commencĂ© Ă  dĂ©velopper dans ma vie personnelle, j’ai dĂ» revoir une première fois ma copie.

De premiers outils testĂ©s…

J’ai donc optĂ© pour une option de type Trello (je n’ai plus le nom en tĂŞte !). Puis après quelques annĂ©es, j’ai basculĂ© sur une solution plus solide, Trello. CCela m’a permis de crĂ©er plusieurs tableaux pour distinguer vie professionnelle et vie personnelle. Mais certaines activitĂ©s de veille, effectuĂ©es sur ma vie personnelle, ont basculĂ© sur mon quotidien professionnel, et oui, faire de la veille, c’est aussi le quotidien de la vie professionnelle.

Me voilà donc avec un seul tableau, avec au départ une colonne todo, une colonne par jour travaillé et une colonne done.

La colonne todo a Ă©tĂ© rapidement surchargĂ©e, ce qui complique la visualisation globale de l’activitĂ© Ă  rĂ©aliser. Pour essayer de m’y retrouver j’ai crĂ©Ă© des Ă©tiquettes pour identifier visuellement le type de mes cartes.

Rapidement je me suis retrouvĂ© avec une vingtaine d’Ă©tiquettes, et avec les codes couleur, ça me donnait rapidement une idĂ©e des tâches Ă  rĂ©aliser.

Mais après quelques mois d’utilisation, j’ai voulu dĂ©grossir la colonne todo et je l’ai divisĂ©e en plusieurs colonnes, une par projet ou par activitĂ©. Me voilĂ  avec un nombre incroyable de colonnes et de cartes positionnĂ©es dans tous les sens. Très dur de s’y retrouver et de prioriser les diffĂ©rentes cartes.

Mon dernier changement d’outil, GitLab 🦊

Manipulant GitLab au quotidien dans mon activitĂ© professionnelle et très rĂ©gulièrement aussi cĂ´tĂ© personnel, j’avais une liste d’issues sur chacun de mes projets pour dĂ©clarer des incidents ou des Ă©volutions. J’avais dĂ©jĂ  ressenti ce besoin de centraliser toutes ces issues sur un seul Ă©cran et avais initiĂ© un “Ă©nième” side project. Et c’est en dĂ©finissant la backlog des features de ce projet que je me suis vu dupliquer ces issues… Sur Twitter, j’avais vu que plusieurs personnes gĂ©raient leur activitĂ© dans un Kanban GitLab, ce qui m’a rapidement amenĂ© Ă  cette conclusion : c’est parti pour un rapatriement de mes cartes Trello dans un projet GitLab.

La configuration

Dans la version gratuite de GitLab, il est Ă  l’heure actuelle permis de faire de la gestion de projet grâce Ă  ces terminologies :

  • des milestones pour dĂ©finir des pĂ©riodes / jalons de travail
  • des labels pour classifier les issues
  • des issues pour dĂ©clarer des tickets
  • des boards pour avoir une visualisation Kanban de nos issues

Les milestones

Les milestones permettent de dĂ©finir des pĂ©riodes d’activitĂ©s. Les issues peuvent ĂŞtre rattachĂ©es Ă  une et une seule milestone.

En ce qui concerne les jalons de mon projet, j’en ai dĂ©fini plusieurs :

  • un jalon par semaine
  • un jalon d’informations pour stocker et pouvoir rĂ©cupĂ©rer rapidement des informations utiles Ă  mon entreprise et aux langages de dĂ©veloppement par exemple
  • un jalon de waiting pour rĂ©fĂ©rencer les tâches Ă  rĂ©aliser, ma todo list.

Mes milestones

Ce mode de fonctionnement impose une rigueur dans la surveillance des issues. En dĂ©but et fin de semaine, il est important de regarder quels Ă©lĂ©ments de la todolist peuvent ĂŞtre planifiĂ©s dans une semaine, que ce soit celle en cours ou une Ă  venir. Ă€ la fin de chaque semaine, toutes les issues doivent ĂŞtre fermĂ©es dans l’objectif de clĂ´turer la milestone. Les issues non rĂ©alisĂ©es dans la semaine peuvent ĂŞtre repositionnĂ©es sur un autre jalon.

Les labels

Les labels se construisent au fur et Ă  mesure de la crĂ©ation de nos issues. Pour le dĂ©marrage, j’ai classĂ© mes issues :

  • avec des typologies : dev, formation, talk, articles de blog
  • avec une notion de prioritĂ© : urgent, pas urgent
  • par projets concernant mes sides projects
  • et par jour de la semaine : “lundi”, “mardi”…

Mes milestones

Les issues

Les issues permettent de déclarer une tâche à réaliser ou pour stocker de l’information en format Markdown. On peut ensuite l’identifier en lui attribuant des étiquettes.

Et ce qui est Ă©galement pratique, c’est de pouvoir relier l’issue de ce projet d’organisation, avec l’issue ou la merge request d’un autre projet GitLab (de la mĂŞme instance). J’arrive donc Ă  faire le lien rapidement entre les issues de mes projets GitLab et celles de mon projet de gestion d’activitĂ©.

Une issue

Les boards

Les boards vont permettre d’avoir une reprĂ©sentation graphique de vos issues. Par dĂ©faut, un board est affichĂ© avec deux colonnes d’issues, celles “Open” et celles “Closed”.

Board par défaut

Mais il est possible d’ajouter des listes d’issues associĂ©es Ă  un label spĂ©cifique. C’est de cette façon que j’ai pu me crĂ©er un board pour une semaine. J’ai donc une colonne pour les issues taguĂ©es “To Do”, une autre pour celles en cours (“Doing”) et une colonne par jour.

Board par défaut

Avec l’interface GitLab, le drag and drop est bien entendu fonctionnel et ajoute automatiquement le label associĂ© Ă  la colonne. C’est bien pratique au quotidien quand on prĂ©voit de dĂ©caler une issue.

Ă€ ce stade-lĂ , j’aperçois les issues de toutes mes milestones, ce qui n’est pas forcĂ©ment l’objectif puisque je veux travailler et avoir une visualisation de mon activitĂ© Ă  la semaine. Pour “contrer” cela, il suffit d’ajouter un filtre de recherche sur ma milestone :

Board par défaut

Cette recherche est disponible via une url classique que je peux enregistrer et adapter en fonction des différentes semaines : https://gitlab.com/jeanphi.baconnais/xxxx/-/boards/xxxxxx?scope=all&utf8=✓&milestone_title=S09 et le tour est joué.

Le Service Desk

 Le Service Desk est un outil qui met Ă  disposition une adresse mail du type incoming+jeanphi-baconnais-organizer-xxxxxx-issue-@incoming.gitlab.com et va, dès rĂ©ception d’un mail, enregistrer le contenu du mail (avec les pièces jointes s’il vous plaĂ®t !) dans une nouvelle issue. Cela peut ĂŞtre utile pour Ă©viter de surcharger les boĂ®tes mails communes et prĂ©fĂ©rer crĂ©er un ticket dans GitLab. PPour l’utilisation de ma propre backlog, cela m’est utile pour Ă©viter d’oublier de traiter des mails, surtout quand on prĂ©voit de traiter le mail quelques jours plus tard.

Dès que le mail est traitĂ© par GitLab, un mail de retour est renvoyĂ© Ă  l’utilisateur :

La non-assignation d’issue Ă  une milestone me permet de repĂ©rer les nouvelles issues que j’aurais pu oublier. Je vĂ©rifie de temps en temps qu’aucune issue ne possède une milestone Ă  “None”.

Issue create by service desk

Dans le menu “Service Desk”, il est Ă©galement possible de rĂ©cupĂ©rer toutes les issues crĂ©Ă©es par ce service.

Service Desk - issues

Et l’issue contient bien les informations de mon mail ainsi que la pièce jointe :

Service Desk - detail issues

Il est possible de personnaliser le message du retour ainsi que le format de l’issue crĂ©Ă© Ă  partir de template. Pour plus d’informations, c’est par ➡️ ici.

NB : Lors de la crĂ©ation ou de l’Ă©dition d’issue, l’affectation Ă  une milestone ou Ă  des labels peut se faire de manière textuelle, par exemple /milestone %S09 . Lors de l’envoi de mail au service desk, ce genre de texte n’est pour le moment pas encore pris en charge.

Mon retour 🚀

Après plusieurs mois d’utilisation, je trouve que cette gestion m’a permis de trouver une organisation qui m’est personnellement plus adaptĂ©e. Sur mon exemple, on ne voit qu’une quarantaine d’issues, mais dans un pic d’activitĂ©, je suis montĂ© Ă  plus de 150 issues Ă  gĂ©rer, dĂ©placer, temporiser, retrouver rapidement et le board de GitLab a largement rĂ©pondu Ă  mes attentes.