छह महीने पहले, मैंने Nexural के लिए Firebase के बजाय Supabase चुना। मेरे पास अच्छे कारण थे — PostgreSQL, row-level security, self-hostable। लेकिन मैं लगभग वे कारण भूल गया। एकमात्र चीज़ जिसने मुझे उसी निर्णय का पुनर्मूल्यांकन करने (और एक सप्ताह बर्बाद करने) से बचाया, वह एक markdown फ़ाइल थी जो मैंने 15 मिनट में लिखी थी।
समस्या
हर इंजीनियरिंग टीम की यह बातचीत होती है:
"हम RabbitMQ के बजाय Kafka का उपयोग क्यों करते हैं?" "मुझे लगता है Dave ने इसे चुना था। Dave 8 महीने पहले चला गया।" "..." "क्या हम Kafka पर स्विच करें?"
और अब आप एक स्प्रिंट उस निर्णय का पुनर्मूल्यांकन करने में बिता रहे हैं जिसका पहले ही मूल्यांकन हो चुका था। संस्थागत ज्ञान दरवाजे से बाहर चला गया।
आर्किटेक्चर निर्णय रिकॉर्ड (ADRs)
ADR एक छोटा दस्तावेज़ है जो एक महत्वपूर्ण निर्णय को कैप्चर करता है। मेरे बेहद सरल हैं:
\\
