कार्यक्षमता साझा करने वाली कहानियों से कैसे निपटें


27

मेरे पास दो कहानियां हैं (मुझे पता है कि वे लाभ का हिस्सा याद कर रहे हैं)

  1. क्रेडिट प्रबंधन उपयोगकर्ता के रूप में, मैं कार्यालयों के लिए वर्तमान और पिछले पेरोल अंतर देख सकता हूं।
  2. क्रेडिट प्रबंधन उपयोगकर्ता के रूप में, मैं कार्यालयों के लिए वर्तमान और पिछले पेरोल अंतर के पीडीएफ युक्त एक ईमेल प्राप्त कर सकता हूं।

दोनों संबंधित हैं कि उनके पास समान क्वेरी / फ़िल्टर मानदंड होंगे। अंतर केवल इतना है कि "दृश्य" कहानी में, परिणाम उपयोगकर्ता को प्रदर्शित किए जाते हैं और "ईमेल" कहानी में, परिणाम एक पीडीएफ को लिखे जाते हैं जो उपयोगकर्ता को ईमेल किया जाता है।

मैं इन दोनों कहानियों के सामान्य पहलुओं के अलगाव से जूझ रहा हूं या अगर मुझे ऐसा करना भी चाहिए।

उदाहरण के लिए, वे दोनों एक ही क्वेरी होगी, जो वे परिणामों के साथ करते हैं वह अलग है।

क्या मुझे क्वेरी को एक और कहानी में अलग करना चाहिए जो विशुद्ध रूप से तकनीकी है?

पीडीएफ का निर्माण और ईमेल भेजना ऑफ़लाइन होना चाहिए, क्या यह एक तकनीकी कहानी बन जाना चाहिए?

मैं उन दो कहानियों को 2 कार्यात्मक कहानियों और 2 तकनीकी कहानियों में तोड़ता हुआ देख सकता था।

  1. सिस्टम के रूप में, मैं कार्यालयों के लिए वर्तमान और पिछले पेरोल में अंतर की गणना कर सकता हूं।

  2. क्रेडिट प्रबंधन उपयोगकर्ता के रूप में, मैं कार्यालयों के लिए वर्तमान और पिछले पेरोल में अंतर देख सकता हूं।

  3. सिस्टम के रूप में, मैं कार्यालयों के लिए वर्तमान और पिछले पेरोल में अंतर का एक पीडीएफ दस्तावेज़ बना सकता हूं।

  4. एक क्रेडिट प्रबंधन उपयोगकर्ता के रूप में, मैं एक ईमेल प्राप्त करने का अनुरोध कर सकता हूं जिसमें कार्यालयों के लिए वर्तमान और पिछले पेरोल में अंतर का एक पीडीएफ हो।

जो समस्या मुझे वापस आती रहती है, वह यह है कि 4 कहानियाँ स्वतंत्र नहीं हैं और "केक को काटो" नहीं है।

इसलिए मुझे यकीन नहीं है कि इन दोनों से कैसे निपटा जाए।


4
यदि आप "तकनीकी उपयोगकर्ता कहानियों" का उपयोग करने जा रहे हैं, तो महसूस करें कि यहां 3 चीजें नहीं हैं। 4. जो अंतर आप अपने मॉडल और दो प्रकार के विचारों, एक पीडीएफ दृश्य और एक जीयूआई दृश्य से गणना करते हैं। आप केवल रिपोर्ट को अलग तरीके से प्रस्तुत कर रहे हैं।
कैंडिड_ऑरेंज

1
उनमें से एक को संभालो। फिर दूसरे से निपटना। यह इतना आसान है।
एंट पी

वे दो कहानियाँ क्यों हैं?
जेएफओ

जवाबों:


55

उपयोगकर्ता कहानियां सिस्टम विनिर्देश या कार्यात्मक आवश्यकताएं नहीं हैं। बल्कि, वे एक वार्तालाप की शुरुआत हैं जो इस तरह के विनिर्देशों या आवश्यकताओं को जन्म दे सकता है।

तदनुसार, मुझे उम्मीद है कि सिस्टम कार्यान्वयन में ओवरलैप होगा। उपयोगकर्ता कहानियां ऐसे कार्यात्मक ओवरलैप का वर्णन करने या इसे खत्म करने के लिए नहीं हैं। उपयोगकर्ता कहानियों का उद्देश्य उपयोगकर्ता के दृष्टिकोण से कार्यात्मक अपेक्षाओं को पकड़ना है, न कि कार्यान्वयन विवरणों का वर्णन करना।


3
वास्तव में कुछ बहुत समान लिखना शुरू कर रहा था, लेकिन यह उत्तर पहले से ही मेरे सभी पहलुओं को कवर करता है, इसलिए +1।
डॉक ब्राउन

यहां भी, इसे लागू करना जारी रखें।
कैंडिड_ओरेंज

1
@ जोयेन्ग: कार्यान्वयन विवरण जाना - कार्यान्वयन में, और कहाँ? और आप यह कैसे बताते हैं कि एक और डेवलपर आपकी टीम की संचार संरचना पर निर्भर करता है। बेशक, यहां एक कार्यात्मक आवश्यकता शामिल हो सकती है, जैसे "पेरोल अंतर ऑनलाइन देखने पर, या पीडीएफ के रूप में उन्हें पुनर्प्राप्त करते समय, दोनों मामलों में समान सामग्री प्राप्त करना महत्वपूर्ण है" । अगर ऐसा है, तो इसे नोट के रूप में कम से कम एक (बेहतर दोनों) उपयोगकर्ता कहानियों में जोड़ें। हालाँकि, इस विवरण को कहानी में कैसे लागू किया जाएगा, इस बारे में कोई विवरण न दें।
डॉक्टर ब्राउन

3
डिज़ाइन डेवलपर को समस्याओं के समाधान के बारे में नहीं बता रहा है। यह एक डेवलपर को बता रहा है कि किन समस्याओं को हल करना है।
कैंडिड_ऑरेंज

1
जब आप इन कहानियों की समय लागत का मूल्यांकन करते हैं, तो आप उन्हें कैसे रेट करते हैं? मान लें कि सामान्य क्वेरी भाग में 5 घंटे लगते हैं, वेब-व्यू भाग में 6 घंटे लगते हैं, और पीडीएफ-व्यू भाग में 7 घंटे लगते हैं। क्या आप समय का अनुमान लगाते हैं, क्या आप मनमाने ढंग से कहते हैं कि एक की लागत 11 घंटे (5 + 6) और दूसरी 7 (या इसके विपरीत: 12 और 6) है, या क्या आप उन्हें 6 और 7 पर अनुमान लगाते हैं, लेकिन कुछ और में ध्यान दें जिस तरह से दोनों के लिए 5 घंटे उपरि रास्ता? 11 और 12 (5 दोनों को जोड़ा)? यदि आप कहते हैं, "इस मॉडल का उद्देश्य ऐसे मामलों को संभालना नहीं है। बस इस पर बात करें।" यह अभी भी एक स्टोरीबोर्ड पर दर्ज किया जा सकता है, लेकिन कैसे?
आरोन

15

नहीं: कोशिश करो और कहानियों को विभाजित करो, एक कहानी करो और फिर दूसरी।

करो: सुनिश्चित करें कि देव टीम दूसरी कहानी से अवगत है।

विस्तृत कार्यों की योजना बनाने और एक जेनेरिक मॉडल की बात करने की समस्या जो एक सुरुचिपूर्ण तरीके से दोनों को संभाल सकती है, वह यह है कि यह कठिन है।

उपयोगकर्ता कहानियों का उद्देश्य सामान प्राप्त करना है। एलिगेंट एक द्वितीयक उद्देश्य है और इसे रीफैक्टरिंग के लिए छोड़ दिया जाना चाहिए।

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


4

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

इस विशेष मामले में, आप उन कार्यों को बना सकते हैं जो दोनों उपयोगकर्ता कहानियों के मूल को सक्षम करते हैं जो कि आप पहले से निपटने के साथ-साथ करेंगे।

उपयोगकर्ता कहानी में जोड़ने के लिए महत्वपूर्ण चीजें हैं:

  • स्वीकृति मानदंड
  • मान्यताओं

यह ध्यान देने योग्य है कि आपको कहानी की तुलना में किसी भी अधिक दस्तावेज की आवश्यकता नहीं है । कहानी आपको व्यवसाय-स्तर का संदर्भ देती है। आपको और अधिक दानेदार ट्रैकिंग की आवश्यकता है जो आपके ऊपर है (और काफी हद तक संगठनात्मक बाधाओं पर निर्भर है)। आपको इसे कम से कम करने का लक्ष्य रखना चाहिए (हालांकि प्रक्रिया से अधिक लोग और वह सब)।
एंट पी

@AntP, सहमत है, लेकिन यह डेओन (DoD) की परिभाषा की ओर जाता है और इसे आपके 3x5 कार्ड के पीछे फिट होना चाहिए, जिसमें उपयोगकर्ता की कहानी है।
बेरिन लोरिट्स

2

कड़ाई से बोलते हुए, उपयोगकर्ता कहानियां आवश्यक परिणाम को समझने के लिए एक वार्तालाप का वादा करती हैं।

उदाहरण के लिए, अपनी दूसरी उपयोगकर्ता कहानी लेना

क्रेडिट प्रबंधन उपयोगकर्ता के रूप में, मैं कार्यालयों के लिए वर्तमान और पिछले पेरोल अंतर के पीडीएफ युक्त एक ईमेल प्राप्त कर सकता हूं।

निम्नलिखित के बारे में सोचें:

  • उपयोगकर्ता "आवश्यकता" क्या है जो इस आवश्यकता को चला रहा है? (ईमेल में पीडीएफ उनके पास से एक समाधान के रूप में आया है; यह आवश्यकता को संबोधित नहीं कर सकता है और आपकी टीम एक बेहतर समाधान के साथ आ सकती है)
  • न्यूनतम टुकड़ा क्या है जो इस उपयोगकर्ता को "आवश्यकता" को संबोधित कर सकता है और आपके समाधान को मान्य कर सकता है? लघु प्रतिक्रिया छोरों मूल्यवान हैं।

कहानी बंटवारे के करीब आते समय, अपने निवेश के मापदंड को याद रखें।

  1. मैं निर्भर करता हूं
  2. एन अहंकारी
  3. वी एल्युएबल
  4. उत्तेजक
  5. एस मॉल
  6. टी इस्टेबल

उन कहानियों का होना ठीक है, जिनका स्वाभाविक क्रम होता है। इसे ध्यान में रखें - आमतौर पर पहली कहानी बड़ी होती है क्योंकि इसमें आवश्यक कार्यक्षमता होती है और दूसरी कहानी इस पर बनती है।

मैं "तकनीकी" कहानियों को चुनौती दूंगा, क्योंकि आम तौर पर वे उपयोगकर्ता परिणाम केंद्रित कहानियों के कार्यान्वयन में सहायता करने के लिए कार्य होने की सबसे अधिक संभावना रखते हैं।


2

टी एल; डॉ

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

कहानियों को विघटन कार्य के लिए विघटित किया जाना चाहिए

चाहे आप स्क्रम या किसी अन्य चुस्त कार्यप्रणाली का अनुसरण कर रहे हों, यह एक पुनरावृत्ति के नियोजन चरण को छोड़ना एक सामान्य त्रुटि है। स्क्रम में, जब एक उत्पाद बैकलॉग आइटम (इसे उपयोगकर्ता की कहानी नहीं होना चाहिए, सख्ती से बोलना) को वर्तमान स्प्रिंट में खींच लिया जाता है, तो टीम को स्प्रिंट प्लानिंग के हिस्से का उपयोग करना चाहिए, जो काम की वस्तुओं के बीच समानताएं, निर्भरता की पहचान, और तब कार्य-स्तर के कार्य को कैप्चर करने के लिए स्प्रिंट बैकलॉग विकसित करें।

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

कार्य कहानियां लागू करें

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

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

उपयोगकर्ता की कहानियों को एक कार्यान्वयन योजना या कार्य सूची के रूप में मानना ​​अधिकांश चिकित्सकों द्वारा एक चुस्त विरोधी पैटर्न माना जाता है। जो कुछ भी आप इसे कहते हैं चुनते हैं, तो अपने चुस्त ढांचे के जस्ट-इन-समय योजना चरण को छोड़ नहीं है, और निर्भरता और साझा कार्यान्वयन विवरण ट्रैक करते रहें कहीं अपनी टीम की प्रक्रिया के भीतर।

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