मेरी कंपनी में, हम सफलतापूर्वक चुस्त प्रथाओं के साथ काम कर रहे हैं - लेकिन पुनरावृत्तियों का उपयोग किए बिना। मुख्य कारण यह है कि हम क्यूए में एक पुनरावृत्ति चक्र में फिट होने का एक साफ तरीका नहीं खोज सकते हैं।
क्यूए को यह समझ में आता है कि इस बिल्ड के ग्राहक को तैनात किए जाने से पहले एक निश्चित बिल्ड (रिलीज़ उम्मीदवार) के सत्यापन का एक अतिरिक्त बिट है । बात यह है कि एक भी दुर्भावनापूर्ण प्रतिबद्ध पूरे रिलीज को नुकसान पहुंचाता है। चूंकि आप कभी नहीं जानते कि यह कौन सा है, क्यूए को तब तक इंतजार करना पड़ता है जब तक कि रिलीज के लिए सभी सुविधाएँ / कमिट बिल्ड में न हों। (कोई प्रसिद्ध अंतिम शब्द "यह केवल एक छोटा परिवर्तन था" की अनुमति है।)
यदि क्यूए एक रिलीज के उम्मीदवार में कीड़े पाता है, तो डेवलपर्स इन कीड़े को संबंधित रिलीज शाखा में ठीक कर देते हैं (और इसे ट्रंक में विलय कर देते हैं)। जब सभी बग्स ठीक हो जाते हैं, तो QA को फिर से परीक्षण के लिए एक नया बिल्ड तैनात किया जाता है। केवल जब कोई कीड़े एक निश्चित रिलीज के उम्मीदवार में नहीं पाए जाते हैं, तो इसे ग्राहक को सत्यापन के लिए पेश किया जाता है।
यह आम तौर पर प्रति सप्ताह लगभग दो से तीन उम्मीदवारों को जारी करता है। फिक्स लिखने का समय आम तौर पर परीक्षण के प्रयासों से बहुत कम होता है। तो डेवलपर्स को व्यस्त रखने के लिए, वे N + 1 को रिलीज़ करने पर काम करते हैं जबकि QA N पर काम करता है।
पुनरावृत्तियों का उपयोग किए बिना, यह कोई समस्या नहीं है क्योंकि हम रिलीज एन और एन + 1 के लिए काम को ओवरलैप कर सकते हैं। हालाँकि, जो मैं समझता हूं, यह स्कैम या एक्सपी जैसे पुनरावृत्ति-आधारित दृष्टिकोणों के साथ संगत नहीं है। वे पुनरावृत्ति को शामिल करने के लिए सभी परीक्षण प्रयासों के साथ इसके अंत में पुन: प्रयोज्य होने की मांग करते हैं।
मुझे लगता है कि यह अनिवार्य रूप से निम्नलिखित अवांछित परिणामों में से एक की ओर जाता है:
(ए) डेवलपर्स एक चलना के अंत में निष्क्रिय हैं क्योंकि क्यूए को एक रिलीज के उम्मीदवार को सत्यापित करने के लिए समय चाहिए और बग फिक्सिंग कार्य पूरी तरह से देवों को व्यस्त नहीं रख रहा है।
(बी) पहले रिलीज के उम्मीदवार तैयार होने से पहले ही क्यूए काम करना शुरू कर देता है। यह वही है जो ज्यादातर स्टैक एक्सचेंज में अनुशंसित है। लेकिन यह नहीं है कि मेरी कंपनी क्यूए के रूप में क्या समझती है क्योंकि कोई विशिष्ट रिलीज उम्मीदवार का परीक्षण नहीं किया गया है। और "छोटा परिवर्तन" जो सब कुछ तोड़ देता है, अभी भी किसी का ध्यान नहीं जा सकता है।
(C) कीड़े को अगले पुनरावृत्ति पर ले जाया जाता है। स्टैक एक्सचेंज पर भी इसकी सिफारिश की जाती है। मुझे नहीं लगता कि यह कोई समाधान है। इसका मूल रूप से मतलब है कि हमें कभी भी एक सत्यापित निर्माण नहीं मिल रहा है क्योंकि जब भी बग फिक्स किए जाते हैं, तो एक ही शाखा में नए, असत्यापित कमिट जोड़े जाते हैं।
क्या इस दुविधा से निकलने का कोई रास्ता है?