Skip to content
GitHub

အကြောင်းပြချက်ခိုင်မာသော ဆုံးဖြတ်ချက်များ - Architectural Decision Records(ADRs)

ပြဿနာ - “ငါတို့ အဲဒါကို ဘာလို့လုပ်ခဲ့ကြတာလဲ?”

Section titled “ပြဿနာ - “ငါတို့ အဲဒါကို ဘာလို့လုပ်ခဲ့ကြတာလဲ?””

Project တွေမှာ အဖြစ်များတဲ့ ပြဿနာတစ်ခုကတော့ ဆုံးဖြတ်ချက်တစ်ခုချပြီး ခြောက်လလောက်ကြာတဲ့အခါ၊ အဲဒီဆုံးဖြတ်ချက်ကို ဘာကြောင့်ချခဲ့သလဲဆိုတာ ဘယ်သူမှ ပြန်မမှတ်မိတော့တာပါပဲ။ Team ထဲကိုရောက်လာတဲ့ လူသစ်တွေက System ရဲ့ ပြီးခဲ့တဲ့ အကြောင်းတွေကို မှတ်တမ်းတင်ထားတာ မရှိတာကြောင့် နားမလည်ဘဲ ဆုံးဖြတ်ချက်အမှားတွေကို ထပ်ခါထပ်ခါ ပြုလုပ်မိနိုင်ပါတယ်။

ဖြေရှင်းချက် - Architectural Decision Records (ADRs)

Section titled “ဖြေရှင်းချက် - Architectural Decision Records (ADRs)”

ADR ဆိုတာက အရေးကြီးတဲ့ Architectural ဆုံးဖြတ်ချက်တစ်ခုတည်းကိုသာ မှတ်တမ်းတင်ထားတဲ့ တိုတိုနဲ့ ရိုးရှင်းတဲ့ Text File တစ်ခုပါ။ ရည်ရွယ်ချက်ကတော့ သင့် Project ရဲ့ Architecture အတွက် ပေါ့ပါးပြီး၊ Code နဲ့အတူတူ အမြဲတမ်း Update ဖြစ်နေတဲ့ မှတ်တမ်းတစ်ခုကို ဖန်တီးဖို့ပါပဲ။

ADR တစ်ခု၏ ဖွဲ့စည်းပုံ

Section titled “ADR တစ်ခု၏ ဖွဲ့စည်းပုံ”

ADR ဆိုတာ အရမ်းရှည်ပြီး စာအုပ်ဆန်တဲ့ Document တစ်ခုမဟုတ်ပါဘူး။ သူ့မှာ များသောအားဖြင့် ရိုးရှင်းတဲ့ အပိုင်းအနည်းငယ်ပဲ ပါဝင်ပါတယ်-

  • Title (ခေါင်းစဉ်) - ဆုံးဖြတ်ချက်ကို ဖော်ပြတဲ့ စာတိုတစ်ကြောင်း (ဥပမာ - “User Service Database အတွက် PostgreSQL ကို အသုံးပြုရန်”)။

  • Status (အခြေအနေ) - ဆုံးဖြတ်ချက်ရဲ့ လက်ရှိအခြေအနေ (ဥပမာ - Proposed (အကြံပြုထားဆဲ)၊ Accepted (လက်ခံပြီး)၊ Deprecated (မသုံးတော့))။

  • Context (နောက်ခံအကြောင်းအရာ) - သင်က ဘာပြဿနာ၊ ဘာအခြေအနေကို ရင်ဆိုင်ခဲ့ရတာလဲ။

  • Decision (ဆုံးဖြတ်ချက်) - သင် ဘာလုပ်ဖို့ ဆုံးဖြတ်ခဲ့သလဲ။ ရှင်းလင်းပြီး တိကျပါစေ။

  • Consequences (အကျိုးဆက်များ) - ဒီဆုံးဖြတ်ချက်ရဲ့ ရလဒ်တွေက ဘာတွေလဲ။ အားသာချက် (Pros)၊ အားနည်းချက် (Cons)၊ နှင့် အပေးအယူမျှတမှု (Trade-offs) တွေကို စာရင်းပြုစုပါ။ ဒါက အရေးအကြီးဆုံးအပိုင်းပါပဲ။

ADR sample