स्क्रम स्प्रिंट में कितनी बार जारी करना है


10

आप स्प्रिंट के दौरान कितनी बार जारी करते हैं। केवल स्प्रिंट के अंत में या हर बार एक सुविधा तैयार है। और आप बगफिक्स रिलीज़ को कैसे संभालेंगे?


3
यदि आप हर बार किसी फीचर को जारी करते हैं, तो शायद आपको स्क्रम के बजाय कंबन को देखना चाहिए
डेविड

जवाबों:


10

TL; DR: जब भी उचित हो रिलीज करें

जब भी कोई रिलीज़ करने में मूल्य होता है हम रिलीज़ करते हैं। कभी-कभी इसका मतलब है कि एकल फीचर या बगफिक्स के पूरा होने के बाद रिलीज करना। कभी-कभी इसका मतलब है कि सुविधाओं और / या बगफिक्स का संग्रह जारी करना।

इसका मतलब यह नहीं है कि हम अक्सर "आपात स्थिति" है कि तेजी से रिलीज की आवश्यकता है। इसका मतलब है कि हमने रिलीज़ को आसान बनाने के लिए कड़ी मेहनत की है। हमारे कोड को हर बिल्ड के साथ परीक्षण, टैग और पैक किया गया है। हम स्वचालित स्वीकृति परीक्षणों का उपयोग करते हैं और परिणामस्वरूप हमने उस कोड में विश्वास की एक उच्च मात्रा विकसित की है जो इसे परीक्षण करता है। चूँकि हमारे पैकेज तुरंत एक स्थानीय यम रेपो के माध्यम से उपलब्ध होते हैं, इसलिए एक रिलीज तैनात करना तुच्छ है।


10

के दौरान कभी नहीं। जो एक "स्प्रिंट" के मूल आधार का उल्लंघन करता है। आप तब तक दौड़ते हैं जब तक आप वह नहीं कर लेते जो आपने पूरा किया। आपके समाप्त होने के बाद, यह वास्तव में हो गया है और वास्तव में काम करता है। फिर आप इसे जारी कर सकते हैं।

रिलीज एक अलग तरह का स्प्रिंट हो सकता है, जहां चीजें रिलीज के लिए पैक की जाती हैं।

बगफिक्स रिलीज सिर्फ छोटे स्प्रिंट हो सकते हैं। एक ही लंबाई वाले स्प्रिंट का नियमित शेड्यूल न होना कई लोगों द्वारा एक बुरा विचार माना जाता है। इसलिए, सामान्य नियम यह है कि बग फिक्स केवल उच्च प्राथमिकता वाला काम है जो अगले के दौरान होता है स्प्रिंट के ।

यदि यह एक आपात स्थिति है, तो आपको बहुत सी चीजें चल रही हैं - समर्थन और विकास - और आपको संगठन को बदलने पर विचार करना चाहिए ताकि कम चीजें चल रही हों।


तो, परीक्षकों को लगातार परीक्षण कैसे करना चाहिए?
मेलबर्न डेवलपर

4

अगर टीम जिस काम के लिए प्रतिबद्ध है, वह स्प्रिंट के भीतर कई रिलीज करने के लिए अनुकूल है, तो इसे जितनी बार चाहें उतनी बार रिलीज करें।

वही दोष-मुक्त रिलीज के लिए सच है - अगर यह उन्हें रिलीज करने के लिए समझ में आता है, तो ऐसा करें।


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

3

पिछली फुर्तीली नौकरी मैंने हर स्प्रिंट जारी की थी; प्रत्येक दूसरे गुरुवार (दो सप्ताह के स्प्रिंट) पर कोड जमे हुए थे, और फिर उत्पाद को पैक किया गया था और हमारे ग्राहकों के साथ काम करने के लिए एक यूएटी सर्वर पर प्रकाशित किया गया था। यह उत्पाद के प्रारंभिक विकास के दौरान था; एक परिपक्व उत्पाद, विशेष रूप से एक वितरण योग्य कार्यक्रम और एक वेब ऐप के लिए नहीं, आप शायद अपने उपयोगकर्ताओं को हर दो से तीन सप्ताह में अपग्रेड करने के साथ बोझ नहीं बनाना चाहेंगे।

वस्तुतः हमारे सभी रिलीज में कहानी के अंक और दोष (बग) का मिश्रण शामिल था। दोषों को "गैर-आदर्श घंटे" के रूप में गिना जाता है; एक कार्यदिवस में 5 आदर्श घंटे हैं, जिसका अर्थ है नए बिंदु के काम का सिर-डाउन कोडिंग। दिन में तीन से चार घंटे बैठकें, चर्चाएं, डिजाइन, कभी-कभी "स्पाइक्स" (केंद्रित अनुसंधान / प्रमाण-अवधारणा विकास), और दोष कार्य होते हैं; सामान जो एक बेहतर उत्पाद में योगदान देता है और प्रक्रिया का एक आवश्यक हिस्सा है, लेकिन बस पूरी टीम के पूरे स्प्रिंट को नहीं उठा सकता है। जब हमने केवल दोष-विमोचन किया था, तब आईपीएम के रूप में बैकलॉग में कोई कहानी-बिंदु उपलब्ध नहीं था; फिर हमने बस एक क्यूए स्प्रिंट निर्धारित किया, जहां हमें "जितने दोष आप मार सकते हैं, उतने" करने का निर्देश दिया गया था। क्योंकि जाने के लिए तैयार होने की आवश्यकता नहीं है, हमेशा PO की गलती है (और PO ग्राहकों के लिए काम करता है), हम बस एक अनुबंध परिवर्तन नोटिस जारी कर सकते हैं और हमारे पास जो भी था उसके साथ काम कर सकते हैं। बेशक, एक बार वास्तविक कहानी का काम खत्म हो गया था और हम "वारंटी" विकास में थे, दोष सभी थे।

एक अच्छी तरह से प्रबंधित फुर्तीली परियोजना में, आवश्यकताओं से बाहर चलना कभी नहीं होना चाहिए; बैकलॉग में हमेशा एक स्प्रिंट के लायक काम होना चाहिए जो चुनने के लिए तैयार हो। लेकिन, कभी-कभी पीओ को उत्पादन की आवश्यकताएं पूरी हो जाती हैं; आवश्यकताओं की गुणवत्ता या कहानी के टकराव से संबंधित कारणों के लिए कभी-कभी बीए / परीक्षक विकास बैकलॉग के लिए कहानियों की रिहाई को रोकते हैं; कभी-कभी एक टीम तय करती है कि उन्हें एक कहानी पर "पंट" करना है जो अच्छी तरह से परिभाषित या अच्छी तरह से अनुमानित नहीं थी, और ऐसा कुछ नहीं है जो आसानी से शेष चक्रों को उठा सकता है। संक्षेप में, एजाइल में भी, गंदगी होती है।


3
मुझे लगता है कि चंचलता की बात यह है कि हम ऐसा करने से बचते हैं।
मैथ्यू फ्लिन

यदि आपकी निर्माण प्रक्रिया स्वचालित रूप से संकुल को टैग करती है तो "फ्रीज" करने की कोई आवश्यकता नहीं है? काम जारी रख सकते हैं,
वीट

"फ्रीज" प्रतीकात्मक था; हमने मूल रूप से कहा था कि नवीनतम बिल्ड जिसके लिए CI ने 5:00 PM गुरुवार को पारित किया था, रिलीज़ बिल्ड था, और हमने उस संशोधन के लिए एक SVN शाखा काट दी और आगे बढ़ गए। यदि आप तब तक प्रतिबद्ध नहीं थे, या आपकी प्रतिबद्धताओं ने सभी CI परीक्षणों को पारित नहीं किया था, तो यह रिलीज में नहीं था।
कीथ्स

1

रिलीज से आपका क्या मतलब है? यदि आप PSP का मतलब है - शायद shippable उत्पाद आपके पास दो विकल्प हैं:

  • पुस्तक द्वारा स्क्रैम (या स्क्रम स्तर 2) आपके पास स्प्रिंट के अंत में पीएसपी है और यह वही है जो आप रिट्रॉप्टर मीटिंग में दिखाते हैं
  • मुझे शब्द स्क्रम लेवल 3 भी मिला, जहां टीम ने सोर्स कंट्रोल और कंटीन्यूअस इंटीग्रेशन जैसे अपने टूल्स में महारत हासिल की और कंटीन्यूअस डिलीवरी में चले गए। इस तरह की टीम हर रात निर्माण (या सर्वश्रेष्ठ मामले में हर निर्माण) के बाद पीएसपी करने में सक्षम है। हर बिल्ड के बाद PSP होने का मतलब यह नहीं है कि आप इसे हर बिल्ड के बाद ग्राहक को दिखाएं - यह अभी भी सिर्फ आंतरिक रिलीज है।

लेवल 2 और लेवल 3 के बीच मुख्य अंतर यह है कि लेवल 2 में आपको स्प्रिंट के अंत में अंतिम पीएसपी बनाने के लिए कुछ प्रयास करने होंगे, लेकिन लेवल 3 में आप कुछ पैसे और प्रयास शुरू में अपने टूल और कॉन्फ़िगरेशन में डालते हैं और आपने PSP तैयार किया है स्वचालित रूप से हर समय = इसमें कोई मैनुअल प्रयास शामिल नहीं है। पूरी तरह से स्तर 3 प्राप्त करना दुर्लभ है।


ये "स्क्रम स्तर" आधिकारिक नाम हैं? मैंने इसे देखा और कुछ नहीं पाया।
डेविड

@ डेविड: मुझे नहीं लगता कि यह कुछ भी आधिकारिक है। यह "स्क्रम परिपक्वता" को मापने के लिए सिर्फ एक और दृष्टिकोण है - मैंने इस प्रस्तुति को उन स्तरों पर चर्चा करते हुए पाया है लेकिन मैं इसे सीएसएम पाठ्यक्रम पर मिला हूं।
लादिस्लाव मृंका

0

स्क्रम में बिल्कुल कोई नियम नहीं है कि नई सुविधाओं को कब तैनात किया जा सकता है। प्रत्येक टीम को "किए गए परिभाषा" की आवश्यकता होती है, जिसमें हमेशा परीक्षण के बारे में कुछ मानदंड शामिल होने चाहिए। एक बार एक विशेषता "हो जाने" के बाद, यह वास्तविक दुनिया के लिए तैयार है और यदि कोई अन्य निर्भरता या स्थितियां नहीं हैं, जिन्हें तैनात करने से पहले पूरा करने की आवश्यकता है, तो स्प्रिंट के अंत की प्रतीक्षा करने का कोई कारण नहीं है इसे तैनात करें।

जिसका कोई भी मतलब नहीं है कि इसे स्प्रिंट समीक्षा / योजना बैठक में प्रस्तुत नहीं किया गया है। अवधारणा यह है कि टीम ने जो कुछ भी पूरा किया है, वह पीओ (और अन्य ग्राहक एसएमई) को दिखाया गया है ताकि वे इसे विकसित होने वाली प्रणाली की अपनी बढ़ती समझ में शामिल कर सकें।


0

कुछ हफ़्ते के बाद हमें एक अच्छा समाधान मिला जो हमारी ज़रूरतों को पूरा करता है। हम जब चाहें तब रिलीज करने का फैसला करते हैं। हम यह कैसे करते हैं:

  1. जब कभी कोई वास्तविक विकास शाखा को जारी करने का निर्णय लेता है, तो वह मास्टर शाखा में सभी परिवर्तनों को नए रिलीज नंबर के साथ मर्ज कर देता है और हमारे स्टेजिंग सिस्टम पर धकेल दिया जाता है।
  2. हमारे क्यूए और अन्य सभी टीमों को एक वास्तविक चैंज के साथ एक मेल मिलता है और वे स्टेजिंग सिस्टम का परीक्षण करते हैं
  3. अगर उन्हें बग मिलते हैं तो हम उन्हें मास्टर में ठीक करते हैं, इसे मंचन के लिए धकेलते हैं और फिर मास्टर को वापस शाखा में विलय कर देते हैं
  4. जब स्टेजिंग सिस्टम ने QA पास किया तो मास्टर लाइव हो गया

बस। हम git और maven को CI सिस्टम के रूप में उपयोग करते हैं और हमारे पास एक अच्छा परीक्षण कवरेज है। ऐसा कौन सा कारण है जो हम इस तरह कर सकते हैं।


0

एक सवाल का जवाब देना जो लगभग 2 साल पुराना है, थोड़ा बेमानी हो सकता है, लेकिन उम्मीद है कि इस सवाल पर आने वाले अन्य लोगों के लिए मूल्य जोड़ने के लिए मैं एक 2cent या तो जोड़ना चाहूंगा। :)

प्रश्न का उत्तर देने के लिए: आपको अधिमानतः उस स्प्रिंट के अंत में स्प्रिंट में क्या प्रतिबद्ध था, जारी करना चाहिए। ऐसा करने से घोटाले के अन्य सभी हिस्सों / प्रक्रियाओं / दिशानिर्देशों के साथ संबंध स्थापित हो जाता है जो सही समय पर सर्वोत्तम व्यावसायिक मूल्य प्राप्त करने के लिए तैयार है।

लेकिन आपात स्थिति, बग, अप्रत्याशित घटनाएं आदि आपके हाथ को प्रभावित कर सकती हैं, जो कि "रिलीज प्लानिंग" की अवधारणा के काम आ सकती है। "रिलीज़ प्लानिंग" से मेरा मतलब जलप्रपात-प्रकार-नियोजन नहीं है, बल्कि अपेक्षाओं का नियोजन है जो उत्पाद के बैकलॉग और कहानियों की प्राथमिकता का प्रबंधन करने में मदद कर सकता है।

लेकिन शायद डेविड के सवाल पर टिप्पणी सबसे अच्छी बात है। स्क्रम हमेशा सही उत्तर नहीं होता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.