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