อะไรคือความแตกต่าง / ความสัมพันธ์ระหว่างโครงการ GitHub และเหตุการณ์สำคัญ?


163

การปรับปรุงล่าสุดเพื่อ GitHub เพิ่มสิ่งที่เรียกว่าโครงการลงในเวิร์กโฟลว์ GitHub และเพราะผมไม่ได้มีประสบการณ์ใด ๆ กับเครื่องมือการติดตามโครงการเช่น Jira หรือ Trello (เดี๋ยวก่อนอย่างน้อยผมสังเกตเห็นความคล้ายคลึงกัน)สามารถทุกคนโปรดอย่างละเอียด บนความแตกต่าง (กุญแจ)ระหว่าง GitHub ของความคืบหน้าใหม่และโครงการ ?

ถ้าผมเข้าใจอย่างถูกต้อง, ความคืบหน้าเป็นวิธีการจัดการปัญหาที่เป็นขนาดเล็ก "โครงการย่อยที่" - ขนาดเล็กกว่า "โครงการ" ทั้ง (ซึ่งในมุมมองของโลกของฉันเป็นตัวแทนจากพื้นที่เก็บข้อมูล ) เมื่อปัญหาทั้งหมดเสร็จสิ้น / ปิดไปแล้วเหตุการณ์สำคัญถือได้ว่าเสร็จสมบูรณ์แล้ว

เพิ่งแนะนำโครงการนอกจากนี้ยังมีที่ผมเห็นมันทางของการจัดระเบียบปัญหาเป็นมีขนาดเล็กกว่าที่เก็บข้อมูล "โครงการย่อย" (แม้จะเรียกว่าโครงการ ) ผมเข้าใจขั้นตอนการทำงานที่ควรจะแตกต่างกันเล็กน้อยและอื่น ๆ เม็ดเล็กกว่าด้วย "เพียง" ความคืบหน้า

ดังนั้นมีโครงการสิ่งที่เสริมความคืบหน้า (หรือมากกว่าความคืบหน้าเสริมโครงการตอนนี้?) หรือควรจะผมค่อนข้างดูโครงการเป็นทดแทนของความคืบหน้า ?

โครงการจะอยู่ในrepository[-milestone]-issueลำดับชั้นอย่างแท้จริงที่ไหน?

น่าเศร้าที่รายการบล็อก GitHub เกี่ยวกับการเปิดตัวของโครงการไม่ได้พูดถึงความสัมพันธ์ใด ๆ ( https://github.com/blog/2256-a-whole-new-github-universe-announcing-new-tools-forums-and- คุณสมบัติ )

ฉันรู้สึกว่ามีอย่างใดอย่างหนึ่ง แต่ฉันไม่สามารถวางนิ้วบนมัน


ฉันลงคะแนนเพื่อปิดคำถามนี้เป็นนอกหัวข้อเนื่องจากไม่มีส่วนเกี่ยวข้องกับการเขียนโปรแกรม
ดับเบิลบี๊บ

20
เนื่องจากศูนย์ช่วยเหลือแจ้งอย่างชัดเจนว่า: "[... ] หากคำถามของคุณโดยทั่วไปครอบคลุมถึงเครื่องมือซอฟต์แวร์ [... ] ที่ใช้กันทั่วไปโดยโปรแกรมเมอร์และเป็นปัญหาเชิงปฏิบัติที่ตอบได้ซึ่งเป็นเอกลักษณ์ของการพัฒนาซอฟต์แวร์ ... จากนั้นคุณก็จะ ในสถานที่ที่เหมาะสมที่จะถามคำถามของคุณ! " ฉันไม่เห็นเหตุผลใด ๆ
Smuuf

คำตอบ:


155

ฉันสงสัยในสิ่งเดียวกันแน่นอน นี่คือสิ่งที่ฉันมาด้วย

ก่อนอื่นให้เราตรวจสอบความเหมือนและความแตกต่างหลัก ๆ :

  • ปัญหาอาจเป็นของหลายโครงการ แต่มีเพียงหนึ่งเหตุการณ์สำคัญ
  • โครงการจะไม่สมบูรณ์ ไม่มีแถบความคืบหน้าหรือกำหนดเวลา โครงการไม่มีแถบความคืบหน้าหรือกำหนดเวลาสิ้นสุด แต่สามารถปิดได้ (ตามที่ชี้นำโดย @Sheen)
  • เหตุการณ์สำคัญในอีกด้านหนึ่งมีทุกสิ่ง แต่ขาดรูปแบบขององค์กรใด ๆ มีปัญหาเกิดขึ้นได้หรือไม่ (สามารถสั่งซื้อได้ตามที่ระบุไว้โดย @Nick McCurdy)
  • ปัญหาสามารถกรองได้ด้วย Milestone แต่ไม่ใช่โดยโครงการ ตามที่ระบุโดย @cmonkey ตอนนี้ปัญหาสามารถถูกกรองโดย Project เช่นเดียวกับ Milestone
  • โปรเจ็กต์สามารถมีหมายเหตุ (ซึ่งสามารถแปลงเป็นปัญหาได้) ดังนั้นจึงไม่ทำให้เกิดปัญหากับตัวติดตามปัญหาด้วยแนวคิดที่คลุมเครือ
  • โครงการสามารถครอบคลุมหลายเหตุการณ์สำคัญและเหตุการณ์สำคัญสามารถมีบางส่วนของโครงการที่แตกต่างกัน
  • องค์กรสามารถมีโครงการได้เช่นกัน โครงการเหล่านี้สามารถรวมตั๋วจากที่เก็บใด ๆ ในองค์กรซึ่งทำให้มีประโยชน์มาก

ดังนั้นวิธีการที่ผมเห็นมันก็คือว่าโครงการนี้เป็นวิธีที่แยกกันอย่างสมบูรณ์ที่จะเห็นภาพและจัดระเบียบงานของคุณในระดับที่สูงขึ้น (คิดว่า "การบริหารจัดการโครงการ" ทีมหลายพื้นที่เก็บข้อมูลหลาย ฯลฯ ) ในขณะที่ความคืบหน้าเป็นวิธีการในการจัดระเบียบของคุณ กำหนดเวลาและเผยแพร่ในระดับพื้นฐานเพิ่มเติม (คิดว่า "การจัดการการปล่อย", "รุ่น" ฯลฯ ) เมื่อคำนึงถึงสิ่งนี้มันก็สมเหตุสมผลแล้วที่ปัญหาจะเกิดขึ้นกับหนึ่งเหตุการณ์สำคัญเท่านั้น (เป็นเพียงการปล่อยหรือผลักดันการผลิตเพียงครั้งเดียว) แต่สามารถเป็นส่วนหนึ่งของโครงการที่แตกต่างกัน

ฉันแน่ใจว่าพวกเขาเป็นวิธีอื่น ๆ ในการพิจารณาและฉันสนใจที่จะรับฟังความคิดเห็นอื่น ๆ

แก้ไขธันวาคม 2017

เมื่อหลายปีก่อนหลังจากทำงานกับเหตุการณ์สำคัญและโครงการมานานกว่าหนึ่งปีฉันก็ตระหนักว่ามีแง่มุมสำคัญอีกประการหนึ่งที่ฉันมองข้ามไป

  • เหตุการณ์สำคัญเป็นเครื่องมือสำหรับวิธีการแย่งชิงกัน เหตุการณ์สำคัญเป็นสิ่งที่ดีสำหรับการทำซ้ำตามกำหนดเวลาและทำงานในการวิ่งพร้อมกับกลุ่มของปัญหา
  • โครงการเป็นเครื่องมือสำหรับวิธีการKanban โครงการที่ดีสำหรับการจัดส่งอย่างต่อเนื่องและการไหลของงาน

3
ขอบคุณสำหรับการสรุปฉันสงสัยตัวเองนี้ คิดว่าฉันจะชัดเจนเกี่ยวกับโครงการทั้งหมดเพราะมันไม่เหมาะกับ ... โครงการของฉัน ดูเหมือนว่าโครงการ Github (สำหรับฉัน) จะ "กลับหัว" เพราะฉันมักจะมีที่เก็บหลายรายการต่อ 1 โครงการไม่ใช่วิธีอื่น ๆ
KEK

1
@KEK ใน GitHub Enterprise ฉันใช้องค์กรที่มีที่เก็บ eponymous ซึ่งไม่มีรหัส แต่ใช้เพื่อให้โครงการทั้งหมดและปัญหาของพวกเขารวมศูนย์ คำขอดึงกับที่เก็บรหัสที่มีการอ้างอิงสั้น ๆ กับปัญหาของที่เก็บส่วนกลาง
yegeniy

ความรู้สึกของฉันคือความสำเร็จครั้งสำคัญส่วนใหญ่ในสัปดาห์ / เดือนถัดไปซึ่งปัญหาทั้งหมดเป็นที่รู้จักมากขึ้นหรือน้อยลงและโครงการต่าง ๆ เป็นเวลาหลายเดือนถึงหนึ่งปีซึ่งยังไม่ทราบปัญหาทั้งหมด การรวมกันที่แน่นหนายิ่งขึ้นระหว่างทั้งสองการลดการทับซ้อนอาจคุ้มค่าจริง ๆ
Trilarion

1
ตอนนี้โปรเจ็กต์มีแถบความคืบหน้าหากใช้การตั้งค่าคอลัมน์อัตโนมัติ
emlai

มันยอดเยี่ยมมาก อย่างไรก็ตามมันยังไม่ชัดเจนสำหรับฉันหากเราควรใช้เหตุการณ์สำคัญและโครงการร่วมกันหรือควรใช้เพียงหนึ่งในสอง คุณคิดอย่างไร?
chrisdembia

41

ความคิดเห็นของฉัน:

  • โครงการเป็นเรื่องเกี่ยวกับกระบวนการและคน
  • Milestoneเป็นเรื่องเกี่ยวกับสินค้า

โครงการดีที่สุดสำหรับการทำความเข้าใจกระบวนการที่ผู้คนในกลุ่มใช้ ชื่อที่ดีกว่าคือ "เวิร์กโฟลว์" หรือ "กระบวนการ" มีค่าใช้จ่ายที่เกี่ยวข้องในการสร้างโครงการใหม่เทียบกับการสร้าง Milestone ใหม่ ดังนั้นคุณเพียงต้องการสร้างโครงการใหม่เมื่อมีกระบวนการใหม่ในทีมของคุณเท่านั้น: ต้องเลือกกำหนดค่าและสั่งซื้อเลน พวกเขายังสามารถแตกต่างกันมากในแต่ละโครงการ ฉันคิดย้อนกลับไปที่การใช้ Kanban ดั้งเดิมโดยโตโยต้า: การจัดการผู้คนและภาระงานของพวกเขา

โครงการตอบคำถามว่า "เรากำลังทำอะไรอยู่ในตอนนี้?"

ตัวอย่างโครงการที่ยอดเยี่ยมสองตัวอย่าง: การพัฒนาซอฟต์แวร์และการเขียนบล็อก การกำหนดค่าสำหรับแต่ละคนจะสนับสนุนกระบวนการของกลุ่มคนที่แตกต่างกัน พวกเขาทำงานร่วมกันและลงนามในสิ่งต่าง ๆ ได้อย่างไร

ตรงกันข้ามเหตุการณ์สำคัญทั้งหมดทำงานเหมือนกัน รายการเหล่านี้เป็นรายการงานที่ต้องสั่งซึ่งต้องปิดทั้งหมดเพื่อให้ผลิตภัณฑ์ทำงานเสร็จสมบูรณ์ ทางเลือกสามารถกำหนดวันที่ครบกำหนดซึ่งเป็นเพียงการแจ้งเตือน แต่ไม่สามารถเปลี่ยนการทำงานของเหตุการณ์สำคัญได้

เหตุการณ์สำคัญตอบคำถาม "มีอะไรเหลือให้ทำผลิตภัณฑ์นี้อีก?"


14

สิ่งหนึ่งที่ดีเกี่ยวกับโครงการคือพวกเขามีอิสระมากกว่าเหตุการณ์สำคัญ คุณสามารถโยนบันทึกในพวกเขาและเชื่อมโยงไปยังปัญหาและจัดระเบียบได้ตามที่คุณต้องการ พวกเขายอดเยี่ยมสำหรับการจดความคิดการทำแผนที่และรายการทรัพยากรและการอ้างอิง ในอดีตฉันเคยใช้ปัญหาและวิกิสำหรับสิ่งเดียวกัน แต่ฉันพบว่าทั้งสองเป็นทางการและธุรกรรมเกินไป (เช่นค่าใช้จ่ายสูงกว่า)


10

เหตุการณ์สำคัญเป็นประเภทของป้ายกำกับที่ทำเครื่องหมายและตั๋วกลุ่มที่คาดว่าจะส่งมอบในบางช่วงเวลา Milestonesหน้าซึ่งคุณสามารถเข้าถึงได้จากIssuesหน้าทำให้มันชัดเจน - คุณสามารถดูเปอร์เซ็นต์ของตั๋วเสร็จสมบูรณ์สำหรับการก้าวโดยเฉพาะและวันครบกำหนดที่ นอกจากนี้คุณยังสามารถเรียงลำดับเหตุการณ์สำคัญตามวันที่กำหนดและจัดลำดับความสำคัญของตั๋วภายในเหตุการณ์สำคัญ

ความเครียดที่นี่อยู่ในวันที่จัดส่งและติดตามความคืบหน้า

โครงการในมืออื่น ๆ จะถูกนำมาใช้ใน GitHub เป็นบอร์ดKanbanกับระฆังและนกหวีด คุณสามารถระบุจำนวนคอลัมน์ ( และswimlanes - ในขณะที่ @Doug ที่กล่าวถึงด้านล่างswimlanesยังไม่ได้รับการสนับสนุน) เพื่อสร้างเวิร์กโฟลว์แบบง่าย จากนั้นคุณสามารถเพิ่มตั๋วจากที่เก็บหนึ่งแห่งหรือหลาย ๆ แห่งจัดลำดับความสำคัญจากนั้นจึงดำเนินการตั๋วจากที่หนึ่งไปยังอีกที่หนึ่งขณะที่พวกเขากำลังทำงานอยู่ ตัวอย่างเช่นคุณสามารถมี 'Backlog', 'In Progress', 'Under Review', 'In Test' และ 'Done' คอลัมน์และย้ายตั๋วจากซ้ายไปขวาหรือจากขวาไปซ้ายถ้าพูดว่ามีข้อบกพร่อง ตั๋วถูกเด้งจาก 'ในการทดสอบ' กลับไปที่ 'Backlog'

ความเครียดที่นี่คือการจัดระเบียบและการจัดการงาน

วิธีที่คุณจัดระเบียบและแบ่งพาร์ติชันที่ทำงานขึ้นอยู่กับคุณ คุณสามารถสร้างโครงการต่อก้าวหรือมีความคืบหน้าในหลายโครงการเดียวหรือเหตุการณ์สำคัญที่แยกออกเป็นสั้นลมพัด คุณอาจมีหลายโครงการที่ครอบคลุมแง่มุมต่าง ๆ ของการทำงานกับผลิตภัณฑ์เช่นโครงการหนึ่งสำหรับนักพัฒนาและอีกโครงการสำหรับผู้ทดสอบ


swimlanes ไม่ใช่คอลัมน์ใน Kanban พวกเขาเป็นแถว Github ไม่สนับสนุน swimlanes ในฐานะคุณสมบัติชั้นหนึ่ง
Doug

ขอบคุณสำหรับการแก้ไข @Doug คุณสามารถอธิบายได้ว่าคุณลักษณะชั้นหนึ่งหมายถึงอะไรในบริบทนี้ มีให้ในรุ่นเบต้าหรืออะไรแบบนั้น
Johnny Baloney
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.