AWS आर्किटेक्चरल निर्णय नोंद प्रक्रिया
आर्किटेक्चरल निर्णय नोंद (ADR) हा एक दस्तऐवज आहे जो संघ बांधण्याची योजना करत असलेल्या सॉफ्टवेअर आर्किटेक्चरच्या एखाद्या महत्त्वपूर्ण पैलूबद्दल संघाने केलेली निवड वर्णन करतो. प्रत्येक ADR आर्किटेक्चरल निर्णय, त्याचा संदर्भ आणि त्याचे परिणाम वर्णन करतो. ADR च्या स्थिती असतात आणि म्हणून ते जीवनचक्र पाळतात. ADR च्या उदाहरणासाठी, परिशिष्ट पहा.
ADR प्रक्रियेतून आर्किटेक्चरल निर्णय नोंदींचा संग्रह तयार होतो. हा संग्रह निर्णय नोंदवही तयार करतो. निर्णय नोंदवही प्रकल्प संदर्भ तसेच तपशीलवार अंमलबजावणी आणि डिझाइन माहिती पुरवते. प्रकल्प सदस्य प्रकल्प संदर्भाचे विहंगावलोकन मिळवण्यासाठी प्रत्येक ADR च्या मथळ्यांवर नजर टाकतात. प्रकल्पाची अंमलबजावणी आणि डिझाइन निवडींमध्ये खोलवर जाण्यासाठी ते ADR वाचतात.
जेव्हा संघ ADR स्वीकारतो, तेव्हा तो अपरिवर्तनीय होतो. नवीन अंतर्दृष्टीमुळे वेगळा निर्णय आवश्यक असल्यास, संघ नवीन ADR प्रस्तावित करतो. जेव्हा संघ नवीन ADR स्वीकारतो, तेव्हा तो आधीच्या ADR ची जागा घेतो.
ADR प्रक्रियेची व्याप्ती
सॉफ्टवेअर प्रकल्प किंवा उत्पादनावर परिणाम करणाऱ्या प्रत्येक आर्किटेक्चरदृष्ट्या महत्त्वाच्या निर्णयासाठी प्रकल्प सदस्यांनी ADR तयार केला पाहिजे, ज्यात पुढील गोष्टींचा समावेश आहे (Richards and Ford 2020):
रचना (उदाहरणार्थ, microservices सारखे पॅटर्न)
अकार्यात्मक आवश्यकता (सुरक्षा, उच्च उपलब्धता आणि दोष सहनशीलता)
अवलंबित्वे (घटकांचे जोडणे)
इंटरफेस (API आणि प्रकाशित करार)
बांधणी तंत्रे (लायब्ररी, फ्रेमवर्क, साधने आणि प्रक्रिया)
कार्यात्मक आणि अकार्यात्मक आवश्यकता हे ADR प्रक्रियेचे सर्वात सामान्य इनपुट आहेत.
ADR ची सामग्री
जेव्हा संघाला ADR ची गरज ओळखता येते, तेव्हा संघातील एक सदस्य प्रकल्पव्यापी साच्यावर आधारित ADR लिहायला सुरुवात करतो. (उदाहरण साच्यांसाठी ADR GitHub संस्था पहा.) साचा ADR निर्मिती सोपी करतो आणि ADR मध्ये सर्व संबंधित माहिती नोंदवली जाईल याची खात्री करतो. किमान, प्रत्येक ADR ने निर्णयाचा संदर्भ, निर्णय स्वतः आणि प्रकल्प व त्याच्या वितरणीय बाबींसाठी निर्णयाचे परिणाम परिभाषित केले पाहिजेत. (या विभागांच्या उदाहरणांसाठी, परिशिष्ट पहा.) ADR रचनेचा एक सर्वात शक्तिशाली पैलू म्हणजे तो संघाने निर्णयाची अंमलबजावणी कशी केली यापेक्षा निर्णयाच्या कारणावर लक्ष केंद्रित करतो. संघाने निर्णय का घेतला हे समजल्यामुळे इतर संघ सदस्यांना तो निर्णय स्वीकारणे सोपे जाते, आणि निर्णय प्रक्रियेत सहभागी नसलेल्या इतर आर्किटेक्ट्सना भविष्यात तो निर्णय उलटवण्यापासून रोखता येते.
ADR स्वीकृती प्रक्रिया
प्रत्येक संघ सदस्य ADR तयार करू शकतो, पण संघाने ADR च्या मालकीची व्याख्या ठरवली पाहिजे. ADR चा मालक असलेल्या प्रत्येक लेखकाने ADR ची सामग्री सक्रियपणे सांभाळली पाहिजे आणि कळवली पाहिजे. ही मालकी स्पष्ट करण्यासाठी, हे मार्गदर्शक पुढील विभागांमध्ये ADR लेखकांना ADR मालक म्हणतो. इतर संघ सदस्य नेहमी ADR मध्ये योगदान देऊ शकतात. संघाने ADR स्वीकारण्यापूर्वी ADR ची सामग्री बदलल्यास, मालकाने हे बदल मंजूर केले पाहिजेत.
संघाने आर्किटेक्चरल निर्णय आणि त्याचा मालक ओळखल्यानंतर, ADR मालक प्रक्रियेच्या सुरुवातीला ADR प्रस्तावित स्थितीत देतो. प्रस्तावित स्थितीतील ADR पुनरावलोकनासाठी तयार असतात.
त्यानंतर ADR मालक ADR साठी पुनरावलोकन प्रक्रिया सुरू करतो. ADR पुनरावलोकन प्रक्रियेचे उद्दिष्ट हे ठरवणे आहे की संघ ADR स्वीकारतो, त्यावर पुन्हा काम करणे आवश्यक असल्याचे ठरवतो, की ADR नाकारतो. मालकासह प्रकल्प संघ ADR चे पुनरावलोकन करतो. पुनरावलोकन बैठक ADR वाचण्यासाठी राखीव वेळेने सुरू झाली पाहिजे. सरासरी १० ते १५ मिनिटे पुरेशी असावीत. या वेळेत, प्रत्येक संघ सदस्य दस्तऐवज वाचतो आणि अस्पष्ट विषय चिन्हांकित करण्यासाठी टिप्पण्या आणि प्रश्न जोडतो. पुनरावलोकन टप्प्यानंतर, ADR मालक प्रत्येक टिप्पणी संघासमोर वाचतो आणि त्यावर चर्चा करतो.
संघाला ADR सुधारण्यासाठी कृती मुद्दे आढळल्यास, ADR ची स्थिती प्रस्तावित राहते. ADR मालक कृती तयार करतो आणि संघासोबत सहकार्याने प्रत्येक कृतीला जबाबदार व्यक्ती जोडतो. प्रत्येक संघ सदस्य कृती मुद्द्यांमध्ये योगदान देऊ शकतो आणि ते सोडवू शकतो. पुनरावलोकन प्रक्रियेचे पुन्हा वेळापत्रक ठरवणे ही ADR मालकाची जबाबदारी आहे.
संघ ADR नाकारण्याचाही निर्णय घेऊ शकतो. या बाबतीत, ADR मालक त्याच विषयावर भविष्यातील चर्चा टाळण्यासाठी नाकारण्याचे कारण जोडतो. मालक ADR ची स्थिती नाकारले अशी बदलतो.
संघाने ADR मंजूर केल्यास, मालक टाइमस्टॅम्प, आवृत्ती आणि भागधारकांची यादी जोडतो. त्यानंतर मालक स्थिती स्वीकारले अशी अद्ययावत करतो.
ADR आणि ते तयार करत असलेली निर्णय नोंदवही संघाने घेतलेले निर्णय दर्शवतात आणि सर्व निर्णयांचा इतिहास पुरवतात. शक्य असेल तिथे संघ कोड आणि आर्किटेक्चरल पुनरावलोकनांदरम्यान ADR चा संदर्भ म्हणून वापर करतो. कोड पुनरावलोकने, डिझाइन कामे आणि अंमलबजावणी कामे करण्याव्यतिरिक्त, संघ सदस्यांनी उत्पादनाच्या धोरणात्मक निर्णयांसाठी ADR पाहिले पाहिजेत.
चांगली प्रथा म्हणून, प्रत्येक सॉफ्टवेअर बदल समवयस्क पुनरावलोकनातून गेला पाहिजे आणि त्याला किमान एक मंजुरी आवश्यक असावी. कोड पुनरावलोकनादरम्यान, कोड पुनरावलोकनकर्त्याला एक किंवा अधिक ADR चा भंग करणारे बदल आढळू शकतात. या बाबतीत, पुनरावलोकनकर्ता कोड बदलाच्या लेखकाला कोड अद्ययावत करायला सांगतो आणि ADR चा दुवा सामायिक करतो. लेखकाने कोड अद्ययावत केल्यावर, तो समवयस्क पुनरावलोकनकर्त्यांकडून मंजूर केला जातो आणि मुख्य कोड बेसमध्ये विलीन केला जातो.
ADR पुनरावलोकन प्रक्रिया
संघाने ADR स्वीकारल्यानंतर किंवा नाकारल्यानंतर त्यांना अपरिवर्तनीय दस्तऐवज मानले पाहिजे. विद्यमान ADR मध्ये बदल करण्यासाठी नवीन ADR तयार करणे, नवीन ADR साठी पुनरावलोकन प्रक्रिया स्थापन करणे आणि ADR मंजूर करणे आवश्यक आहे. संघाने नवीन ADR मंजूर केल्यास, मालकाने जुन्या ADR ची स्थिती बदलले गेले अशी बदलली पाहिजे.