क्या स्क्रैम उपयोगकर्ता कहानियों के बजाय उत्पाद बैकलॉग में तकनीकी विशिष्टताओं का उपयोग कर सकता है?


14

जिस कंपनी में मैं वर्तमान में काम कर रहा हूं उस कंपनी में हमने स्क्रैम प्रोजेक्ट करना शुरू किया था। प्रबंधकों को जलप्रपात से स्क्रैम में जाने के लिए राजी करना इतना कठिन नहीं था। हम एक प्रोजेक्ट कर रहे हैं, जहाँ हम अपने प्लेटफॉर्म को स्क्रैच से पुनर्निर्माण करते हैं। इसलिए (अधिकांश) कार्यक्षमता ज्ञात है और अधिकांश सुधार तकनीकी हैं।

इसमें उपयोगकर्ता कहानियों के बजाय तकनीकी कार्यों को करना उचित ठहराया जा सकता है। हमारे बैकलॉग को सभी प्रकार के तकनीकी कार्य मिल गए हैं:

  • MySQL से PostgreSQL के लिए DB क्लास को फिर से लिखें।
  • सिस्टम लॉगिंग को लागू करें।
  • ऑब्जेक्ट कैश पुनर्प्राप्त करें।

स्टैंड-अप के दौरान आने वाली चीजों में शामिल हैं कि लंबे "शोध कार्य" चाहते हैं, लेकिन वे कभी नहीं किए जाते हैं। इसके अलावा, टीम के सदस्य स्प्रिंट के बीच में दावा करते हैं कि अनियोजित कार्यों को जोड़ने की आवश्यकता है।

एक स्क्रैम मास्टर को इससे कैसे निपटना चाहिए? क्या ऐसा हो सकता है कि इस तरह की परियोजना के लिए, स्क्रैम जाने का रास्ता नहीं है?

जवाबों:


10

टी एल; डॉ

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

आपकी प्रक्रिया के साथ विभिन्न समस्याएं

आपका विक्रम विभिन्न तरीकों से टूटता हुआ प्रतीत होता है, जिसमें शामिल हैं:

  1. आपके विनिर्देशों में स्पष्ट दृष्टिकोण या मूल्य प्रस्ताव का अभाव है।
  2. आपके बैकलॉग आइटम स्प्रिंट लक्ष्यों से बंधे नहीं हैं।
  3. आपका बैकलॉग संवारने की प्रक्रिया या तो पूरी तरह से गायब है या उत्पाद बैकलॉग के लिए स्टोरी स्पाइक्स बनाने में विफल है।
  4. आपकी स्प्रिंट योजना प्रक्रिया स्प्रिंट बैकलॉग आइटम में उत्पाद बैकलॉग आइटम को पर्याप्त रूप से विघटित नहीं कर रही है।
  5. आपकी टीम स्प्रिंट प्लानिंग अनुमानों में बैकलॉग आइटम के बारे में अनिश्चितता को ठीक से शामिल नहीं कर रही है।
  6. आपकी टीम टाइम-बॉक्सिंग के मूल सिद्धांतों या स्प्रिंट की अखंडता का सम्मान नहीं कर रही है।

जबकि Scrum हर प्रोजेक्ट के लिए हमेशा सही नहीं होता है, ऐसे में यह कहना अधिक सटीक होगा कि Scrum काम नहीं कर रहा है क्योंकि टीम वास्तव में Scrum नहीं कर रही है। उपयोगकर्ता कहानियों के बारे में आपका सवाल आपकी टीम के सामने आने वाली बड़ी प्रक्रिया के मुद्दों का एक छोटा सा हिस्सा है।

क्यों चंचल प्रोग्रामर उपयोगकर्ता कहानियों को गले लगाते हैं

तकनीकी विनिर्देश आवश्यकताओं को संप्रेषित करने का एक मौलिक रूप से टूटा हुआ तरीका है। वे आवश्यकताएँ जो किसी दृष्टिकोण से असम्बद्ध हैं, डेवलपर्स के लिए कोई उपयोगी मार्गदर्शन प्रदान नहीं करती हैं। अपने पोस्ट किए गए उदाहरणों का उपयोग करना:

  • ऑब्जेक्ट कैश पुनर्प्राप्त करें। क्यों? उद्देश्य क्या है? किसको मिलेगा फायदा? कार्य के बारे में स्पष्टीकरण कौन प्रदान कर सकता है? यदि यह एक गैर-कार्यात्मक आवश्यकता से जुड़ा हुआ है, तो यह पता किस परियोजना का लक्ष्य है?
  • सिस्टम लॉगिंग को लागू करें। क्यों? लॉग्स पढ़ने के लिए कौन जा रहा है? लॉग में क्या जानकारी होनी चाहिए? आपको कैसे पता चलेगा कि लॉग फॉर्मेट या लॉग डेटा उपयोगी हैं?

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

आपको उपयोगकर्ता कहानियों का उपयोग नहीं करना चाहिए क्योंकि आपको लगता है कि यह एक रूपरेखा की आवश्यकता है, या क्योंकि यह एक व्यापक रूप से स्वीकृत चुस्त अभ्यास है। इसके बजाय, आपको उन्हें प्रभावी ढंग से बनाने और उपयोग करने पर काम करना चाहिए क्योंकि यह प्रोग्रामिंग कार्यों को आसान बनाता है और प्रोग्रामिंग पेशे को अधिक मजेदार बनाता है। सचमुच में, आपका माइलेज अलग अलग हो सकता है।


आपको टीएल के साथ हर उत्तर शुरू करने की ज़रूरत नहीं है; डॉ। शीर्ष के बिना शुरुआत में सारांश रखना ठीक है। : पी
डेव हिलियर

9

मुझे नहीं लगता कि यहां समस्या इस तरह से है, मुझे लगता है कि समस्या यह है कि एक स्पष्ट रूप से परिभाषित परियोजना नहीं है और मैंने इसे कई बार अनुभव किया है) कोई स्पष्ट दिशा नहीं।

मुझे लगता है कि आपके तकनीकी कार्य ठीक हैं, संभवतः बड़े पैमाने पर लेकिन एक कहानी के लिए औसत दर्जे का और निश्चित रूप से बिल्कुल ठीक है।

स्क्रेम में अनुसंधान कार्य मेरे लिए एक बहुत बड़ा लाल झंडा है क्योंकि वे थोड़ा दृश्यमान लाभ प्रदान करते हैं और बहुत अधिक गुंजाइश पैदा कर सकते हैं। मैं स्प्रिंट में इन अपफ्रंट को सीमित करने की वकालत करता हूं, उन्हें जोड़ा नहीं जाना चाहिए और निश्चित रूप से प्रतिबद्ध लक्ष्यों की कीमत पर उन्हें नहीं जोड़ा जाना चाहिए। यदि उन्हें सहमत स्प्रिंट कार्य पूरा करने की आवश्यकता है, तो यह निर्भरता नियोजन में स्पष्ट होनी चाहिए (अन्यथा, वे क्या अनुमान लगा रहे थे?)।

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


तो इस मामले में वास्तविक उपयोगकर्ता कहानी के बिना सिर्फ कार्य करना ठीक है? बहुत बार प्रोग्रामर मीटिंग प्लानिंग में कहते हैं कि: हमें नहीं पता कि उस कार्य में कितना समय लगता है क्योंकि हम नहीं जानते कि इसमें क्या शामिल है। इसलिए वे पहले जांच करना चाहते हैं।
सैंडर्स

2
स्क्रम को आपके लिए काम करना चाहिए, "क्या सही है" पर लटका नहीं है - कार्य ठीक हैं, यदि कार्यों की जांच की आवश्यकता है, तो जांच को समय-सीमा पर होना चाहिए और मैं व्यक्तिगत रूप से "जांच" की मात्रा को सीमित करूंगा जिसे स्प्रिंट में नियोजित किया जा सकता है - उस जांच का आउटपुट अगली योजना की बैठक में फीड हो सकता है।
माइकल

4

स्क्रम का कहना है कि आपके पास अपने ग्राहक के लिए एक बेहतर उत्पाद होगा। हालाँकि, यहाँ बिंदु यह है कि, यह डिलिजेबल उत्पाद और ग्राहक को निर्दिष्ट नहीं करता है ।

दूसरे शब्दों में, आपके विशिष्ट मामले में, आप अपने डिलिजेबल उत्पाद को कोड सुधार, प्लेटफ़ॉर्म परिवर्तन, पुनर्लेखन और रीडिज़ाइन आदि के रूप में परिभाषित कर सकते हैं और अपने तकनीकी प्रबंधक को अपना ग्राहक मान सकते हैं।

यह मेरे लिए 100% मायने रखता है। आप एक बैकलॉग बनाते हैं जो आपके उत्पादों के उपयोगकर्ता की कहानियों को बताता है, और उपयोगकर्ता कौन है? तकनीक प्रबंधक। इस प्रकार आइटम:

  1. तकनीकी प्रबंधक के रूप में, मैं चाहता हूं कि मेरा डेटाबेस MySQL से X में बदल जाए, ताकि मैं स्केलेबिलिटी बढ़ा सकूं
  2. डेवलपर के रूप में, मैं एक व्यापक लॉगिंग सिस्टम चाहता हूं, ताकि मैं और अधिक कुशलता से निदान कर सकूं

और जो आप अपने ग्राहक (तकनीकी प्रबंधक) को देते हैं वह एक लॉगिंग सिस्टम है।

हालाँकि, आपने जिन R & D कार्यों के बारे में बात की है, उनके बारे में मेरी सलाह है कि आप स्क्रम में स्पाइक्स के बारे में पढ़ें । वे अनिवार्य रूप से टाइम-बॉक्सिंग मिनी-कार्य हैं जो आपको बड़े अपरिचित कार्यों को करने के लिए आवश्यक समय निर्धारित करने में मदद करते हैं।


धन्यवाद। स्क्रम प्रक्रिया में स्पाइक्स कहाँ जाते हैं? जब मैं कुछ पता लगाना चाहता हूं तो मुझे इस आने वाले स्प्रिंट की जरूरत है। मान लीजिए कि मैं 4 घंटे का स्पाइक बनाता हूं, और इसका परिणाम यह हो सकता है कि मेरे पास विकास में 20 घंटे हैं। वर्तमान स्प्रिंट के लिए इन घंटों की आवश्यकता होने पर आपको इससे कैसे निपटना चाहिए?
सैंडर्स

एक "स्पाइक" एक अवधारणा पर शोध करने और / या एक सरल प्रोटोटाइप बनाने के लिए उपयोग की जाने वाली बॉक्सिंग अवधि है, जो अवधारणा का प्रमाण देती है, ज्ञान का विस्तार करती है, आदि
Ioannis Tzikas

@IoannisTzikas मेरे सवाल का जवाब नहीं; ;-)
सैंडर्स

1

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

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

आप अपने डेवलपर्स की जरूरतों को पूरा कर रहे हैं और इस मामले में आवेदन को फिर से लिखा जा रहा है। मैं अनुमान लगा रहा हूं कि उत्पाद मालिक हैं जो चाहते हैं कि यह परियोजना बाद में जल्द से जल्द पूरी हो और लंबे समय तक बहाने के रूप में "शोध" की आवश्यकता को स्वीकार न करें।


1

नीचे दी गई कुछ रणनीतियाँ मदद कर सकती हैं,

  1. हां, आप तकनीकी कहानियों के साथ एक बैकलॉग रख सकते हैं ।

    यूजर स्टोरी की तरह यह भी टेक्निकल स्टोरीज होनी चाहिए, यह एंड यूजर के लिए लाए जाने वाले फायदों पर केंद्रित होगी। इसे लिखने के कुछ सुझाव यहां दिए गए हैं। ये ऐसी कहानियां हैं जो उत्पाद के लिए आंतरिक मूल्य लाएंगी जैसे आप बेहतर बैक-एंड आदि पर जाना चाहते हैं।

  2. जांच (अनुसंधान) कार्यों के लिए स्पाइक का उपयोग करें

    स्पाइक एक ऐसा प्रयोग है जो डेवलपर्स को उपयोगकर्ता कहानी में कुछ अज्ञात के बारे में पर्याप्त जानने की अनुमति देता है, उदाहरण के लिए एक नई तकनीक, जो उस उपयोगकर्ता कहानी का अनुमान लगाने में सक्षम है। एक स्पाइक को टाइम-बॉक्स किया जाना चाहिए। यह सीखने में खर्च होने वाले अधिकतम समय को परिभाषित करता है और स्पाइक के लिए अनुमान को ठीक करता है।

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