2008-10-14 7 views
7

आप कैसे सुनिश्चित करते है कि परियोजना "अच्छा" डिजाइन फैसले एक लचीला सॉफ्टवेयर वास्तुकला को सक्षम करने के साथ निर्माण किया जाएगा?आप एक चुस्त परियोजना में आर्किटेक्चर को कैसे नियंत्रित करते हैं?

आप एक तरफ टीमों को आर्किटेक्चर को पूरी तरह से छोड़ने के बीच कैसे संतुलन करते हैं, और दूसरी तरफ सभी वास्तुकला नियंत्रण कुछ लोगों को नियंत्रित करते हैं?

क्या आपके पास "आर्किटेक्चर समूह", "आर्किटेक्चर लेबल" या ऐसी चीजें हैं?

उत्तर

5

Agile दृष्टिकोण के लिए एक शर्त एक वास्तुकला है जिसे आप पहले से ही जानते हैं कि इसका उपयोग कैसे किया जाए।

वास्तुकला नहीं अच्छी तरह से परिभाषित किया गया है और पूरी तरह से समझ में आ, तो आप वास्तव में एक चंचल दृष्टिकोण नहीं ले सकते।

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

एक बार जब आप इसे "आर्किटेक्चर को समझें" प्रयास से पहले हो जाते हैं, तो आप उन स्पिंट्स को निष्पादित करना शुरू कर सकते हैं जो सीधे उपयोगकर्ताओं के लिए रिलीज़ हो जाते हैं।

4

मैं समझा सकता हूं कि मैं इसे कैसे करूँगा, लेकिन this कहता है कि मैं इससे बेहतर कर सकता हूं।

0

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

1

मेरे अनुभव में, आप ऐसा करने का सबसे अच्छा तरीका उन परियोजनाओं पर काम कर रहे डेवलपर्स/आर्किटेक्ट्स हैं जो दिन-दर-दिन वास्तुकला दृष्टि को चलाते हैं।

मैं वास्तुकला को नियंत्रित करने के लिए परियोजना पर देव नेतृत्व के लिए सुझाव दूंगा और यह सुनिश्चित करने के लिए कि सभी नए काम इसके साथ फिट बैठें।

0

बड़ा डिजाइन सामने, वहां आमतौर पर प्रत्येक परियोजना के लिए लागू होने वाला एक मूल डिजाइन है कर के बिना। आमतौर पर, यह एप्लिकेशन के डिजाइन में सम्मान करने के लिए मूल परतों को परिभाषित करता है। अधिकांश डेवलपर निर्णय प्रत्येक डेवलपर द्वारा किए जाते हैं।

हमारे विकास की प्रक्रिया लगातार सहकर्मी की समीक्षा के साथ कम विकास फटने पर आधारित है। प्रत्येक डेवलपर के आर्किटेक्चर निर्णय की गुणवत्ता सहकर्मी-समीक्षा समय पर मान्य होती है। इसमें यह भी शामिल है कि कोड उत्पाद आर्किटेक्चर का पालन करता है।

प्रोजेक्ट के प्रकार और उपलब्ध उपकरण के आधार पर, हम परत-केक की अखंडता को स्वचालित रूप से सत्यापित करने के लिए macker जैसे टूल का भी उपयोग करते हैं।

2

मैं पढ़ने वाले फाउलर दस्तावेज़ Is Design Dead पढ़ने की भी सिफारिश करता हूं, जहां तक ​​मैं अपने तर्कों को समझता हूं यदि आप पूरी तरह से सभी चुस्त प्रथाओं पर विचार करते हैं तो आप बड़े बदलाव करने की स्वतंत्रता प्राप्त करते हैं और इसलिए एक वास्तुकला विकसित कर सकते हैं।

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

इसके अतिरिक्त, मुझे लगता है कि आपके पास प्रोजेक्ट में एक हितधारक के रूप में एक वास्तुकार है, वे उपयोगकर्ता कहानियों का योगदान करते हैं जो बदले में वास्तुकार को वापस लाए जाते हैं।

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

मुझे लगता है कि XP ​​आर्किटेक्ट (और आर्किटेक्चर) की भूमिका को कम नहीं करता है, यह सिर्फ परियोजना के जीवनकाल में लागत को वितरित करने और फैलाने के लिए सभी टीम के सदस्यों पर प्रतिस्थापन रखता है।

[संपादित करें]

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

संबंधित मुद्दे

 संबंधित मुद्दे