web-dev-qa-db-fra.com

Quelle est la différence / relation entre les projets GitHub et les jalons?

La récente mise à jour de GitHub a ajouté quelque chose appelé Projets dans le flux de travail GitHub. avoir une expérience particulière avec des outils de suivi de projet tels que Jira ou Trello (hé, au moins j'ai remarqué la similitude) , quelqu'un pourrait-il , veuillez, s'il vous plaît, préciser les différences (clés) entre les jalons de GitHub et le nouveau Projets ?

Si je comprends bien, Les jalons permettent d’organiser les problèmes en petits "sous-projets" - plus petit que l'ensemble du "projet" (qui, dans ma vue du monde, est représenté par le référentiel ) Lorsque tous les problèmes sont terminés/fermés, le jalon peut être considéré comme étant complet .

Les nouveaux projets sont également, à mon avis, une manière d’organiser les problèmes en plus petit que le référentiel "sous-projets" (bien que appelé projets ). Je comprends que le flux de travail est supposé être légèrement différent et plus fin que celui de "simple" . Jalons .

Donc, sont des projets quelque chose qui complète des jalons (ou plutôt des jalons complément Projets maintenant?) Ou devrais-je plutôt voir Projets en tant que remplacement de jalons ?

Où exactement font les projets dans le repository[-milestone]-issue hiérarchie?

Malheureusement, le blog de GitHub concernant l’introduction des projets ne mentionne aucune relation (- https://github.com/blog/2256-a-whole-new-github-universe-announcing-new-tools-forums-and-features ).

J'ai l'impression qu'il y en a un, mais je ne peux pas mettre le doigt dessus.

125
Smuuf

Je me demande exactement la même chose. Voici ce que je suis venu avec.

Tout d’abord, passons en revue les principales similitudes et différences:

  • Un problème peut appartenir à plusieurs projets, mais à un seul jalon.
  • Les projets ne sont jamais complets . Il n'y a pas de barre de progression ni de date limite. Les projets n'ont pas de barre de progression ni de date limite, mais peuvent maintenant être fermés (comme l'a souligné @Sheen)
  • Les jalons en revanche ont tout cela, mais manquent de toute forme d'organisation. Un problème est soit dans une étape, ou ne l'est pas. (Ils peuvent être commandés comme indiqué par @Nick McCurdy)
  • Les problèmes peuvent être filtrés par jalon, mais pas par projet. Comme l'a souligné @cmonkey, les problèmes peuvent maintenant être filtrés par projet ainsi que par Milestone.
  • Les projets peuvent contenir des notes (qui peuvent être converties en problèmes) afin que le suivi des problèmes ne soit pas pollué par des idées vagues
  • Un projet peut s'étendre sur plusieurs jalons et un jalon peut contenir des parties de différents projets.
  • Une organisation peut aussi avoir des projets. Ces projets peuvent inclure des tickets de n’importe quel référentiel de l’organisation, ce qui le rend très utile.

Donc, à mon avis, Projets constitue un moyen totalement distinct de visualiser et d’organiser votre travail à un niveau supérieur (pensez "gestion de projet", plusieurs équipes, plusieurs référentiels, etc.), tandis que Les jalons sont un moyen d’organiser vos échéances et vos publications à un niveau plus élémentaire (pensez "gestion des versions", "versions", etc.). Dans cet esprit, il est logique qu'un problème n'appartienne qu'à un seul jalon (il n'est publié ou mis en production qu'une seule fois), mais peut faire partie de différents projets.

Je suis sûr qu’il existe d’autres moyens d’examiner la situation, et j’aimerais entendre d’autres opinions.

Edit Décembre 2017

Il y a quelque temps, après avoir travaillé avec les jalons et les projets pendant plus d'un an, j'ai réalisé qu'il y avait un autre aspect important que j'avais complètement négligé.

  • Jalons est un outil pour la méthodologie Scrum. Les jalons sont utiles pour les itérations dans le temps imparti et le travail dans les sprints comportant de nombreux problèmes.
  • Projets est un outil pour la méthodologie Kanban. Les projets sont bons pour une livraison continue et un flux de travail régulier.
125
rlanvin

Mon avis:

  • Un Projet concerne un processus et le personnes.
  • Un Milestone concerne un produit.

Un projet est préférable pour avoir un aperçu du processus utilisé par le personnes du groupe. Un meilleur nom pour cela serait "workflow" ou "process". La création d'un nouveau projet entraîne davantage de frais généraux que la création d'un nouveau jalon. Donc, vous ne voulez vraiment créer un nouveau projet que lorsqu'il y a un nouveau processus dans votre équipe: les couloirs doivent être choisis, configurés et commandés. Ils peuvent également être très différents dans chaque projet. Je repense à l'utilisation initiale de Kanban par Toyota: gérer les personnes et leur charge de travail.

Un projet répond à la question "Sur quoi travaillons-nous en ce moment?"

Deux excellents exemples de projets: développement de logiciels et blogging. Les configurations pour chacune prendraient en charge les processus de personnes des différents groupes; comment ils travaillent ensemble et approuvent les choses.

Les jalons, en revanche, fonctionnent de la même manière. Il s’agit d’une liste ordonnée de tâches qui doivent toutes être closes pour que le produit du travail soit considéré comme terminé. Vous pouvez éventuellement définir une date d'échéance, qui fournit uniquement des rappels, mais ne modifie pas le fonctionnement de Milestone.

Un jalon répond à la question "Que reste-t-il pour finir ce produit?"

27
Dogweather

Une bonne chose à propos des projets, c’est qu’ils sont plus libres que des jalons. Vous pouvez simplement y insérer des notes, créer des liens vers des problèmes et les organiser comme bon vous semble. Ils sont parfaits pour noter des idées, établir des feuilles de route et répertorier des ressources et des dépendances. Dans le passé, j’utilisais les problèmes et le wiki pour les mêmes choses, mais j’ai trouvé que les deux étaient trop formels et transactionnels (c’est-à-dire des frais généraux plus élevés).

12
z0r

Les jalons sont des sortes d'étiquettes qui marquent et groupent les tickets qui doivent être livrés à un moment donné. La page Milestones à laquelle vous pouvez accéder à partir de la page Issues indique clairement que vous pouvez voir le pourcentage de tickets terminés pour un jalon particulier et la date d’échéance. Vous pouvez également trier les jalons par échéance et hiérarchiser les tickets dans un jalon particulier.

Ici, l'accent est mis sur les dates de livraison et le suivi des progrès.

Les projets sont par contre implémentés dans GitHub sous la forme Kanban avec quelques options. Vous pouvez spécifier un nombre de colonnes (et swimlanes - comme @Doug a dit ci-dessous swimlanes ne sont pas encore supportés) pour créer des workflows simples. Vous pouvez ensuite ajouter des tickets d'un ou plusieurs référentiels, les hiérarchiser, puis les faire progresser d'une colonne à une autre au fur et à mesure de leur traitement. Vous pouvez, par exemple, avoir les colonnes "Carnet de commandes", "En cours", "En cours de révision", "En cours de test" et "Terminé" et déplacer les tickets de gauche à droite, ou de droite à gauche si, par exemple, un message défectueux est affiché. le ticket est renvoyé de 'In Testing' à 'Backlog'.

L'accent est mis ici sur l'organisation et la gestion du travail.

Ensuite, comment organiser et partitionner ce travail dépend de vous. Vous pouvez créer un projet par jalon ou avoir plusieurs jalons dans un seul projet ou scinder les jalons en plus courts sprints . Vous pouvez également avoir plusieurs projets couvrant différents aspects du travail sur le produit, par exemple un pour les développeurs et un pour les testeurs.

10
Johnny Baloney