3
ข้อเสนอแนะรูปแบบการแยกสาขาสำหรับโครงการเดียวกันลูกค้าหลายราย
เรามีโครงการขนาดใหญ่มากซึ่งรวมถึงแอปพลิเคชั่นหลายตัวที่ทำหน้าที่เป็นฐานสำหรับลูกค้าที่แตกต่างกัน ลูกค้าทุกคนมีความเป็นตัวของตัวเองของผลิตภัณฑ์เหตุการณ์สำคัญที่แตกต่างกันข้อกำหนดที่แตกต่างและอื่น ๆ และดังนั้นแต่ละโครงการจะพัฒนาอย่างอิสระตามความต้องการของตนเอง แกนหลักของโครงการนั้นคล้ายกัน (แต่ไม่เท่ากัน) ในทุกโครงการและองค์กรถูกสร้างขึ้นเพื่อให้มีทีมที่จัดการลูกค้าแต่ละรายอย่างอิสระ (แต่มีการสื่อสารระหว่างกันตามความจำเป็น) จนถึงตอนนี้ฉันไม่สามารถค้นหารูปแบบที่เหมาะสมกับความต้องการของเราไม่ว่าจะโดยการค้นหาทางอินเทอร์เน็ตหรือคิดหาไอเดียที่ยอดเยี่ยม :) จนถึงตอนนี้เราได้ทำงานโดยทำให้ผลิตภัณฑ์เป็นแบบที่ทุกความต้องการโดยมีสาขาเฉพาะสำหรับการเปลี่ยนแปลงที่จำเป็น แต่แม้ว่าผลิตภัณฑ์จะมีสถาปัตยกรรมที่ดี แต่มันก็กลายเป็นปัญหาใหญ่อย่างช้า ๆ นี่คือปัญหาหลักที่เราเผชิญ: เหตุการณ์สำคัญที่แตกต่างกันสำหรับลูกค้าแต่ละคน: ซึ่งหมายความว่าแต่ละทีมจะต้องผลิตเวอร์ชันเป็นเวลาที่แตกต่างกันโดยไม่มีการกระทำที่เหลือส่งผลต่อความมั่นคงหรือผลิตภัณฑ์ ข้อกำหนดที่แตกต่างกันซึ่งอาจหรืออาจจะไม่ส่งผลกระทบต่อหลักของระบบในบางกรณี ทีมใหญ่ (20+ สมาชิกในทีม) การจัดการข้อบกพร่องในระบบ: คุณจะทำอย่างไรถ้าทีมพบข้อบกพร่องในโครงการของเขาที่อาจส่งผลกระทบต่อลูกค้ารายอื่น หมายเหตุ:เรากำลังพูดถึงโครงการที่มี 10 + M LOC หมายเหตุ:เรากำลังใช้ Team Foundation System, Visual Studio 2008 และ C # (ส่วนใหญ่) ข้อเสนอแนะแหล่งที่มาหรือแนวคิดเกี่ยวกับวิธีการแก้ไขสถานการณ์? มีรุ่นใดในตลาดที่มีปัญหาคล้ายกันหรือไม่?