Das jüngste Update von GitHub hat dem GitHub-Workflow etwas hinzugefügt, das als Projekte bezeichnet wird , und da ich keine besonderen Erfahrungen mit Projektverfolgungstools wie Jira oder Trello habe (hey, zumindest habe ich die Ähnlichkeit bemerkt) , könnte jemand dies bitte näher erläutern zu den (Schlüssel-) Unterschieden zwischen GitHubs Meilensteinen und den neuen Projekten ?
Wenn ich das richtig verstehe, sind Meilensteine eine Möglichkeit, Probleme in kleinere "Unterprojekte" zu organisieren - kleiner als das gesamte "Projekt" (das meiner Ansicht nach durch das Repository dargestellt wird ). Wenn alle Probleme erledigt / abgeschlossen sind, kann der Meilenstein als vollständig angesehen werden .
Die neu eingeführten Projekte sind meines Erachtens auch eine Möglichkeit, Probleme in "Unterprojekten" zu organisieren, die kleiner als das Repository sind (obwohl sie als Projekte bezeichnet werden ). Ich verstehe, dass der Workflow etwas anders und feinkörniger sein soll als bei "bloßen" Meilensteinen .
Sind Projekte also etwas, das Meilensteine ergänzt (oder eher Meilensteine, die Projekte jetzt ergänzen ?), Oder sollte ich Projekte lieber als Ersatz für Meilensteine betrachten ?
Wo genau machen die Projekte tatsächlich in dierepository[-milestone]-issue
Hierarchie?
Leider GitHubs Blogeintrag über die Einführung der Projekte keine Beziehung ( https://github.com/blog/2256-a-whole-new-github-universe-announcing-new-tools-forums-and- Funktionen ).
Ich habe irgendwie das Gefühl, dass es einen gibt, aber ich kann keinen Finger darauf legen.
Antworten:
Ich frage mich genau das Gleiche. Folgendes habe ich mir ausgedacht.
Lassen Sie uns zunächst die wichtigsten Ähnlichkeiten und Unterschiede untersuchen:
Projekte sind niemals abgeschlossen . Es gibt keine Fortschrittsanzeige oder Frist.Projekte haben keine Fortschrittsanzeige oder Frist, können aber jetzt geschlossen werden (wie von @Sheen hervorgehoben).Probleme können nach Meilenstein gefiltert werden, nicht jedoch nach Projekt.Wie von @cmonkey hervorgehoben, können Probleme jetzt sowohl nach Projekt als auch nach Meilenstein gefiltert werden.So wie ich das sehe, sind Projekte eine völlig separate Möglichkeit, Ihre Arbeit auf einer höheren Ebene zu visualisieren und zu organisieren (denken Sie an "Projektmanagement", mehrere Teams, mehrere Repositorys usw.), während Meilensteine eine Möglichkeit sind, Ihre Arbeit zu organisieren Fristen und Releases auf einer grundlegenderen Ebene (denken Sie an "Release-Management", "Versionen" usw.). Vor diesem Hintergrund ist es sinnvoll, dass ein Problem nur zu einem Meilenstein gehört (es wird nur einmal veröffentlicht oder in die Produktion verschoben), aber Teil verschiedener Projekte sein kann.
Ich bin mir sicher, dass es andere Möglichkeiten gibt, es zu betrachten, und ich bin daran interessiert, andere Meinungen zu hören.
Bearbeiten Dezember 2017
Vor einiger Zeit, nachdem ich über ein Jahr mit Meilensteinen und Projekten gearbeitet hatte, wurde mir klar, dass es einen weiteren wichtigen Aspekt gibt, den ich völlig übersehen hatte.
quelle
Meine Meinung:
Ein Projekt ist am besten geeignet, um einen Einblick in einen Prozess zu erhalten, der von den Personen in der Gruppe verwendet wird. Ein besserer Name dafür wäre "Workflow" oder "Prozess". Das Erstellen eines neuen Projekts ist mit mehr Aufwand verbunden als das Erstellen eines neuen Meilensteins. Sie möchten also wirklich nur dann ein neues Projekt erstellen, wenn es in Ihrem Team einen neuen Prozess gibt : Fahrspuren müssen ausgewählt, konfiguriert und bestellt werden. Sie können auch in jedem Projekt sehr unterschiedlich sein. Ich denke an die ursprüngliche Verwendung von Kanban durch Toyota zurück: das Management der Menschen und ihrer Arbeitsbelastung.
Zwei großartige Projektbeispiele: Softwareentwicklung und Bloggen. Die Konfigurationen für jede würden die Personenprozesse der verschiedenen Gruppen unterstützen. wie sie zusammenarbeiten und Dinge abzeichnen.
Im Gegensatz dazu funktionieren Meilensteine alle gleich. Es handelt sich um eine geordnete Liste von Aufgaben, die alle geschlossen sein müssen, damit das Arbeitsprodukt als vollständig betrachtet werden kann. Optional kann ein Fälligkeitsdatum festgelegt werden, das nur Erinnerungen enthält, aber die Milestone-Funktion nicht ändert.
quelle
Eine schöne Sache an Projekten ist, dass sie mehr Freiform als Meilensteine sind. Sie können einfach Notizen in sie einfügen und sie mit Themen verknüpfen und sie so organisieren, wie es Ihnen passt. Sie eignen sich hervorragend, um Ideen aufzuschreiben, Roadmaps zu erstellen und Ressourcen und Abhängigkeiten aufzulisten. In der Vergangenheit habe ich Probleme und das Wiki für die gleichen Dinge verwendet, aber ich fand beide zu formal und transaktional (dh höheren Overhead).
quelle
Meilensteine sind Etiketten, die Tickets markieren und gruppieren, die voraussichtlich zu einem bestimmten Zeitpunkt geliefert werden. Die
Milestones
Seite, auf die Sie zugreifen könnenIssues
Seite macht dies deutlich: Sie können den Prozentsatz der für einen bestimmten Meilenstein abgeschlossenen Tickets und das Fälligkeitsdatum anzeigen. Sie können Meilensteine auch nach Fälligkeitsdatum sortieren und Tickets innerhalb eines bestimmten Meilensteins priorisieren.Der Schwerpunkt liegt hier auf Lieferterminen und der Verfolgung des Fortschritts.
Projekte hingegen werden in GitHub als Kanban- Boards mit einigem Schnickschnack implementiert . Sie können eine Reihe von Spalten angeben (
und Swimlanes- wie @Doug unten sagte, werden Swimlanes noch nicht unterstützt), um einfache Workflows zu erstellen. Sie können dann Tickets aus einem oder mehreren Repositorys hinzufügen, sie priorisieren und sie dann während der Bearbeitung von einer Spalte in eine andere verschieben. Sie können beispielsweise die Spalten "Backlog", "In Bearbeitung", "In Bearbeitung", "In Test" und "Fertig" haben und Tickets von links nach rechts oder von rechts nach links verschieben, wenn beispielsweise ein Defekt vorliegt Das Ticket wird von "In Testing" zurück zu "Backlog" zurückgeschickt.Der Schwerpunkt liegt hier auf der Organisation und Verwaltung der Arbeit.
Dann liegt es an Ihnen, wie Sie diese Arbeit organisieren und partitionieren. Sie können ein Projekt pro Meilenstein erstellen oder mehrere Meilensteine in einem einzelnen Projekt haben oder Meilensteine in kürzere Sprints aufteilen . Sie können auch mehrere Projekte durchführen, die verschiedene Aspekte der Arbeit an dem Produkt abdecken, z. B. eines für Entwickler und eines für Tester.
quelle