चुस्त तरीकों का उपयोग करते समय अच्छा डिज़ाइन कैसे प्राप्त करें?


15

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

दूसरी ओर, मुझे दो खुली समस्याएं हैं, जिनमें से सबसे पहले मैं इस प्रश्न में समझाने की कोशिश करूंगा।

समस्या: एक अच्छा डिज़ाइन प्राप्त करने में कठिनाई

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

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

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

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

EDIT - नोट

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

उदाहरण के लिए, मुझे अच्छे डिज़ाइन के बारे में परवाह नहीं है (अगर मुझे कोई सरल घटक लागू करना है) जो कि (१) जल्द से जल्द तैयार होना चाहिए, (२) केवल एक बार उपयोग होने वाला है, (३) नहीं है सिस्टम के अन्य भागों (YAGNI) द्वारा उपयोग किया जाता है।

मैं अच्छे डिजाइन की परवाह करता हूं जब एक घटक (1) का उपयोग कई बार किया जाएगा और उत्पाद के कई अलग-अलग रिलीज में किया जाएगा, (2) समय के साथ बनाए रखा और बढ़ाया जाना चाहिए, (3) इसके आधार पर बहुत सारे अन्य घटक हैं ।


5
The only well-designed module I could produce recently I obtained by taking a different approach-- आपने अपने प्रश्न का उत्तर खुद ही दे दिया। आपको अभी भी कुछ अप-फ्रंट डिज़ाइन की आवश्यकता है; आप एक अच्छी डिजाइन की उम्मीद नहीं कर सकते हैं बस refactoring से व्यवस्थित रूप से विकसित करने के लिए। यह उस तरह से काम नहीं करता है।
रॉबर्ट हार्वे

1
नहीं, क्योंकि शायद मैं SCRUM को सही ढंग से लागू नहीं कर रहा हूं।
जियोर्जियो

3
"SCRUM" जैसी कोई चीज़ सही नहीं है। केवल वही प्रक्रिया है जो वांछित परिणाम उत्पन्न करती है।
रॉबर्ट हार्वे

1
यही कारण है कि उन्हें "दिशानिर्देश" कहा जाता है :) वैसे भी, हर दिन प्रतिबद्ध, कम (1 सप्ताह से 1 महीने) स्प्रिंट हैं, इस तरह के नियम डिजाइन करने के लिए बिल्कुल नहीं बोलते हैं। आप अभी भी डिजाइन होगा।
रॉबर्ट हार्वे

जवाबों:


13

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

फिर ऐसा मत करो।

नहीं सब कुछ अच्छा चुस्त बॉक्स में फिट बैठता है। अक्सर कई बार कुछ उत्पादों में कुछ जटिल चीजें होती हैं जिन्हें व्यक्तियों को नहीं दिया जा सकता है और स्प्रिंट के भीतर किसी भी तरीके से पूरा नहीं किया जा सकता है। जबरदस्ती उन्हें उस बॉक्स में केवल मुसीबत का कारण होगा। लेकिन ये कम और दूर के बीच होना चाहिए। यदि आप पाते हैं कि आपके कई घटक इस तरह हैं, तो आपके उत्पाद के मालिक को चीजों को बेहतर तरीके से (आपकी टीम के साथ) तोड़ने की जरूरत है। मैं ठीक हूं कि आपने क्या किया: कहानी ले लो, इसे डिजाइन करो, फिर एएसएपी को इस उम्मीद के साथ बाहर निकालो कि कुछ सप्ताह लगेंगे।

अधिक सामान्य मामले में, 3 चीजें हैं जो मैंने एजाइल में अच्छे डिजाइन प्राप्त करने के लिए की हैं:

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

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

  • एक व्यावहारिक बनें - मैंने इसे ऊपर कवर किया है। चंचल एक उपकरण है, और किसी भी उपकरण की तरह; यह सभी समस्याओं पर लागू नहीं होता है। अगर यह कुछ घटक पर लागू करने के लिए समझ में नहीं आता है, तो इसे वहां लागू न करें। आपका लक्ष्य अच्छे सॉफ़्टवेयर को शिप करना है; इसे मत भूलना।


3
+1 (+10 यदि मेरे पास एक से अधिक वोट थे!) तो "उन्हें उस बॉक्स में मजबूर करने से केवल परेशानी होगी।"
गियोर्जियो

17

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

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


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

2
वास्तव में आपको तकनीकी ऋण कहानी को जोड़ना चाहिए और चर्चा करनी चाहिए कि वास्तव में उत्पाद स्वामी के साथ इस पर क्या कार्य करना है, इसका मतलब तकनीकी ऋण से है

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

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

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

6

"अच्छी तरह से डिजाइन" व्यक्तिपरक है

आपके लिए "अच्छी तरह से डिजाइन" का क्या अर्थ है? उत्पाद स्वामी के लिए ग्राहक के लिए?

क्या उत्पाद स्वामी का एक लक्ष्य "अच्छी तरह से डिज़ाइन किया गया " है? ग्राहक का एक लक्ष्य? या सिर्फ तुम?

क्या आप अभी भी उत्पाद मालिकों की अपेक्षाओं को पूरा करने और ग्राहक को खुश करने के लिए "अच्छी तरह से डिज़ाइन नहीं" पर विचार कर रहे हैं? फिर वह सुंदर "अच्छी तरह से डिज़ाइन किया गया" है

अच्छा पर्याप्त और YAGNI

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

यह उम्मीद की जाती है कि डेवलपर्स पेशेवर हैं और सुविधाओं और कहानियों को लागू करने के लिए व्यावहारिक रूप से सर्वोत्तम प्रथाओं, उपयुक्त डिजाइनों और मुहावरों का उपयोग करेंगे ।

यदि आप चीजों को सही ढंग से करने के लिए समय में फैक्टरिंग नहीं कर रहे हैं जो कि एक डेवलपर समस्या है, अगर प्रोडक्ट ओनर कम समय में ऐसी चीजों की मांग कर रहा है जो कि ये किया जा सकता है, तो ऐसा करना उनकी प्राथमिकता है, और उन्हें इसके बारे में शिक्षित करने की आपकी जिम्मेदारी तकनीकी ऋण कहानियों के रूप में परिणाम ।

जमघट

एजाइल मेथडोलॉजी जिसे लिखा जा सकता है, वह एजाइल मेथोडोलॉजी नहीं है। "- जर्रॉड रॉबर्सन

सॉफ्टवेयर उत्पाद के कुल जीवनचक्र को प्रबंधित करने के लिए SCRUM को उपकरणों का एक ढांचा माना जाता है। यह चीजों का एक कठोर सेट माना जाता है, बस शुरू करने के लिए एक अच्छी जगह है और उम्मीद है कि इसमें सुधार होगा।

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

कहानियां जो 20 से बड़ी हैं, आमतौर पर टूट जाती हैं जब तक कि वे वास्तव में कुछ 3 - 5 अंक की कहानियां नहीं होती हैं। इन कहानियों में से एक है, "एक टीम के रूप में हमें यह चर्चा करने के लिए मिलने की जरूरत है कि हम इस सुविधा को कैसे डिजाइन करने जा रहे हैं, ताकि हमारे पास आवंटित समय को देखते हुए जितना संभव हो उतना कम तकनीकी ऋण होगा।"

आम तौर पर

सामान्य रूप से एक "अच्छी तरह से डिज़ाइन किया गया" सिस्टम, अच्छा पर्याप्त है और YAGNI का अनुसरण करता है।

चंचल, और चंचल के एक कार्यान्वयन के रूप में विशेष रूप से जमघट के बारे में अधिक कैसे उत्पाद मालिक / प्रायोजक के रूप में पारदर्शी रूप से संभव के रूप में एक उत्पाद का निर्माण करने के लिए।

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


2
उत्पाद स्वामी का एक लक्ष्य "अच्छी तरह से डिज़ाइन किया गया" है: प्रत्यक्ष लक्ष्य नहीं। अप्रत्यक्ष रूप से, हाँ: अच्छी तरह से डिज़ाइन किया गया मतलब डीबग करना और बनाए रखना आसान है। मुझे कई बार गन्दे, बुरी तरह से डिज़ाइन किए गए कोड में महत्वपूर्ण बग्स (जो कि दुर्घटनाग्रस्त हो गए) को खोजने में सप्ताह बिताने पड़े।
जियोर्जियो

3
क्या निराशाजनक जवाब है। यह मूल रूप से एक ग्रे गू की
रॉबर्ट हार्वे

@ जियोर्जियो जो एक लक्ष्य नहीं है, वह एक निहित अपेक्षा है।

@RobertHarvey मुझे पता है कि आपने बिग बॉल ऑफ मड वीडियो देखा है और पेपर पढ़ा है। यह वास्तविक जीवन है, विशेष रूप से SCRUM BBOM की एक पावती है और इसे प्रक्रिया के हिस्से के रूप में एन्ट्रापी को स्वीकार करके और इसे (तकनीकी पदार्पण) को प्रलेखित करने और इसे धीमा करने (रिफ़ैक्टरिंग) करने की कोशिश करके कार्यप्रणाली में ग्रहण करता है। हां, आपको कुल बीबीओएम / एन्ट्रॉपी से दूर से शुरू करना चाहिए, लेकिन वास्तविक जीवन में हमेशा ऐसा नहीं होता है।

1
ठीक है, लेकिन आप "निहित अपेक्षा" नहीं खा सकते हैं। वह सिर्फ हाथ से लहराता है। "यह अच्छी तरह से स्थापत्य होगा क्योंकि मैं एक पेशेवर हूं और मुझे पता है कि मैं क्या कर रहा हूं।" (मेरा सबसे अच्छा बिल मरे आवाज का उपयोग करके) हाँ, सही है।
राबर्ट हार्वे

3

हम कई महीनों से स्क्रैम के साथ काम कर रहे हैं, और मैं आपकी समस्या से संबंधित अपना अनुभव साझा करना चाहता हूं।

कुछ महीने पहले मुझे लागू करने के लिए एक बड़ा टुकड़ा दिया गया था। मेरे पास सभी विनिर्देश तैयार थे, इसलिए मुझे तदनुसार नई सुविधाओं को लागू करना पड़ा। यह कार्य लगभग 5-6 सप्ताह तक करना था (जैसा कि मैंने अनुमान लगाया था)। मैंने पहला हफ्ता केवल डिज़ाइन पर काम करने में बिताया। कार्य थोड़ा जटिल था: एक मुख्य वस्तु थी, जैसा कि मैंने कल्पना से निष्कर्ष निकाला था, 15 अलग-अलग राज्य थे, और यूआई को प्रत्येक राज्य के लिए अलग-अलग व्यवहार करना था।

मैंने पूरे वर्कफ़्लो, और DB संरचना और कक्षाओं को बाद में डिज़ाइन किया।

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

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


1
+1: बहुत दिलचस्प जवाब। चुस्त समर्थक आपको बताएंगे कि आपको अपनी 6 सप्ताह की कहानी को छोटी कहानियों में तोड़ देना चाहिए था। मुझे एक बार इसी तरह की सलाह दी गई थी और मैंने जवाब दिया था कि मेरी छह 1-सप्ताह की कहानियों में एक-दूसरे के बीच बहुत सारी निर्भरताएँ होंगी: क्योंकि अगर मैं अपनी कार्य योजना बदल देता हूं, तो भी मैं समस्या डोमेन को बदल नहीं सकता। मुझे इस पर कोई जवाब नहीं मिला: चुस्त अक्सर यह मानता है कि आप छोटी, स्वतंत्र कहानियों पर अपना काम तोड़ सकते हैं, लेकिन वास्तविक दुनिया में ऐसा हमेशा नहीं होता है।
जियोर्जियो

1

हिंद-दृष्टि 20-20 है। यदि आपके पास इस परियोजना की शुरुआत में आपके पास पूरी जानकारी का पता लगाने और फिर कुछ हफ्तों में कोड लिखने की जानकारी थी, तो मेरा सुझाव है कि आप इसे करें।

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

सफल जल-पतन परियोजनाओं के इतिहास के साथ कोई भी क्यों, एक चुस्त कार्यप्रणाली पर स्विच करेगा?


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

0

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


क्या डिजाइन यूजर स्टोरी शेड्यूल करना एक अच्छा अभ्यास है ?
जियोर्जियो

@ जियोर्जियो: यह शायद अनावश्यक है लेकिन उत्पाद के मालिक को कम से कम अपनी टीम को परियोजना शुरू होने से पहले परियोजना की ग्राहक की अपेक्षाओं का अवलोकन करना चाहिए, और यह बता दिया कि यह कैसे टूट गया।
जेम्स

1
यदि किसी को नीचा दिखाया गया है तो कृपया कारण बताएं
जेम्स

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