मैंने सुना है कि चंचल या चरम प्रोग्रामिंग के संदर्भ में झुंड का उल्लेख किया गया है। यह बाँधना का पूरक प्रतीत होता है।
वास्तव में क्या है? इसे कब लागू किया जाना चाहिए? आप इसे अच्छी तरह से कैसे करते हैं?
मैंने सुना है कि चंचल या चरम प्रोग्रामिंग के संदर्भ में झुंड का उल्लेख किया गया है। यह बाँधना का पूरक प्रतीत होता है।
वास्तव में क्या है? इसे कब लागू किया जाना चाहिए? आप इसे अच्छी तरह से कैसे करते हैं?
जवाबों:
विचार यह है कि आपकी टीम में हर कोई एक ही समय में एक ही कहानी पर काम करता है। हर कोई अलग-अलग कार्यों पर ध्यान केंद्रित करने के बजाय, एक समय में एक कार्य को पूरा करने पर ध्यान केंद्रित करता है। फिर वे अगली चीज़ की ओर बढ़ते हैं, जहाँ वे सभी इस पर एक साथ काम करते हैं।
यह स्प्रिंट के अंत से पहले कहानियों को पूरा करने में संघर्ष करने वाली टीमों की मदद करता है। अक्सर टीम सभी कहानियों का 80% हिस्सा पूरा करती है, लेकिन कोई भी पूरा नहीं होता है। यह 80% कहानियों को पूरी तरह से समाप्त करने की तुलना में कम उपयोगी है, क्योंकि अधूरी कहानियों का अंत उपयोगकर्ता के लिए कोई प्रभावी मूल्य नहीं है। जब टीम के सभी लोग एक समय में एक कहानी पर ध्यान केंद्रित कर रहे हों तो कहानियों को पूरा करना आसान हो जाता है। यह स्वीमिंग के पीछे की प्रेरणा है।
यहाँ कुछ कठिनाइयाँ हैं। उदाहरण के लिए, क्यूए हमेशा चीजों का परीक्षण नहीं कर सकते हैं, जब तक वे निर्मित नहीं होते हैं (या यहां तक कि डिज़ाइन किए गए)। इस मामले में, आपको पहले से एक साथ एक डिजाइन स्थापित करना चाहिए, और फिर क्यूए डिजाइन के खिलाफ परीक्षण (शुरू में विफल) लिख सकता है न कि वास्तविक कार्यान्वयन।
झुंड सिर्फ इस तथ्य को संदर्भित करता है कि एक कार्य या कहानी को पूरा करने के लिए कई लोग एक साथ काम करते हैं। मेरे अनुभव में यह कुछ ऐसा नहीं है जो आप अक्सर करते हैं।
आमतौर पर, मेरी टीम का प्रत्येक सदस्य अलग कार्य और / या अलग कहानी पर काम करता है। यदि कोई पीछे छूट रहा है, या यदि किसी कार्य या कहानी को जल्दी खत्म करने की इच्छा है, तो अन्य लोग कार्य को पूरा करने के लिए अन्य कार्यों और "झुंड" पर काम करना बंद कर देंगे, जिसका अर्थ है कि वे सभी एक ही कार्य या कहानी पर एक साथ काम करते हैं। पूरा हो गया है।
हमारे पास हाल ही में बहुत कम कहानियाँ थीं जो कुछ काफी उबाऊ, निर्बाध काम थीं। मैंने टीम को काम खत्म करने के लिए एक छोटा प्रोत्साहन (पिज्जा) और समय सीमा (दिन के अंत) दिया, इसलिए उन्होंने कहानी पर झपट्टा मारा और एक दोपहर में कम से कम एक दो दिन का काम खत्म कर दिया। उन्हें काम जल्दी मिल गया और जल्दी निकल गया, फिर टीम का प्रत्येक सदस्य जो भी काम कर रहा था, उसमें वापस चला गया। उन्हें मुफ्त में दोपहर का भोजन मिला, मुझे जल्दी काम मिल गया जो सुस्त प्रकृति के कारण घसीटा जा सकता था, और टीम उनके स्प्रिंट से आगे निकल गई। जीत-जीतने के लिए।
"स्वीमिंग" "हे, चलो हम आपकी मदद करते हैं" के लिए एक फैंसी शब्द से ज्यादा कुछ नहीं है।
झुंड वास्तव में चपलता के लिए एक केंद्रीय अवधारणा है। यह कुछ ऐसा नहीं है जो "जब समस्याएं होती हैं" किया जाता है। झुंड, अपने सरलतम रूप में, का अर्थ है कि टीम आइटम (कहानियों) पर सहयोगात्मक रूप से काम करती है और उन्हें पूरा करने के लिए काम करती है। मुख्य अवधारणा "शुरू करना, और खत्म करना शुरू करना" है। दूसरे शब्दों में, एक कहानी पर स्वतंत्र रूप से काम करने वाले प्रत्येक डेवलपर के बजाय, टीम एक साथ कहानियों / कार्यों के अधिक सीमित सेट पर ध्यान केंद्रित करती है और प्रत्येक आइटम को जल्द ही पूरा करती है। इसे सिंगल-थ्रेडेड सिस्टम और मल्टी-थ्रेडेड के बीच के अंतर के रूप में सोचें। यदि किसी उपयोगकर्ता की कहानी में 10 कार्य हैं, और प्रत्येक को 8 घंटे का समय लगता है, तो यह मानते हुए कि कोई जटिलता नहीं थी, एक डेवलपर प्रत्येक कार्य को क्रमिक रूप से कार्य कर सकता है और कहानी को 80 घंटों में पूरा कर सकता है, या लगभग दो सप्ताह (10 दिन का स्प्रिंट दिया जा सकता है) प्रति दिन 8 घंटे)। क्या होगा यदि दो डेवलपर्स कार्यों को विभाजित करते हैं और उन्हें समवर्ती रूप से काम करते हैं? वही 80 घंटे का काम इस तरह से एक सप्ताह में पूरा किया जा सकता है। तीसरा जोड़ें, और आप देख सकते हैं कि यह अब 3 से 4 दिनों में हो सकता है।
स्वीमिंग कई तरीकों से की जा सकती है:
प्रत्येक डेवलपर को एक कहानी देने वाली टीमें बहुत अधिक "कार्य प्रगति पर" या डब्ल्यूआईपी करती हैं, और अक्सर कई कहानियां शुरू हो जाती हैं, लेकिन नहीं की जाती हैं। यह एक प्राचीन-पत्र है, और सबसे अच्छा व्यवहार नहीं है।
टीमें जो तैरती हैं, उनके पास WIP कम होता है और वे अधिक कहानियाँ पूरी करती हैं - और इससे मेरा मतलब है विकसित, परीक्षण, स्वीकृत, तैनात करने के लिए तैयार। इस प्रकार, यह एक अभ्यास है जो चपलता के लिए मुख्य है।
InfoQ के निम्नलिखित लेख में झुंड के लिए एक दृष्टिकोण का वर्णन किया गया है:
विस्तृत विवरण के लिए लेख पढ़ें।