Bonjour,
ZdS est un gros projet aujourd'hui, vraiment trop gros, et force est de constater que nos outils de travail sont des outils de mauvaise qualités. J'ouvre ce topic afin qu'on essaye de trouver des outils adéquats (sans non plus sortir la grosse armada) pour un projet tel que ZdS.
La situation aujourd'hui
Les problèmes qu'ont a avec GitHub
La Gestion des tags
A l'heure ou j'écris ces lignes nous avons au sein du projets les 15 tags suivants : Bug, Back, Bloquant, Difficile, Documentation, Encours, Évolution, Facile, Front, Infra, Markdown, Pages Statiques, Questions, Régression, Validation.
Ces tags posent tout un tas de problème.
Personne ne sait, et personne n'a le même discours concernant la signification des tags. Ce n'est documenté nul part, ce qui fait que tout le monde colle des tags presque au doigt mouillé, et donc les tags sont inexploitable.
Les tags peuvent être regroupés ainsi : - Difficulté : Facile, Difficile - Nature : Documentation, Infra, Front, Back, Pages Statiques - Type : Bug, Évolution, Régression - Priorité : Bloquant - État : Encours, Validation
On arrive ici à la limite d'un outil de ticketing comme GitHub. Car on mélange dans les tags, la gestion du workflow, la gestion du projet et ses priorités, et l'attribution des taches. Il est donc impossible d'avoir une gestion des priorité plus fine que "bloquant ou non" par exemple.
Les issues
On n'a aucun moyen d'assurer le suivi d'une issue. Zds a un workflow qui fait que quand une issue est corrigée elle n'est pas tout de suite poussée en production. Or aujourd'hui les issues sont fermées quand le la pull request est mergée dans la branche de développement, et après ça, impossible de savoir ou en est l'issue en question, on en arrive à des trucs mystérieux comme ici.
On a un workflow et le cycle de vie des issues doit coller au plus près à notre workflow. Si on tente de le faire avec GitHub, on va juste finir par avant un nombre incalculable de tags qui serait contre-productif.
Les Milestones
Déjà, là aussi je ne suis pas sur que ma définition des milestones colle avec celle des autres dans le projet, mais aujourd'hui on les utilisent surtout pour regrouper les issues dans des versions. Sauf qu'elles tournent à deux vitesses. On a les Milestone "Version 1.x" et les Milestones "Futurs proches", "Futur lointain".
On utilise donc les Milestones en mode scotch pour palier au problème de fin de workflow vu qu'on range les issues dans une Milestone quand l'issue est fermée. On arrive donc pas à exploiter au final nos milestones.
La gestion des utilisateurs est très limitée
Aujourd'hui, un utilisateur qui ne fait pas parti de l'organisation github ne peut pas être assigné à un issue. On se retrouve donc avec tout un tas d'issue déjà prises et on est donc obligé de se taper la discussion parfois pour savoir si quelqu'un a dit "je prend". Parfois quelqu'un de l'organisation va se mettre en placeholder pour réserver l'issue, mais pour savoir qui bosse sur une issue c'est pas évident.
Idem au niveau de l'issue, le dev qui ne fait pas partie de l'orga ne pourra pas mettre à jour l'issue qui lui est assignée pour indiquer son évolution.
L'interface de GitHub n'est pas User-friendly
L'interface de GitHub est surtout fait pour le dev, ce qui a pour conséquence que l'on ne peut pas la personnaliser et donc brute de pomme, quand on arrive sur la page d'issue, c'est présenté de manière à faire fuire le premier venu.
La gestion de l'Infra
Aujourd'hui on se retrouve a mêler dans les issues du dépôt, les issues liées à l'infrastructure qui sont censée être propre au site qui déploie le logiciel zestedesavoir. Si je veux ré-utiliser le code de ZdS pour faire mon site, je m'en fou un peu que sur les serveurs de zestedesavoir.com ils n'ont pas alloués assez de mémoire à LaTex.
On a donc besoin d'un espace propre à zestedesavoir.com ou répertorier les taches à faire coté Infra.
Que pouvons nous espérer ?
Un vrai bugtracker assez user-friendly et utilisable par tous (le dev, le noob, etc.) et ouvert.
J'ai pensé à JIRA parce qu'il corrige les problèmes ennoncés ci-dessus, pour sa myriade de plugins et parce qu'on est un projet OpenSource (donc on pourrait avoir une offre cloud gratuite), mais n'importe quel autre outil qui fait le boulot serait intéressant à regarder.