เราเป็นองค์กรที่ประกอบด้วยนักพัฒนาประมาณ 200 คนที่ทำงานอย่างต่อเนื่องในผลิตภัณฑ์เดียว (ใช้ Git revision control) ซึ่งมีการวางแผนที่จะวางจำหน่ายในวันที่กำหนด
เนื่องจากนักพัฒนาจำนวนมากเรากำลังพยายามสร้างทีม "ข้ามหน้าที่" ที่มีนักพัฒนาประมาณ 10 คนในแต่ละทีมส่งผลให้มีทีมพัฒนาประมาณ 20 ทีมในองค์กร
เนื่องจากเราต้องการรักษา "มาตรฐานสูง" อย่างต่อเนื่อง (หมายถึงเมื่อนักพัฒนาทำการดึงผลิตภัณฑ์อย่างน้อยควรจะสามารถคอมไพล์ได้ ฯลฯ ) ของผลิตภัณฑ์ในที่เก็บหลักเราจึงต้องการใช้ประตูคุณภาพบางประเภท
ฉันไม่แน่ใจว่าจะตอบคำถามได้อย่างไร แต่ฉันสงสัยว่าฉันจะได้รับคำแนะนำเกี่ยวกับวิธีการพัฒนาสำหรับกลุ่มนักพัฒนาขนาดใหญ่เช่นนั้นที่ทำงานกับผลิตภัณฑ์เดียวหรือไม่
ในความเห็นของเราปลายด้านหนึ่งของสเปกตรัมคือการอนุญาตให้นักพัฒนาแต่ละคนส่งโดยตรงไปยังแหล่งเก็บข้อมูลหลักอย่างไรก็ตามเรากลัวว่าเนื่องจากผู้พัฒนาจำนวนมาก / มุ่งมั่นที่ "พื้นที่เก็บข้อมูลหลัก" อาจอยู่ในช่วงที่ขาดเนื่องจาก ถึงเราไม่สามารถมี "ประตูคุณภาพ" สำหรับการกระทำแต่ละอย่างได้
ปลายอีกด้านของสเปกตรัมอาจเป็นเช่นนั้น (เราคิดว่า Linus Torvalds / Linux ทำ) โครงสร้างต้นไม้หรือปิรามิดซึ่ง "คลังเก็บหลัก" มีแหล่งดึงสามแหล่งสามแห่งนี้มีแหล่งดึงที่เชื่อถือได้ ฯลฯ อย่างไรก็ตามเรารู้สึกว่าด้วยโครงสร้างเช่นการเปลี่ยนแปลงนั้นมีสายโซ่ยาวที่จะปีนขึ้นไปเพื่อเข้ามาใน "พื้นที่เก็บข้อมูลหลัก" นอกจากนี้หากเกิดข้อขัดแย้งในการผสานปัญหาจะเกิดกับผู้พัฒนารายอื่นมากกว่า "ผู้พัฒนาดั้งเดิม"
จากข้อมูลพื้นฐานและความคิดเห็นทั้งหมดที่ระบุไว้เราจะเรียนรู้และอ่านวิธีการพัฒนาที่แนะนำสำหรับนักพัฒนาจำนวนมากได้อย่างไร องค์กรขนาดใหญ่ (Microsoft, Facebook, Ubuntu และอื่น ๆ ) มีโครงสร้างการพัฒนาอย่างไร