प्लेबुक
निर्णय प्रणाली जो परियोजना अराजकता को समाप्त करती है: वास्तुकला निर्णय रिकॉर्ड (एडीआर) (Architecture Decision Record)
भूले हुए निर्णय परियोजनाओं को अराजकता में डाल देते हैं। वास्तुशिल्प निर्णयों को स्थायी बनाएं और एडीआर (आर्किटेक्चर डिसीजन रिकॉर्ड) के साथ अपने प्रोजेक्ट की मेमोरी बनाएं।
निर्णय प्रणाली जो परियोजना अराजकता को समाप्त करती है: आर्किटेक्चर निर्णय रिकॉर्ड (एडीआर)
आधुनिक सॉफ़्टवेयर परियोजनाओं में सबसे बड़ी समस्या अक्सर कोड की गुणवत्ता नहीं होती है। वास्तविक ख़तरा कहीं अधिक घातक जगह से आता है: भूले हुए निर्णय।
कॉर्पोरेट टीमों का विशाल बहुमत अभी भी वास्तुशिल्प निर्णयों का प्रबंधन करता है जो "हमने पिछली बैठक में इसके बारे में बात की थी" स्तर पर परियोजना के भाग्य का निर्धारण करते हैं। हालाँकि, जैसे-जैसे परियोजना बढ़ती है, टीम बदलती है और समय बीतता है, वे बैठकें फीकी पड़ जाती हैं।
ये कष्टप्रद प्रश्न बने हुए हैं:
- "हमने इस सिस्टम को माइक्रोसर्विस क्यों बनाया, इसका निर्णय किसने किया?"
- "हमने यह डेटाबेस क्यों चुना, क्या हमने विकल्पों पर ध्यान दिया?"
- "क्या हमने इस समस्या का पूर्वाभास किया था जिसका हम अभी सामना कर रहे हैं?"
यदि आपके पास इन प्रश्नों का स्पष्ट उत्तर या दिखाने के लिए कोई दस्तावेज़ नहीं है; इसका मतलब है कि आपका प्रोजेक्ट तकनीकी अराजकता में बह रहा है।
इस बिंदु पर, एडीआर (आर्किटेक्चर डिसीजन रिकॉर्ड) प्रणाली काम में आती है, जो परियोजना को लोगों पर निर्भर होने से बचाती है।
एडीआर क्या है? (दस्तावेज़ नहीं, वास्तुशिल्प स्मृति)
एडीआर एक ऐसी प्रणाली है जहां सॉफ्टवेयर परियोजनाओं में लिए गए महत्वपूर्ण निर्णय संक्षिप्त, स्पष्ट और स्थायी तरीके से दर्ज किए जाते हैं। लेकिन इसे उबाऊ तकनीकी दस्तावेज़ीकरण के साथ भ्रमित न करें।
प्रत्येक एडीआर एक लाइव रिकॉर्ड है जो 4 बुनियादी सवालों के जवाब देता है:
- हमने क्या निर्णय लिया?
- हमने इसे क्यों खरीदा? (संदर्भ क्या था?)
- विकल्प क्या थे? (हमने क्या हटाया?)
- ट्रेड-ऑफ़ क्या हैं? (इस निर्णय से हमें क्या लागत या जोखिम होता है?)
एडीआर आपके प्रोजेक्ट की "मेमोरी" है। कोड बदल सकता है, तकनीक बदल सकती है, यहां तक कि सीटीओ भी बदल सकता है; लेकिन एडीआर की बदौलत निर्णयों का तर्क परियोजना में बना रहता है।
कार्य और एडीआर के बीच महत्वपूर्ण अंतर
कई टीमें यह सोचने की गलती करती हैं कि जीरा टिकट या कार्य "निर्णय" हैं। हालाँकि, इनमें बहुत बड़ा अंतर है।* कार्य: वह कहता है, "ऐसा करो"। यह क्रिया उन्मुख है.
- एडीआर (निर्णय): "हम ऐसा क्यों कर रहे हैं?" कहते हैं. यह रणनीति उन्मुख है.
आइए एक सरल उदाहरण से समझाएँ:
- कार्य: "बास्केट समापन बिंदुओं में सुधार करें।" (यह कार्य समाप्त होता है और संग्रहीत किया जाता है।)
- एडीआर: "क्या कार्ट संरचना एक अलग सेवा होनी चाहिए या इसे मुख्य एप्लिकेशन के भीतर ही रहना चाहिए?" (यह निर्णय वर्षों तक परियोजना की वास्तुकला को प्रभावित करता है।)
कार्य समाप्त, एडीआर जीवित।
एडीआर कैसा दिखता है?
एडीआर लिखना कोई ऐसा काम नहीं है जिसमें कई दिन लग जाएं। बल्कि इसके लिए स्पष्टता की आवश्यकता है। यहां एक सरल और प्रभावी एडीआर टेम्पलेट है:
ADR-007: रेडिस कैश का उपयोग करना
स्थिति: स्वीकृत
संदर्भ: एपीआई प्रतिक्रिया समय बढ़ गया और डेटाबेस पर लोड बढ़ने लगा। पढ़ने के संचालन की संख्या लिखने के संचालन से कहीं अधिक है।
निर्णय: रेडिस कैश का उपयोग अक्सर पढ़े जाने वाले एंडपॉइंट पर किया जाएगा।
विकल्प: डेटाबेस इंडेक्स अनुकूलन या सीडीएन उपयोग पर विचार किया गया था लेकिन तत्काल डेटा की आवश्यकता के कारण इसे समाप्त कर दिया गया।
परिणाम:
- (+) रिस्पांस टाइम (विलंबता) कम हो जाएगा।
- (+) डेटाबेस लोड कम हो जाएगा।
- (-) कैश क्लियरिंग (अमान्यता) जटिलता जोड़ी जाएगी।
जैसा कि आप देख सकते हैं; इससे न केवल निर्णय, बल्कि उसके कारण और परिणाम भी स्पष्ट रूप से सामने आते हैं।
एडीआर सिर्फ एक "तकनीकी" विषय क्यों नहीं है?
एक प्रबंधक या प्रोजेक्ट स्वामी के रूप में, एडीआर का अनुरोध करना आपके प्रोजेक्ट की सुरक्षा कर रहा है। एडीआर प्रणाली प्रदान करती है:
- गति: प्रत्येक स्प्रिंट में समान वास्तुशिल्प चर्चाएँ दोहराई नहीं जाती हैं। निर्णय हो चुका है, यात्रा जारी है.
- ऑनबोर्डिंग में आसानी: एक नया आने वाला डेवलपर पूछ सकता है, "क्यों?" "" पूछने के बजाय, वह एडीआर लॉग पढ़कर परियोजना के पूरे इतिहास को समझता है।* तकनीकी ऋण प्रबंधन: आप अनजाने में नहीं, बल्कि जोखिम स्वीकार करके आगे बढ़ते हैं।
मैं अपनी सेवाओं में एडीआर कैसे लागू करूं?
मेरे परियोजना प्रबंधन और तकनीकी परामर्श कार्य में, एडीआर लेखन एक "घर का काम" नहीं बल्कि एक वितरण अनुशासन है।
जब मैं किसी प्रोजेक्ट में शामिल होता हूं, तो मैं आमतौर पर पहले 7 दिनों में निम्नलिखित को लागू करता हूं:
- एडीआर लॉग संरचना की स्थापना: हम यह निर्धारित करते हैं कि निर्णय कहाँ रखे जाएंगे (जीरा, गिट, नोशन, आदि)।
- महत्वपूर्ण निर्णयों को रिकॉर्ड करना: हम वर्तमान वास्तुकला का एक्स-रे लेते हैं और पूर्वव्यापी रूप से लिए गए महत्वपूर्ण निर्णयों को स्पष्ट करते हैं।
- रोडमैप को आकार देना: हम इन वास्तुशिल्प निर्णयों के आधार पर डिलीवरी रोडमैप को प्राथमिकता देते हैं, न कि केवल सुविधाओं के आधार पर।
यह प्रबंधन और तकनीकी टीम के बीच पूर्ण पारदर्शिता सुनिश्चित करता है। "स्कोप ड्रिफ्ट" (स्कोप विस्तार) को रोका जाता है और परियोजना को सिस्टम को ही सौंपा जाता है, न कि व्यक्तियों की स्मृति को।
परिणाम
कोड बदल जाता है. बैठकें उड़ती रहती हैं। लेकिन निर्णय आपके प्रोजेक्ट की नींव बनाते हैं।
यदि आपको लगता है कि आपके प्रोजेक्ट में निर्णय हवा में तैर रहे हैं और उन्हीं मुद्दों पर बार-बार चर्चा हो रही है, तो आपको "निर्णय स्मृति" की आवश्यकता है।
इन निर्णयों के लिए "टेक्नोलॉजी स्टैक एंड आर्किटेक्चर" फ़ोल्डर सबसे स्वाभाविक जगह है।
आइए संगम संरचना का उपयोग करके इस प्रणाली को 5 चरणों में स्थापित करें:
चरण 1: "निर्णय लाइब्रेरी" बनाएं
आइए स्क्रीनशॉट में "टेक्नोलॉजी स्टैक एंड आर्किटेक्चर" फ़ोल्डर के अंतर्गत एक नया होम पेज खोलें।
- पेज का नाम: आर्किटेक्चर डिसीजन लॉग (एडीआर)
- उद्देश्य: यह पृष्ठ कोई अकेला निर्णय नहीं है; यह मुख्य तालिका है जहां सभी निर्णय सूचीबद्ध हैं (सूचकांक)। इस प्रकार, जब टीम का कोई नया सदस्य यहां क्लिक करता है, तो उन्हें प्रोजेक्ट का संपूर्ण इतिहास एक सूची में दिखाई देता है।#### चरण 2: एक वैश्विक टेम्पलेट तैयार करें किसी को भी हर बार नए सिरे से पेज बनाना पसंद नहीं है। कॉन्फ्लुएंस में, आपको केवल इस स्पेस के लिए एक "ग्लोबल टेम्प्लेट" या एक टेम्प्लेट बनाना चाहिए। टेम्प्लेट की सामग्री वैसी ही होनी चाहिए जैसी हमने पहले बात की थी:
- शीर्षक: एडीआर-XXX: [संक्षिप्त शीर्षक]
- स्थिति: (हम इसे चरण 3 में विस्तार से बताएंगे)
- सन्दर्भ: क्या बात है?
- निर्णय: हम क्या कर रहे हैं?
- परिणाम: लागत और लाभ।
चरण 3: विज़ुअल "स्थिति" मैक्रो का उपयोग करें
कॉन्फ्लुएंस की सबसे बड़ी ताकत स्टेटस मैक्रो फीचर है। इस मैक्रो को अपने टेम्पलेट के शीर्ष पर जोड़ें. रंग मस्तिष्क को कुछ ही सेकंड में स्थिति को समझने की अनुमति देते हैं। मानक रंग कोड हो सकते हैं:
- 🟢 स्वीकृत (हरा): निर्णय हो चुका है और लागू किया जा रहा है।
- 🟡 प्रस्तावित (पीला): चर्चा के लिए खुला, अभी तक स्वीकृत नहीं।
- 🔴 अस्वीकृत (लाल): यह सुझाव दिया गया था लेकिन स्वीकार नहीं किया गया (इसे छिपाना भी एक सबक है)।
- ⚪ अस्वीकृत (ग्रे): वैध हुआ करता था लेकिन अब इसे एक नए निर्णय (उदाहरण के लिए ADR-009) द्वारा प्रतिस्थापित कर दिया गया है।
चरण 4: पेज ट्री संपादित करें (पदानुक्रम)
आपके द्वारा बनाए गए प्रत्येक नए एडीआर पेज (उदाहरण के लिए एडीआर-001: रेडिस कैश) को आर्किटेक्चर डिसीजन लॉग पेज के चाइल्ड पेज के रूप में रखें, जिसे हमने पहले चरण में खोला था। ऐसा होगा नजारा:``` 📂 Teknoloji Yığını ve Mimarisi └── 📂 Architecture Decision Log (ADR) ├── 📄 ADR-001: Redis Cache Kullanımı ├── 📄 ADR-002: Auth Provider Seçimi └── 📄 ADR-003: ...
यह "जादुई" भाग है. 🪄एक-एक करके मैन्युअल रूप से सूचियाँ बनाने के बजाय, आइए कॉन्फ्लुएंस के स्वचालन का उपयोग करें।
प्रत्येक एडीआर पेज (टेम्पलेट) में "पेज प्रॉपर्टीज" मैक्रो जोड़ें और स्थिति, निर्णय तिथि, निर्णय निर्माताओं जैसी सारांश जानकारी डालें।
मुख्य पृष्ठ (आर्किटेक्चर डिसीजन लॉग) पर जाएं और "पेज प्रॉपर्टीज रिपोर्ट" मैक्रो जोड़ें।
यह मैक्रो उपपृष्ठों से उस सारांश जानकारी को खींचता है और मुख्य पृष्ठ पर एक स्वचालित, हमेशा अद्यतित तालिका बनाता है।
FAQ
Frequently asked questions
"परियोजना अराजकता को समाप्त करने वाली निर्णय प्रणाली: आर्किटेक्चर निर्णय रिकॉर्ड (एडीआर)" क्या कहती है?
भूले हुए निर्णय परियोजनाओं को अराजकता में डाल देते हैं। वास्तुशिल्प निर्णयों को स्थायी बनाएं और एडीआर (आर्किटेक्चर डिसीजन रिकॉर्ड) के साथ अपने प्रोजेक्ट की मेमोरी बनाएं।
मुख्य उपाय क्या है?
भूले हुए निर्णय परियोजनाओं को अराजकता में डाल देते हैं। वास्तुशिल्प निर्णयों को स्थायी बनाएं और एडीआर (आर्किटेक्चर डिसीजन रिकॉर्ड) के साथ अपने प्रोजेक्ट की मेमोरी बनाएं।
यह लेख किसके लिए है?
इंजीनियरों और तकनीकी नेताओं के लिए जो सॉफ्टवेयर आर्किटेक्चर, डिलीवरी और उत्पादन निर्णयों को लागू करते हैं।
जारी रखें पढ़ रहे हैं
जारी रखें पढ़ रहे हैं
संबंधित आलेख
हम हर स्प्रिंट पर बार-बार एक ही वास्तुकला संबंधी चर्चा क्यों कर रहे थे?
आर्किटेक्चर प्लेबुक श्रृंखला में पहला यह है कि कैसे वास्तुशिल्प ज्ञान का वाष्पीकरण, जनजातीय ज्ञान और निर्णय थियेटर सॉफ्टवेयर टीमों को धीमा कर रहे हैं...
संबंधित आलेख
स्प्रिंट निष्पादन मॉडल क्या है? डिलीवरी अनुशासन कैसे स्थापित करें?
स्प्रिंट निष्पादन मॉडल के बिना एक टीम स्प्रिंट नहीं करती है। यह बस 2 सप्ताह की समय सीमा चक्र में डूब जाता है। आप डिलीवरी ट्रस्ट कैसे बनाते हैं?
संबंधित आलेख
वॉलेट ब्रांड लैंडिंग बनाम वास्तविक विस्तार दायरा
बेयर वॉलेट ऐप ईमानदारी से एक मार्केटिंग एसपीए/डाउनलोड फ़नल है - यह क्रोम एमवी3 एक्सटेंशन नहीं है। सीआरए पीडब्ल्यूए मेनिफेस्ट को एक्सटेंशन आर्किटेक्चर…