Apa perbedaan / hubungan antara Proyek GitHub dan Tonggak Sejarah?

164

Pembaruan terbaru untuk GitHub menambahkan sesuatu yang disebut Proyek ke dalam alur kerja GitHub, dan karena saya tidak memiliki pengalaman khusus dengan alat pelacak proyek seperti Jira atau Trello (hei, setidaknya saya perhatikan kesamaannya) , bisakah orang, tolong, uraikan pada (kunci) perbedaan antara Tonggak Sejarah GitHub dan Proyek - proyek baru ?

Jika saya mengerti dengan benar, Tonggak sejarah adalah cara mengatur masalah ke dalam "sub proyek" yang lebih kecil - lebih kecil dari keseluruhan "proyek" (yang, dalam pandangan dunia saya, diwakili oleh repositori ). Ketika semua masalah dilakukan / ditutup, tonggak sejarah dapat dianggap sebagai lengkap .

Proyek - proyek yang baru diperkenalkan juga, seperti yang saya lihat, adalah cara mengatur masalah menjadi "sub-proyek" yang lebih kecil daripada repositori (meskipun disebut Proyek ). Saya mengerti alur kerja seharusnya sedikit berbeda dan lebih berbutir daripada dengan tonggak "belaka" .

Jadi, adalah Proyek sesuatu yang suplemen Milestones (atau lebih tepatnya Milestones suplemen Proyek sekarang?) Atau saya harus lebih melihat Proyek sebagai pengganti dari Milestones ?

Di mana tepatnya Proyek sebenarnya jatuh ke dalam repository[-milestone]-issuehierarki?

Sayangnya, entri blog GitHub tentang pengenalan Proyek tidak menyebutkan hubungan ( https://github.com/blog/2256-a-whole-new-github-universe-announcing-new-tools-forums-and-) fitur ).

Entah bagaimana aku merasa ada satu, tapi aku tidak bisa meletakkan jari di atasnya.

Smuuf
sumber
Saya memberikan suara untuk menutup pertanyaan ini sebagai di luar topik karena tidak ada hubungannya dengan pemrograman.
bunyi bip ganda
20
Karena pusat bantuan dengan jelas mengatakan: "[...] jika pertanyaan Anda umumnya mencakup [...] alat perangkat lunak yang biasa digunakan oleh para pemrogram; dan merupakan masalah praktis yang dapat dijawab yang unik untuk pengembangan perangkat lunak ... maka Anda di tempat yang tepat untuk menanyakan pertanyaan Anda! " , Saya tidak melihat alasan untuk itu.
Smuuf

Jawaban:

155

Saya bertanya-tanya hal yang persis sama. Inilah yang saya pikirkan.

Pertama, mari kita tinjau persamaan dan perbedaan utama:

  • Suatu masalah dapat menjadi milik beberapa Proyek, tetapi hanya satu Tonggak Sejarah.
  • Proyek tidak pernah selesai . Tidak ada bilah kemajuan, atau tenggat waktu. Proyek tidak memiliki bilah kemajuan atau tenggat waktu, tetapi sekarang dapat ditutup (seperti yang ditunjukkan oleh @Sheen)
  • Tonggak sejarah di sisi lain memiliki semua itu, tetapi tidak memiliki bentuk organisasi apa pun. Masalah bisa jadi dalam tonggak sejarah, atau tidak. (Mereka dapat dipesan seperti yang ditunjukkan oleh @Nick McCurdy)
  • Masalah dapat disaring oleh Milestone, tetapi tidak oleh Proyek. Seperti yang ditunjukkan oleh @cmonkey, masalah sekarang dapat disaring oleh Project dan juga Milestone.
  • Proyek dapat berisi Notes (yang dapat dikonversi sebagai masalah) sehingga tidak mencemari pelacak masalah dengan ide-ide yang tidak jelas
  • Sebuah Proyek dapat menjangkau lebih dari beberapa Tonggak Sejarah, dan Tonggak Sejarah dapat berisi bagian dari berbagai Proyek.
  • Suatu Organisasi dapat memiliki Proyek juga. Proyek-proyek ini dapat mencakup tiket dari repositori mana pun di organisasi, yang membuatnya cukup berguna.

Jadi menurut saya, Proyek adalah cara yang sepenuhnya terpisah untuk memvisualisasikan dan mengatur pekerjaan Anda di tingkat yang lebih tinggi (pikirkan "manajemen proyek", beberapa tim, beberapa repositori, dll.), Sedangkan Tonggak Sejarah adalah cara untuk mengatur Anda tenggat waktu dan rilis pada tingkat yang lebih mendasar (pikirkan "manajemen rilis", "versi", dll.). Dengan pemikiran ini, masuk akal bahwa masalah hanya milik satu Milestone (itu hanya dirilis atau didorong untuk produksi sekali) tetapi dapat menjadi bagian dari Proyek yang berbeda.

Saya yakin mereka adalah cara lain untuk melihatnya, dan saya tertarik untuk mendengar pendapat lain.

Edit Desember 2017

Beberapa waktu yang lalu, setelah bekerja dengan Tonggak Sejarah dan Proyek selama lebih dari setahun, saya menyadari ada aspek penting lain yang telah saya abaikan.

  • Tonggak sejarah adalah alat untuk metodologi Scrum . Tonggak sejarah baik untuk pengulangan timeboxed dan bekerja dalam sprint dengan banyak masalah.
  • Proyek adalah alat untuk metodologi Kanban . Proyek baik untuk pengiriman terus menerus dan aliran pekerjaan yang stabil.
rlanvin
sumber
3
Terima kasih untuk rangkumannya, saya sendiri sudah bertanya-tanya. Pikir saya akan menjauh dari semua Proyek karena ini tidak terlalu berlaku untuk ... proyek saya. Proyek Github tampaknya (bagi saya) "terbalik" karena saya biasanya memiliki beberapa repositori untuk 1 proyek, bukan sebaliknya.
KEK
1
@KEK, di GitHub Enterprise, saya menggunakan organisasi dengan repositori eponymous yang tidak memiliki kode, tetapi digunakan untuk menjaga semua proyek dan masalah mereka terpusat. Permintaan Tarik terhadap repositori yang menyimpan kode memiliki referensi singkat untuk masalah repositori pusat.
yegeniy
Perasaan saya adalah bahwa tonggak sejarah sebagian besar untuk minggu / bulan berikutnya di mana semua masalah lebih atau kurang diketahui, dan proyek-proyek selama berbulan-bulan hingga satu tahun, di mana belum semua masalah diketahui. Integrasi yang lebih erat antara keduanya mengurangi tumpang tindih mungkin sebenarnya bermanfaat.
Trilarion
1
Proyek sekarang memiliki bilah kemajuan jika menggunakan preset otomasi kolom.
emlai
Ini fantastis. Namun, masih belum jelas bagi saya apakah seseorang harus menggunakan Tonggak dan Proyek bersama-sama atau hanya menggunakan salah satu dari keduanya. Bagaimana menurut anda?
chrisdembia
41

Pendapat saya:

  • Sebuah Project adalah tentang proses dan orang .
  • Sebuah Milestone adalah tentang produk .

Proyek adalah yang terbaik untuk mendapatkan wawasan tentang a proses yang digunakan oleh orang - orang dalam kelompok. Nama yang lebih baik untuk itu adalah "alur kerja" atau "proses". Ada lebih banyak overhead yang terlibat dalam menciptakan proyek baru vs. menciptakan Milestone baru. Jadi, Anda benar-benar hanya ingin membuat Proyek baru ketika ada proses baru di tim Anda: Jalur harus dipilih, dikonfigurasi, dan dipesan. Mereka juga bisa sangat berbeda di setiap Proyek. Saya ingat kembali ke penggunaan asli Kanban oleh Toyota: mengelola orang dan beban kerja mereka.

Sebuah Proyek menjawab pertanyaan, "Apa yang sedang kita kerjakan saat ini?"

Dua contoh besar Proyek: pengembangan perangkat lunak dan blogging. Konfigurasi untuk masing-masing akan mendukung proses orang-orang dari kelompok yang berbeda; bagaimana mereka bekerja bersama dan menandatangani sesuatu.

Sebaliknya, tonggak sejarah semua bekerja sama. Itu adalah daftar tugas yang harus ditutup agar produk pekerjaan dianggap lengkap. Secara opsional, tanggal jatuh tempo dapat diatur, yang hanya menyediakan pengingat, tetapi tidak mengubah fungsi Milestone.

Tonggak sejarah menjawab pertanyaan, "Apa yang tersisa untuk menyelesaikan produk ini?"

Dogweather
sumber
14

Satu hal yang menyenangkan tentang proyek adalah mereka lebih bebas daripada tonggak. Anda bisa membuang catatan di dalamnya dan menautkan ke masalah, dan mengaturnya sesuai keinginan Anda. Mereka bagus untuk mencatat ide, membuat peta jalan, dan daftar sumber daya dan dependensi. Di masa lalu saya telah menggunakan masalah dan wiki untuk hal yang sama, tetapi saya menemukan keduanya terlalu formal dan transaksional (yaitu overhead yang lebih tinggi).

z0r
sumber
10

Tonggak sejarah adalah jenis label yang menandai dan tiket grup yang diharapkan dikirimkan pada suatu saat. The Milestoneshalaman yang dapat Anda akses dari Issueshalaman membuat jelas - Anda dapat melihat persentase tiket diselesaikan untuk tonggak tertentu dan tanggal jatuh tempo. Anda juga dapat mengurutkan tonggak berdasarkan tanggal jatuh tempo dan memprioritaskan tiket dalam tonggak tertentu.

Penekanannya di sini adalah pada tanggal pengiriman dan melacak kemajuan.

Proyek di sisi lain dilaksanakan di GitHub sebagai papan Kanban dengan beberapa lonceng dan peluit. Anda dapat menentukan sejumlah kolom ( dan swimlanes - seperti @Doug katakan di bawah swimlanes belum didukung) untuk membuat alur kerja sederhana. Anda kemudian dapat menambahkan tiket dari satu atau banyak repositori, memprioritaskannya, dan kemudian memajukannya dari satu kolom ke kolom lainnya saat sedang dikerjakan. Anda dapat, misalnya, memiliki kolom 'Tunggakan', 'Sedang Berlangsung', 'Sedang Ditinjau', 'Dalam Pengujian', dan 'Selesai', dan pindahkan tiket dari kiri ke kanan, atau dari kanan ke kiri jika, katakanlah, cacat tiket mendapat bouncing dari 'In Testing' kembali ke 'Backlog'.

Penekanannya di sini adalah pada pengorganisasian dan pengelolaan pekerjaan.

Lalu bagaimana Anda mengatur dan mempartisi yang berfungsi terserah Anda. Anda bisa membuat proyek per tonggak atau memiliki beberapa tonggak dalam satu proyek, atau membagi tonggak menjadi sprint yang lebih pendek . Anda juga dapat memiliki beberapa proyek yang mencakup berbagai aspek pengerjaan produk, misalnya, satu untuk pengembang dan satu untuk penguji.

Johnny Baloney
sumber
swimlanes bukan kolom di Kanban. Mereka adalah baris. Github saat ini tidak mendukung swimlanes sebagai fitur kelas satu.
Doug
Terima kasih atas koreksi @Doug. Bisakah Anda menjelaskan apa artinya fitur kelas satu dalam konteks ini? Apakah tersedia dalam versi beta atau semacamnya?
Johnny Baloney