मैं हैरान हूँ - और वास्तव में हैरान - जवाब की संख्या पर यहाँ कह रही है "जब तक आपके पास अपडेट न हो"। मैंने ऐसा किया है, और छोटी अवधि में यह आसान होने के बावजूद, यह लंबे समय में नरक की तरह जलता है। अधिक लगातार, छोटे अपडेट बहुत अधिक होते हैं, कभी-कभी बड़े लोगों की तुलना में प्रबंधन करना आसान होता है, और आपको नई सुविधाओं, बग फिक्स, और जल्द ही लाभ मिलता है।
मैं इस विचार को नहीं खरीदता कि लाइब्रेरी परिवर्तन कोड परिवर्तनों की तुलना में परीक्षण करना अधिक कठिन है। यह सिर्फ एक ही है - आप कोडबेस में बदलाव कर रहे हैं, और आपको इसे जारी करने से पहले इसे सत्यापित करने की आवश्यकता है, और इससे पहले कि आप इसे जारी करें। लेकिन आपके पास पहले से ही यह करने की प्रक्रिया होनी चाहिए, क्योंकि आप कोड परिवर्तन कर रहे हैं!
यदि आप पुनरावृत्तियों में काम कर रहे हैं, दो से चार सप्ताह की लंबाई के लिए, तो मैं सुझाव दूंगा कि लाइब्रेरियों को एक बार पुनरावृत्ति कार्य करने के लिए, शुरू होने के बाद जितनी जल्दी हो सके, जब चीजें एक पुनरावृत्ति से पहले की तुलना में थोड़ी अधिक आराम कर रही हों समय सीमा, और परियोजना में बदलाव को अवशोषित करने की अधिक क्षमता है। किसी को बैठने के लिए (या एक जोड़ी यदि आप जोड़ी प्रोग्रामिंग करते हैं) देखें, तो देखें कि कौन से पुस्तकालय अपडेट किए गए हैं, और एक-एक को लाने और पुनर्निर्माण और परीक्षण चलाने का प्रयास करें। प्रत्येक पुनरावृत्ति, शायद इसके लिए एक दिन में आधा बजट। यदि चीजें काम करती हैं, तो परिवर्तनों की जांच करें (जैसे कि आप पुस्तकालयों को स्रोत नियंत्रण में रखते हैं, जैसा कि हम करते हैं, मुझे यकीन नहीं है कि आप परिवर्तन को नियंत्रित तरीके से कैसे प्रचारित करेंगे यदि नहीं)। यह स्पष्ट रूप से बहुत आसान होगा यदि आपके पास परीक्षण पूरी तरह से मैन्युअल होने की तुलना में स्वचालित परीक्षण हो।
अब, सवाल यह है कि यदि आप अपडेट को तोड़ते हैं तो क्या करते हैं - क्या आप इसे ठीक करने में समय व्यतीत करते हैं, या इसे छोड़ देते हैं? मैं उत्तरार्द्ध की ओर झुकाव का सुझाव दूंगा; यदि यह एक घंटे में तय किया जा सकता है, तो इसे करें, लेकिन अगर कोई अपडेट एकीकृत करने के लिए महत्वपूर्ण काम करने जा रहा है, तो इसे अपने स्वयं के विकास कार्य के रूप में बढ़ाएं, अनुमान लगाया जा सकता है, और किसी भी अन्य की तरह अनुसूचित। संभावना यह है कि जब तक यह कुछ बहुत ही महत्वपूर्ण सुधार या सुधार नहीं लाता है, तब तक प्राथमिकता कम होगी, और आप इसे कभी भी प्राप्त नहीं करेंगे। लेकिन आप कभी नहीं जानते हैं, जब तक अगले पुनरावृत्ति अद्यतन दिन रोल के दौर में, समस्या खुद तय हो सकती है; यहां तक कि अगर नहीं, तो कम से कम अब आप जानते हैं कि अपडेट पथ पर एक अवरोध है, और यह आपको आश्चर्यचकित नहीं करेगा।
यदि आप उस लंबाई की पुनरावृत्तियों को नहीं कर रहे हैं, तो मैं अपडेट के लिए कुछ प्रकार के स्टैंडअलोन शेड्यूल सेट करूंगा - मासिक से अधिक नहीं। क्या कोई अन्य प्रोजेक्ट रिदम है जिसे आप इसे टाई कर सकते हैं, जैसे मासिक स्थिति की समीक्षा, या आर्किटेक्चर बोर्ड की बैठक? Payday? पिज्जा की रात? पूर्णचंद्र? जो भी हो, आपको एक पारंपरिक रिलीज चक्र की तुलना में बहुत कम कुछ खोजने की जरूरत है, क्योंकि हर 6-18 महीनों में एक बार में सब कुछ अपडेट करने की कोशिश दर्दनाक और मनोबल गिराने वाली है।
कहने की जरूरत नहीं है, अगर आप रिलीज से पहले स्थिरीकरण शाखाएं करते हैं, तो आप इस नीति को उन पर लागू नहीं करेंगे। वहां, आप केवल महत्वपूर्ण सुधार प्राप्त करने के लिए पुस्तकालयों को अपडेट करेंगे।