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