हमारे पास एक बहुत बड़ी परियोजना है जिसमें कई एप्लिकेशन शामिल हैं जो विभिन्न ग्राहकों के लिए आधार के रूप में कार्य करते हैं।
प्रत्येक ग्राहक के उत्पाद का अपना निजीकरण होता है, अलग-अलग मील के पत्थर, अलग-अलग आवश्यकताएं और इतने पर, और इस प्रकार प्रत्येक परियोजना अपनी आवश्यकताओं के आधार पर स्वतंत्र रूप से विकसित होगी।
परियोजना का मूल, हर परियोजना में समान (लेकिन समान नहीं है) और संगठन ऐसा बनाया गया है कि ऐसी टीमें हों जो प्रत्येक ग्राहक को स्वतंत्र रूप से संभालती हैं (लेकिन आवश्यकतानुसार उनके बीच संचार के साथ)। अब तक, मैं ऐसी किसी भी योजना को खोजने में असमर्थ रहा हूँ जो हमारी आवश्यकताओं के अनुकूल हो, या तो इंटरनेट पर खोज करके या कुछ शानदार विचार के साथ आ रही है :)
अब तक, हम उत्पाद को एक सूट के रूप में सभी जरूरतों के लिए काम कर रहे हैं, आवश्यक परिवर्तनों के लिए विशिष्ट शाखाओं के साथ लेकिन, हालांकि उत्पाद की एक अच्छी वास्तुकला है, यह धीरे-धीरे एक बड़ी समस्या बन रही है। यहाँ मुख्य समस्याएं हैं जिनका हम सामना कर रहे हैं:
- प्रत्येक ग्राहक के लिए अलग-अलग मील के पत्थर: जिसका अर्थ है कि प्रत्येक टीम को स्थिरता या उनके उत्पाद को प्रभावित करने वाले बाकी कमिट्स के बिना अलग-अलग समय के रूप में संस्करण तैयार करने होंगे।
- विभिन्न आवश्यकताएं, जो कुछ मामलों में सिस्टम की कोर को प्रभावित कर सकती हैं या नहीं।
- बड़ी टीमें (20+ टीम के सदस्य)
- सिस्टम में बग्स को हैंडल करना: यदि कोई टीम अपने प्रोजेक्ट में बग ढूंढती है तो क्या होगा जो अन्य क्लाइंट्स को प्रभावित कर सकता है?
नोट: हम एक ऐसी परियोजना के बारे में बात कर रहे हैं जिसमें 10 + M LOC है।
नोट: हम टीम फाउंडेशन सिस्टम, विजुअल स्टूडियो 2008 और C # (मुख्य रूप से) का उपयोग कर रहे हैं।
किसी भी सुझाव, स्रोत या विचारों के बारे में कैसे स्थिति को संबोधित करने के लिए? क्या बाजार में कोई मॉडल है जो एक समान समस्या है?