Architecture Decision Record

Active theme: Light

← निर्णय रिकॉर्ड टेम्पलेट

Jeff Tyree और Art Akerman द्वारा निर्णय रिकॉर्ड टेम्पलेट

यह वह आर्किटेक्चर निर्णय विवरण टेम्पलेट है जो "Architecture Decisions: Demystifying Architecture" by Jeff Tyree and Art Akerman, Capital One Financial में प्रकाशित हुआ।

  • मुद्दा (Issue): उस आर्किटेक्चर डिज़ाइन मुद्दे का वर्णन करें जिसे आप संबोधित कर रहे हैं, और इस बारे में कोई प्रश्न न छोड़ें कि आप इस मुद्दे को अभी क्यों संबोधित कर रहे हैं। न्यूनतमवादी दृष्टिकोण अपनाते हुए, जीवन-चक्र के विभिन्न बिंदुओं पर केवल उन्हीं मुद्दों को संबोधित और दर्ज करें जिन्हें संबोधित करने की आवश्यकता है।

  • निर्णय (Decision): आर्किटेक्चर की दिशा स्पष्ट रूप से बताएँ, यानी वह रुख जो आपने चुना है।

  • अवस्था (Status): निर्णय की अवस्था, जैसे लंबित, तय, या अनुमोदित।

  • समूह (Group): निर्णयों के समूह को व्यवस्थित करने के लिए आप एक सरल समूहीकरण का उपयोग कर सकते हैं, जैसे एकीकरण, प्रस्तुति, डेटा आदि। आप John Kyaruzi और Jan van Katwijk जैसी अधिक परिष्कृत आर्किटेक्चर ऑन्टोलॉजी का भी उपयोग कर सकते हैं, जिसमें इवेंट, कैलेंडर और स्थान जैसी अधिक अमूर्त श्रेणियाँ शामिल हैं। उदाहरण के लिए, इस ऑन्टोलॉजी का उपयोग करते हुए, आप उन घटनाओं से संबंधित निर्णयों को, जहाँ सिस्टम को जानकारी की आवश्यकता होती है, इवेंट के अंतर्गत समूहित करेंगे।

  • मान्यताएँ (Assumptions): उस परिवेश की अंतर्निहित मान्यताओं का स्पष्ट वर्णन करें जिसमें आप निर्णय ले रहे हैं: लागत, समय-सारणी, तकनीक आदि। ध्यान दें कि परिवेश की बाधाएँ (जैसे स्वीकृत तकनीकी मानक, उद्यम आर्किटेक्चर, आमतौर पर अपनाए जाने वाले पैटर्न आदि) आपके विचार किए जाने वाले विकल्पों को सीमित कर सकती हैं।

  • बाधाएँ (Constraints): परिवेश पर चुने गए विकल्प (निर्णय) द्वारा डाली जा सकने वाली किसी भी अतिरिक्त बाधा को दर्ज करें।

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

  • तर्क (Argument): बताएँ कि आपने कोई रुख क्यों चुना, जिसमें क्रियान्वयन लागत, कुल स्वामित्व लागत, बाज़ार में आने का समय, और आवश्यक विकास संसाधनों की उपलब्धता जैसी बातें शामिल हों। यह संभवतः स्वयं निर्णय जितना ही महत्वपूर्ण है।

  • निहितार्थ (Implications): REMAP मेटामॉडल के अनुसार, एक निर्णय के साथ कई निहितार्थ आते हैं। उदाहरण के लिए, कोई निर्णय अन्य निर्णय लेने की आवश्यकता पैदा कर सकता है, नई आवश्यकताएँ बना सकता है या मौजूदा आवश्यकताएँ बदल सकता है; परिवेश पर अतिरिक्त बाधाएँ डाल सकता है; ग्राहकों के साथ दायरे या समय-सारणी पर दोबारा बातचीत करने की माँग कर सकता है; या अतिरिक्त कर्मचारी प्रशिक्षण की माँग कर सकता है। अपने निर्णय के निहितार्थों को स्पष्ट रूप से समझना और बताना सहमति पाने और आर्किटेक्चर क्रियान्वयन का रोडमैप बनाने में बहुत प्रभावी हो सकता है।

  • संबंधित निर्णय (Related decisions): यह स्पष्ट है कि कई निर्णय आपस में संबंधित होते हैं; आप उन्हें यहाँ सूचीबद्ध कर सकते हैं। फिर भी, हमने व्यवहार में पाया है कि ट्रेसेबिलिटी मैट्रिक्स, निर्णय वृक्ष या मेटामॉडल अधिक उपयोगी होते हैं। मेटामॉडल जटिल संबंधों को आरेख के रूप में दिखाने के लिए उपयोगी हैं (जैसे Rose मॉडल)।

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

  • संबंधित कलाकृतियाँ (Related artifacts): उन संबंधित आर्किटेक्चर, डिज़ाइन या दायरे के दस्तावेज़ों की सूची दें जिन्हें यह निर्णय प्रभावित करता है।

  • संबंधित सिद्धांत (Related principles): यदि उद्यम के पास सिद्धांतों का कोई सर्वसम्मत समूह है, तो सुनिश्चित करें कि निर्णय उनमें से एक या अधिक के अनुरूप है। इससे क्षेत्रों या प्रणालियों में संरेखण सुनिश्चित करने में मदद मिलती है।

  • टिप्पणियाँ (Notes): चूँकि निर्णय लेने की प्रक्रिया में सप्ताह लग सकते हैं, हमने पाया है कि सामाजिकीकरण प्रक्रिया के दौरान टीम द्वारा चर्चा की गई टिप्पणियों और मुद्दों को दर्ज करना उपयोगी है।