Agile को अक्सर "केवल वही करना है जो आपको करने की ज़रूरत है, और अगर आप और चीजों की आवश्यकता हो तो आप बाद में प्रतिक्रिया कर सकते हैं"।
यह बदतर है। इसे "जल्दी से कुछ बोझ" के रूप में पढ़ा जा सकता है, और फिर भविष्य में और चीजों को करने के लिए इसे अपग्रेड करने का तरीका बताएं "। जो दर्द और तकनीकी ऋण की दुनिया का नेतृत्व करेगा।
किसी भी सिस्टम के लिए आपको एक डिज़ाइन की आवश्यकता है। छोटे/सरल प्रणालियों के लिए यह डिज़ाइन आपके सिर में हो सकता है, लेकिन सिस्टम के बारे में शुरू करने से पहले आपको अभी भी सोचना होगा, और यह कैसे करना है।
तो आईएमएचओ एक एग्इल दृष्टिकोण में डिज़ाइन को शामिल करने का सही तरीका है अब यह डिजाइन करना है कि आप जानते हैं कि सिस्टम को अंततः क्या करने की उम्मीद है, और व्यापक स्ट्रोक यह बताते हैं कि यह कैसे करेगा। एक लचीला पर्याप्त डिजाइन के साथ आओ कि आप किसी भी पुल जला नहीं है। लेकिन हर अखरोट और बोल्ट के लिए औपचारिक विस्तृत विनिर्देश लिखने में समय बर्बाद न करें। एक स्तर पर डिज़ाइन करें जहां आप जानते हैं कि एक उपप्रणाली कहां और कैसे फिट होगी, लेकिन इसे "ब्लैक बॉक्स" के रूप में माना जा सकता है, जिसे स्वयं ही कार्यान्वित करने की आवश्यकता होने पर ही डिज़ाइन किया जा सकता है।
Agile विकास को औपचारिक वास्तुकला को बाहर नहीं करना चाहिए - इसका मतलब यह है कि आपको केवल औपचारिक वास्तुकला को पर्याप्त रूप से डिजाइन करना चाहिए कि जब आप समाप्त हो जाते हैं तो सभी बिट्स अच्छी तरह से फिट हो जाएंगे, और आप उस डिज़ाइन के छोटे विवरण निकाल देंगे केवल वैसे ही जब उनकी आवश्यकता होती है। कभी-कभी इसका मतलब है कि आपको अभी भी काफी विस्तृत डिजाइन की आवश्यकता है।
स्रोत
2009-12-12 07:19:02
ऊपर दिए गए गुणवत्ता के उत्तर के अतिरिक्त: अपनी डिज़ाइन को आवश्यकताओं की परिभाषा बनाएं क्योंकि उपयोगकर्ता उन्हें देखेगा। यह उपयोगकर्ता पर ध्यान केंद्रित करते समय डोमेन मॉडल पर विचार करता है और अंत में उपयोगकर्ता इंटरफ़ेस (जो कि किसी भी सॉफ्टवेयर प्रोजेक्ट में सर्वोपरि होना चाहिए)। –