Jaka jest różnica / związek między projektami GitHub a kamieniami milowymi?

163

Niedawna aktualizacja GitHub dodała coś o nazwie Projekty do przepływu pracy GitHub, a ponieważ nie mam żadnego szczególnego doświadczenia z narzędziami do śledzenia projektów, takimi jak Jira lub Trello (hej, przynajmniej zauważyłem podobieństwo) , czy ktoś mógłby, proszę, rozwinąć na temat (kluczowych) różnic między Kamieniami milowymi GitHub a nowymi projektami ?

Jeśli dobrze rozumiem, Kamienie Milowe to sposób na uporządkowanie spraw w mniejsze „podprojekty” - mniejsze niż cały „projekt” (który moim zdaniem reprezentuje repozytorium ). Kiedy wszystkie sprawy są gotowe / zamknięte, kamień milowy można uznać za zakończony .

Nowo wprowadzone projekty są również, jak to widzę, sposobem organizowania spraw w mniejsze niż repozytorium „podprojekty” (choć nazywane projektami ). Rozumiem, że przepływ pracy powinien być nieco inny i bardziej szczegółowy niż w przypadku „zwykłych” kamieni milowych .

Tak, są Projekty coś, suplementy Osiągnięcia (czy raczej Etapy suplement Projekty teraz?), Czy powinienem raczej zobaczyć Projekty jako zamiennik z Milestones ?

Gdzie dokładnie projekty faktycznie mieszczą się w repository[-milestone]-issuehierarchii?

Niestety, wpis na blogu GitHub dotyczący wprowadzenia projektów nie wspomina o żadnym związku ( https://github.com/blog/2256-a-whole-new-github-universe-announcing-new-tools-forums-and- funkcje ).

W jakiś sposób czuję, że jest, ale nie mogę tego określić.

Smuuf
źródło
Głosuję za zamknięciem tego pytania jako niezwiązanego z tematem, ponieważ nie ma ono nic wspólnego z programowaniem.
podwójny sygnał dźwiękowy
20
Ponieważ centrum pomocy jasno mówi: „[...] jeśli twoje pytanie ogólnie dotyczy [...] narzędzi oprogramowania powszechnie używanych przez programistów; i jest to praktyczny, możliwy do rozwiązania problem, który jest unikalny dla tworzenia oprogramowania ... we właściwym miejscu, aby zadać pytanie! ” , Nie widzę żadnego powodu.
Smuuf

Odpowiedzi:

155

Zastanawiam się dokładnie to samo. Oto co wymyśliłem.

Najpierw przyjrzyjmy się głównym podobieństwom i różnicom:

  • Problem może dotyczyć wielu projektów, ale tylko jednego kamienia milowego.
  • Projekty nigdy nie są ukończone . Nie ma paska postępu ani terminu. Projekty nie mają paska postępu ani terminu, ale można je teraz zamknąć (jak wskazał @Sheen)
  • Z drugiej strony kamienie milowe mają to wszystko, ale brakuje im jakiejkolwiek formy organizacji. Problem jest w fazie milowej lub go nie ma. (Można je zamówić, jak wskazał @Nick McCurdy)
  • Problemy można filtrować według Milestone, ale nie według projektu. Jak wskazał @cmonkey, problemy można teraz filtrować zarówno według projektów, jak i Milestone.
  • Projekty mogą zawierać notatki (które można przekonwertować jako problemy), więc nie zanieczyszcza modułu śledzenia problemów niejasnymi pomysłami
  • Projekt może obejmować wiele kamieni milowych, a kamień milowy może zawierać części różnych projektów.
  • Organizacja może również mieć projekty. Projekty te mogą obejmować zgłoszenia z dowolnego repozytorium w organizacji, co czyni je bardzo przydatnymi.

Widzę to w ten sposób, że projekty są całkowicie oddzielnym sposobem wizualizacji i organizowania pracy na wyższym poziomie (pomyśl o zarządzaniu projektami, wielu zespołach, wielu repozytoriach itp.), Podczas gdy Kamienie milowe to sposób na uporządkowanie terminy i wydania na bardziej podstawowym poziomie (pomyśl „zarządzanie wydaniami”, „wersje” itp.). Mając to na uwadze, sensowne jest, aby problem należał tylko do jednego Kamienia milowego (został wydany lub przeniesiony do produkcji tylko raz), ale może być częścią różnych projektów.

Jestem jednak pewien, że można spojrzeć na to w inny sposób i jestem zainteresowany innymi opiniami.

Edytuj grudzień 2017

Jakiś czas temu, po ponad roku pracy z Kamieniami milowymi i projektami, zdałem sobie sprawę, że jest jeszcze jeden ważny aspekt, który całkowicie przeoczyłem.

  • Kamienie milowe to narzędzie metodologii Scrum . Kamienie milowe są dobre dla iteracji ograniczonych czasowo i pracy w sprintach z partiami problemów.
  • Projekty to narzędzie metodologii Kanban . Projekty są dobre dla ciągłej dostawy i stałego przepływu pracy.
rlanvin
źródło
3
Dzięki za podsumowanie, sam się nad tym zastanawiałem. Myślę, że będę trzymać się z daleka od całej sprawy z Projektami, ponieważ nie ma to zbyt dużego zastosowania w moich ... projektach. Projekty Github wydają mi się być „do góry nogami”, ponieważ zazwyczaj mam kilka repozytoriów w jednym projekcie, a nie na odwrót.
KEK
1
@KEK, w GitHub Enterprise, używam organizacji z tytułowym repozytorium, które nie ma kodu, ale służy do scentralizowania wszystkich projektów i ich problemów. Żądania ściągnięcia dotyczące repozytoriów, które przechowują kod, zawierają krótkie odniesienie do problemu z centralnym repozytorium.
yegeniy
Mam wrażenie, że kamienie milowe dotyczą głównie następnych tygodni / miesięcy, w których wszystkie problemy są mniej lub bardziej znane, a projekty trwają od miesięcy do roku, w których nie wszystkie problemy są jeszcze znane. Bardziej rygorystyczna integracja między nimi, zmniejszająca nakładanie się, może być faktycznie opłacalna.
Trilarion
1
Projekty mają teraz paski postępu, jeśli używają ustawień domyślnych automatyzacji kolumn.
emlai
To jest fantastyczne. Jednak nadal nie jest dla mnie jasne, czy należy używać Kamieni milowych i projektów razem, czy też używać tylko jednego z nich. Co myślisz?
chrisdembia
41

Moja opinia:

  • Projekt jest o procesie i ludzi .
  • Milestone jest o produkcie .

Projekt jest najlepszy do uzyskania wglądu w proces używany przez osoby w grupie. Lepszą nazwą byłoby „przepływ pracy” lub „proces”. Tworzenie nowego projektu wiąże się z większym nakładem pracy niż tworzenie nowego Kamienia milowego. Tak więc naprawdę chcesz utworzyć nowy projekt tylko wtedy, gdy w Twoim zespole pojawi się nowy proces : pasy muszą zostać wybrane, skonfigurowane i zamówione. W każdym projekcie mogą być również bardzo różne. Wracam myślami do pierwotnego zastosowania Kanbana przez Toyotę: zarządzania ludźmi i ich obciążeniem pracą.

Projekt odpowiada na pytanie: „Nad czym obecnie pracujemy?”

Dwa świetne przykłady projektów: tworzenie oprogramowania i blogowanie. Konfiguracje dla każdej z nich wspierałyby procesy personalne różnych grup; jak współpracują i podpisują umowy.

Natomiast wszystkie kamienie milowe działają tak samo. To uporządkowana lista zadań, które muszą zostać zamknięte, aby produkt pracy został uznany za zakończony. Opcjonalnie można ustawić termin, który tylko zapewnia przypomnienia, ale nie zmienia działania Kamienia milowego.

Kamień milowy odpowiada na pytanie „Co pozostało do ukończenia tego produktu?”

Dogweather
źródło
14

Zaletą projektów jest to, że są bardziej swobodne niż kamienie milowe. Możesz po prostu wrzucać do nich notatki i łączyć się z problemami oraz organizować je w dowolny sposób. Świetnie nadają się do notowania pomysłów, tworzenia map drogowych oraz spisywania zasobów i zależności. W przeszłości używałem problemów i wiki do tych samych celów, ale okazało się, że oba są zbyt formalne i transakcyjne (tj. Wyższe narzuty).

z0r
źródło
10

Kamienie milowe to rodzaj etykiet oznaczających i biletów grupowych, które mają zostać dostarczone w pewnym momencie. MilestonesStrona których można uzyskać dostęp od Issuesstrony sprawia, że jest jasne - można zobaczyć procent biletów ukończonych dla danego etapu rozwoju i terminie. Możesz także sortować kamienie milowe według terminu i nadawać priorytet biletom w ramach określonego kamienia milowego.

Nacisk kładzie się tutaj na terminy dostaw i śledzenie postępów.

Z drugiej strony projekty są wdrażane w GitHub jako tablice Kanban z kilkoma dzwonkami i gwizdkami. Można określić liczbę kolumn ( i swimlanes - jak @Doug powiedział poniżej swimlanes nie są jeszcze obsługiwane) do tworzenia prostych przepływów pracy. Następnie możesz dodać zgłoszenia z jednego lub wielu repozytoriów, nadać im priorytety, a następnie przechodzić z jednej kolumny do drugiej w trakcie pracy nad nimi. Możesz na przykład mieć kolumny „Backlog”, „In Progress”, „Under Review”, „In Testing” i „Done” i przesuwać bilety od lewej do prawej lub od prawej do lewej, jeśli, powiedzmy, uszkodzony bilet zostaje przeniesiony z „W testowaniu” z powrotem do „Zaległości”.

Nacisk kładzie się tutaj na organizację i zarządzanie pracą.

Wtedy to, jak zorganizujesz i podzielisz tę pracę, zależy od Ciebie. Możesz utworzyć projekt dla każdego kamienia milowego lub mieć kilka kamieni milowych w jednym projekcie lub podzielić kamienie milowe na krótsze sprinty . Możesz także mieć kilka projektów obejmujących różne aspekty pracy nad produktem, na przykład jeden dla programistów i jeden dla testerów.

Johnny Baloney
źródło
swimlanes nie są kolumnami w Kanbanie. Są rzędami. Github nie obsługuje obecnie torów pływackich jako funkcji pierwszej klasy.
Doug
Dzięki za korektę @Doug. Czy mógłbyś wyjaśnić, co w tym kontekście oznacza cecha pierwszej klasy ? Czy jest dostępny w wersji beta czy coś w tym stylu?
Johnny Baloney