Salut,
Ceux d'entre vous qui ont encore accès à la ML (moribonde) sont au courant, mais pas les autres. Depuis l'ouverture de la bêta privée, je suis venu vous rejoindre comme directeur technique1 2. Pour résumer rapidement mon rôle : je suis là pour organiser le développement du site de manière à ce que tous les contributeurs techniques aient un cadre clair pour travailler (sachent quoi faire et comment le faire), et pour faciliter la prise de décisions. Mais je ne suis pas là pour vous montrer mes gallons donc fermons cette parenthèse.
Vous l'aurez peut-être remarqué, je suis passé faire un tour sur GH cette nuit pour y foutre un boxon monstrueux essayer de l'organiser de manière à ce qu'on puisse embrasser la globalité du projet en un coup d'oeil. Entre autres, j'ai :
- Fait le ménage dans les labels,
- Défini la milestone "Bêta publique" manquante,
- Commencé à classer les issues par milestone,
- Refusé une PR (je vais revenir sur cet incident parce que c'est important).
En fait, j'ai créé ce thread pour discuter de l'organisation que je vous propose pour le GH :
Les labels
Les labels doivent servir à qualifier rapidement un ticket au premier coup d'œil, et non de marque-page perso. Ils doivent donc constituer un ensemble limité de tags répartis en plusieurs catégories (une couleur par catégorie).
Voici l'ensemble qui me semble le plus pertinent à l'heure actuelle. Un ticket peut être labelisé par n'importe quelle combinaison entre :
-
Bug / Régression / Évolution : S'il y a besoin d'un correctif, soit c'est un bug, soit c'est une régression (les deux en même temps sont redondants). Sinon, c'est une nouvelle feature.
-
Front / Back / Pages statiques / Markdown : Sur quoi porte le ticket (compétences requises pour le régler) ?
-
En cours / Validation : État du ticket une fois qu'il a été pris en charge. Une fois le dev terminé, il passe de "en cours" à "validation" pour être testé. À l'issue du test, soit il repasse "en cours", soit il est fermé.
-
Facile / Difficile : Identifier la difficulté relative du ticket, pour les potentiels nouveaux contributeurs. J'ai supprimé le label "moyen" : c'est la difficulté par défaut.
-
Bloquant bêta publique / Bloquant V1 : Quoique légèrement redondante avec les milestones, c'est une information dont on veut qu'elle nous saute au visage, parce que ces tickets sont prioritaires sur les autres.
Assignees
J'ai lu sur une issue que jusqu'à la bêta les tickets n'étaient jamais assignés. À partir de maintenant il faudrait que ce soit le cas : identifier tout de suite les issues bloquantes qui ne sont pas prises en charge, ça n'a pas de prix. Je me suis arrangé avec Talus pour créer un groupe spécial pour pouvoir assigner des contributeurs externes aux tickets (notamment pour artragis cette nuit).
Gestion des PR et QA
Revenons sur la PR fermée de cette nuit. En ce moment, je vous rappelle que nous sommes en freeze, donc que le but de chaque PR est de stabiliser le site. À cet effet, je vais sûrement me montrer chiant, mais à mes yeux : aucune PR ne doit être envoyée (ni acceptée) si le dev n'a pas au moins rapidement validé son code. Il est évident que tout commit envoyé sans avoir été un minimum testé par le dev représente une perte de temps potentielle que ce soit pour le dev, la personne qui testera la PR, ou pire, les utilisateurs qui tomberont dessus si le dev merge sa propre PR.
D'une façon générale en ce qui concerne le merge des PR, je n'ai pas l'impression qu'il y ait une phase de "QA" bien définie. Avons-nous des gens dédiés à la tâche de tester effectivement les PR avant de les merger (bref des gens pour faire de la QA) ?
Si ce n'est pas le cas, je pense que ça va être le moment de faire un appel à contributeurs. L'idéal serait que chaque PR soit prise en compte par une personne "QA" (à laquelle le ticket concerné par la PR est alors assigné lorsqu'il passe en Validation), chargée de tester celle-ci en détail et de donner son GO/NOGO sur la PR. Idéalement toujours, seuls les gens de ce groupe QA devraient avoir le pouvoir de merger.
Je pense avoir fait le tour des remarques que j'ai actuellement en tête.
Avez-vous des questions ou des remarques ? Que pensez-vous de cette organisation ? Est-ce qu'elle vous convient ?
On peut la faire évoluer si besoin.