टी एल; डॉ
उपयोगकर्ता कहानियां दस्तावेज बनाने के लिए हैं कि उत्पाद में क्या मूल्य जोड़ा जाना चाहिए, और क्यों। कार्यान्वयन विवरण (उदाहरण के लिए मान को कैसे जोड़ा जाना चाहिए, परीक्षण, मापा या मान्य किया जाना चाहिए) कहानी द्वारा विवश हैं, लेकिन उनके भीतर निहित नहीं हैं। उन्हें जानबूझकर फ्रेमवर्क के भीतर लचीलापन और चपलता बनाए रखने के लिए अलग-अलग कलाकृतियों के रूप में छोड़ दिया जाता है।
विनिर्देशों और कार्यान्वयन विवरणों को प्रायः अन्य कलाकृतियों जैसे कि एक्सेपटेंस-टेस्ट ड्रिवेन डेवलपमेंट (ATDD), टेस्ट-ड्रिवेन डेवलपमेंट (TDD), और बिहेवियर-ड्रिवेन डेवलपमेंट (BDD) स्क्रिप्ट्स और परिदृश्यों में कैप्चर किया जाता है। इन विशेष कलाकृतियों को स्क्रैम फ्रेमवर्क द्वारा अनिवार्य नहीं किया गया है, लेकिन यदि आप पहले से ही अन्य प्रभावी प्रक्रिया नियंत्रण नहीं रखते हैं, तो वे निश्चित रूप से आपको एक अच्छा प्रारंभिक बिंदु देंगे।
उपयोगकर्ता कहानियां विनिर्देशों नहीं हैं
मूल पोस्टर (ओपी) ने निम्नलिखित प्रश्न पूछा :
[ए] ग्राहक अलग-अलग क्रेडिट कार्ड के लिए एक अलग प्रसंस्करण चाहता है, सख्त आवश्यकताएं हैं जिन्हें लागू किया जाना चाहिए और ज्ञात होना चाहिए ताकि परीक्षण के मामलों को लिखा जा सके ... जहां मैं इसे स्टोर नहीं करता है?
एक उपयोगकर्ता कहानी एक विशेषता है जो मूल्य वितरित करती है , कार्यान्वयन के बारे में बातचीत को निर्देशित करने के लिए कुछ संदर्भ प्रदान करती है , और एक मूल्य उपभोक्ता के लिए एक दृष्टिकोण है जो सुविधा द्वारा वितरित मूल्य से लाभ उठाएगा।
एक उपयोगकर्ता कहानी का पूरा बिंदु यह है कि कार्यान्वयन विवरण निर्धारित नहीं हैं। टीम किसी भी तरह से सुविधा को लागू करने के लिए स्वतंत्र है जो उचित उपभोक्ता के लिए मूल्य के उपभोक्ता के लिए पहचाने गए मूल्य को वितरित करती है।
एक काम का उदाहरण
एक नमूना उपयोगकर्ता कहानी
यह समझाने में आसान है कि क्या आप उपयोगकर्ता कहानियों के कम अस्पष्ट सेट से शुरू करते हैं। चूंकि ओपी ने एक कार्रवाई योग्य उपयोगकर्ता कहानी प्रदान नहीं की, जो कि इन्वेस्ट मेम्नेनिक का अनुसरण करता है , मैं एक उदाहरण के लिए एक का आविष्कार करूंगा। निम्नलिखित कहानी पर विचार करें:
एक उपयोगकर्ता के रूप में जो डिस्कवर कार्ड से भुगतान
करना पसंद करता है , मैं अपनी खरीदारी को डिस्कवर कार्ड से करने का विकल्प चाहूंगा
ताकि मैं वीज़ा, मास्टरकार्ड या अमेरिकन एक्सप्रेस तक सीमित न रहूँ।
यह एक ठोस सुविधा प्रदान करता है, कुछ संदर्भ प्रदान करता है जो टीम द्वारा किए जाने वाले कार्यान्वयन निर्णयों को निर्देशित कर सकते हैं और एक डिस्कवर-कार्ड मालिक ग्राहक के रूप में मूल्य उपभोक्ता की पहचान करते हैं। यह विनिर्देशों का एक सेट नहीं है, लेकिन यह है कि आपको ग्राहक के साथ और टीम के साथ सही बातचीत करने की आवश्यकता है कि विकास के पुनरावृत्ति के दौरान कहानी को कैसे लागू किया जाए।
विश्लेषण और कार्यान्वयन
वास्तविक कार्यान्वयन टीम के लिए है। टीम को निर्धारित करने के लिए कुछ विश्लेषण करना होगा:
- नई सुविधा को लागू करने का सबसे आसान तरीका।
- विभिन्न कार्यान्वयन विकल्पों में से कौन सा तकनीकी ऋण को प्राप्त किए बिना, आगे बढ़ने का समर्थन करना सबसे आसान होगा।
- खुले-बंद और YAGNI सिद्धांतों को कैसे लागू किया जाए, यह सुनिश्चित करने के लिए कि आपकी नई सुविधा बिना इंजीनियर के मजबूत हो।
एजाइल मैनिफेस्टो के मुख्य सिद्धांतों में से एक ग्राहक सहयोग है। एक क्रॉस-फंक्शनल, सेल्फ-ऑर्गेनाइजिंग टीम से उम्मीद की जाती है कि वह ग्राहक के साथ सहयोग करके यूजर स्टोरी द्वारा दिए गए दिशा-निर्देशों के कार्यान्वयन के विवरणों को तैयार करेगी।
यदि आपकी उपयोगकर्ता कहानियां अच्छी तरह से नहीं लिखी गई हैं, या यदि टीम में कौशल नहीं है, या उनके चुस्त ढांचे के लिए आवश्यक पर्याप्त विश्लेषण करने के लिए परिपक्वता की प्रक्रिया नहीं है, तो यह स्पष्ट रूप से बहुत कठिन होगा जितना कि यह होना चाहिए। संपूर्ण पुस्तकें इस विषय पर लिखी गई हैं कि किस तरह से ग्रैन्युलैरिटी के स्तर पर अच्छी उपयोगकर्ता कहानियां बनाई जाएं; दुर्भाग्य से कोई चांदी की गोली नहीं है, लेकिन यह चुस्त टीमों के लिए एक सीखने योग्य कौशल है।
टेस्ट-चालित और व्यवहार-प्रेरित डिजाइन
यह सुनिश्चित करने का सबसे अच्छा तरीका है कि विश्लेषण ध्वनि है, और यह कि कार्यान्वयन साद और समर्थन दोनों है जो टीडीडी और बीडीएस प्रथाओं के उपयोग के माध्यम से है। उदाहरण के लिए, ऊपर दी गई कहानी को देखते हुए, टीम को इस तरह के रूप में कलाकृतियों के माध्यम से नियोजित कार्यान्वयन पर कब्जा करना चाहिए:
खीरे में परीक्षण योग्य परिदृश्य होते हैं।
यह स्वीकृति परीक्षणों के विकास को चलाने के लिए, और अनुप्रयोग व्यवहार की उपयोगकर्ता की अपेक्षाओं के दस्तावेजीकरण के लिए सबसे उपयोगी है। उदाहरण के लिए, उपयोगकर्ता की कहानी में एक या एक से अधिक संबंधित ककड़ी विशेषताएं होनी चाहिए, जो बताती है कि उपयोगकर्ता एक खोज कार्ड के साथ कैसे जांच कर सकता है, और यह प्रक्रिया उपयोगकर्ता के लिए कैसा दिखता है।
RSpec परीक्षण जो नए कोड सुविधाओं के व्यवहार (आंतरिक कार्यान्वयन विवरण नहीं) को मान्य करता है।
यह आवेदन के भीतर फीचर के इच्छित व्यवहार को दस्तावेज और मान्य करने के लिए सबसे उपयोगी है। उदाहरण के लिए, उपयोगकर्ता कहानी यूनिट के निर्माण और एकीकरण परीक्षणों को चलाएगी जो यह सुनिश्चित करती है कि एक खोज कार्ड का उपयोग करके कार्ड-विशिष्ट व्यवहार के लिए जो भी एप्लिकेशन को भुगतान गेटवे के माध्यम से बिक्री को अधिकृत करने की आवश्यकता होती है।
विशिष्ट उपकरण मायने नहीं रखते। यदि आप ककड़ी या RSpec पसंद नहीं करते हैं, तो आपकी टीम के लिए जो भी उपकरण या कार्यप्रणाली सबसे अच्छा काम करती हैं, उनका उपयोग करें। हालाँकि, मुद्दा यह है कि कार्यान्वयन विवरण उपयोगकर्ता कहानी पर आधारित हैं , लेकिन इसके द्वारा निर्धारित नहीं हैं । इसके बजाय, कार्यान्वयन (या विनिर्देशों, यदि आप पसंद करते हैं) एक सहयोगी फैशन में सुविधा के विकास के दौरान किए जाने वाले विवरण हैं।