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