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

Project Domain ဆိုတာ Project တစ်ခုရဲ့ အလုပ်လုပ်ပုံ flow တွေ , logically အလုပ်လုပ်ပုံတွေ project ထဲမှာရှိတဲ့ modules တစ်ခုနဲ့ တစ်ခု ချိတ်ဆက်သွားလာတဲ့ပုံစံတွေနဲ့ ပတ်သတ်တဲ့ အရာတွေအားလုံးကို project တစ်ခုရဲ့ domain လို့ခေါ်ပါတယ်။ ရှင်းရှင်းပြောရရင် project တစ်ခုလုံးရဲ့ စ၊လယ်၊ဆုံး သုံးပါးလုံးကို သေချာသိထားတယ်လို့ဆိုလိုခြင်းဖြစ်ပါတယ်။ ဒီနေရာမှာ coding development ကိုနားလည်ထားရမယ်လို့ ဆိုလိုတာမဟုတ်ဘဲ project ရဲ့ business logic & implementation logic တွေကိုဆိုလိုတာပါ။

Project Domain တွေက project ရဲ့ size အပေါ်မူတည်ပြီး တစ်ဖြည်းဖြည်းနဲ့ ကြီးသွားကြပါတယ်။ ဥပမာ E-commerce system တစ်ခုရှိတယ်ဆိုပါစို့။ ဒီ system တစ်ခုလုံးကို နားလည်ဖို့ဆိုရင် product,category module development, stock control, order management, delivery management စတဲ့အပိုင်းတွေက ဘယ်လို implement လုပ်ထားလည်း ဆိုတာမျိုးပေါ့။ ဥပမာ ထပ်ပေးရရင် delivery အပိုင်းမှာဆိုရင်လည်း ဘယ် third party service နဲ့ ဘယ်လို integration လုပ်ထားတယ်၊ ဘယ် API တွေရှိမယ်၊ price calculation ကိုဘယ်လို Logic နဲ့ထုတ်ထားတယ် စသည်ဖြင့် delivery module ရဲ့ domain flow က သက်သက်ရှိမယ်။ အခြားဟာတွေမှာလည်း သူ့နည်းနဲ့သူ့ဟန်တွေရှိပါတယ်။ ဒါတွေကိုနားလည်ထားမှသာ ဒီ E-commerce system တစ်ခုလုံးရဲ့ domain ကိုနားလည်တယ်လို့ဆိုနိုင်ပါတယ်။ E-commerce ရဲ့ ယေဘုယျသဘောသဘာ၀ က ဒီ functions တွေပဲဆိုပေမယ့် အသေမဟုတ်ပါဘူး။ Implementation logic တွေက business needs အရ မတူကြပါဘူး။ ဒါတွေကို လိုက် catchup လုပ်နိုင်မှသာ ဒီ project ရဲ့ domain ကိုသေသေချာချာ နားလည်တယ်လို့ဆိုနိုင်ပါတယ်။

ကျနော်တို့ကြားဖူးကြမယ်။ ဒီ project မှာဒီလူကအရေးပါတယ်ဆိုတာမျိုး၊ ဘာကြောင့်လဲဆိုတော့ အဲ့လူက project ရဲ့ domain ကိုသေသေချာချာပိုင်နိုင်ထားလို့ပါ။ client နဲ့ meeting လုပ်ရတဲ့နေရာပဲဖြစ်ဖြစ်၊ Project features တွေကို manage လုပ်တာပဲဖြစ်ဖြစ်၊ ဒီလူက project domain ကိုနားလည်ထားတဲ့အတွက် တစ်ခုခုထည့်တော့မယ်၊ ဖြုတ်တော့မယ်ဆိုရင် ဖြစ်လာနိုင်တဲ့ risk တွေကို ကြိုတင်ခန့်မှန်းထားနိုင်ပါတယ်။ နောက်ပြီးတော့ feature အသစ်ထည့်ရတော့မယ်ဆိုရင် အချိန်ဘယ်လောက်ကြာနိုင်တယ်၊ ဘယ် module နဲ့သွားပြီး conflict ဖြစ်နိုင်တယ် စသည်ဖြင့် ခန့်မှန်းနိုင်ပါတယ်။ ဒါကြောင့် သူသည် ဒီ project ရဲ့ အရေးပါတဲ့သူဖြစ်နေရခြင်းဖြစ်ပါတယ်။ များသောအားဖြင့် အဲ့ဒီလူက Project Manager လည်းဖြစ်နိုင်သလို ၊ team leader လည်းဖြစ်နိုင်ပါတယ်။ Domain တစ်ခုလုံးကို သေချာနားလည်နိုင်ဖို့ဆိုတာ project စရေးဖို့ documenting step ကနေပြီးတော့ project planning, implementing , testing and publishing အဆင့်တွေမှာအကုန် ကိုယ်တိုင်ကိုယ်ကျ ပါဝင်ထားနိုင်မှသာနားလည်နိုင်မှာဖြစ်ပါတယ်။

ဒီနေရာမှာ နောက်လူတစ်ယောက်ကို handover လုပ်လို့ရောမရဘူးလားမေးစရာရှိပါတယ်။ ရပါတယ်၊ ဒါပေမယ့် အပေါ်မှာပြောထားတဲ့ စ၊လယ်၊ဆုံး ပါဝင်လုပ်ထားပြီး နားလည်ထားတဲ့ လူလောက်တော့ ချက်ချင်းကြီး Domain ကို နားမလည်သွားနိုင်ပါဘူး၊ အချိန်တစ်ခုလိုအပ်ပါတယ်။ domain ရှုပ်ရင်ရှုပ်သလောက် နားလည်နိုင်တဲ့ အချိန်ကလည်း ကြာသွားပါတယ်။ တစ်ချို့ တော်တဲ့လူတွေလည်း မြင်ဖူးတယ်၊ အချိန်တိုအတွင်းမှာ domain flow အကုန်နီးပါးကို catch up လုပ်သွားနိုင်တဲ့လူတွေ၊ coding skill မဟုတ်ပေမယ့်လည်း ဒီလိုမျိုး skill က ဒီနယ်ပယ်ထဲမှာ လုပ်မယ်ဆို လိုအပ်ပါတယ်။ တစ်ချို့ အလုပ်ခေါ်စာတွေမှာမြင်ဖူးကြလိမ့်မယ်။ banking sector အတွေ့အကြုံရှိသူတို့၊ micro financing ပိုင်းအတွေ့အကြုံရှိသူတို့စသည်ဖြင့်ပေါ့။ ဘာကြောင့်လဲဆိုတော့ အဲ့ဒီ sector ပိုင်းတွေရဲ့ system domain က အနည်းငယ်ပိုပြီး ရှုပ်ထွေးတဲ့အတွက်ကြောင့် အတွေ့အကြုံမရှိတဲ့ သူတွေအတွက်ဆို ချက်ချင်းနားလည်ဖို့ ခဲယဉ်းတဲ့အတွက်ကြောင့်ဖြစ်ပါတယ်။

Coding ကိုကျနော်တို့ကြိုက်တဲ့နေရာကနေ သင်လို့ရပေမယ့် project domain ကိုသင်လို့မရပါဘူး။ ဥပမာ ငါ E-commerce system တစ်ခုရဲ့ အလုပ်လုပ်ပုံ၊ Payment Transaction Service တွေအလုပ်လုပ်ပုံ စသည်ဖြင့် အသေးစိတ်ကိုသင်ချင်လိုက်တာဆိုပြီး လိုက်လေ့လာလို့မရနိုင်ပါဘူး။ ယေဘုယျသဘောလောက်တော့ နားလည်းကောင်းနားလည်နိုင်ပေမယ့် အသေးစိတ်တော့ မရနိုင်ပါဘူး။ တစ်သတ်မှတ်ထဲလည်း မရှိတဲ့အပြင် အဲ့ဒီအရာတွေက မိမိကိုယ်တိုင် လုပ်ငန်းခွင်ထဲ ဝင်ပြီးလုပ်မှသာ နားလည်နိုင်မယ့် အရာတွေဖြစ်ပါတယ်။ ဒါကျနော် E-commerce နဲ့ဥပမာပြထားတာ၊ တစ်ခြား စိတ်ဝင်စားဖို့ကောင်းတဲ့ project တွေရဲ့ domain တွေလည်း အများကြီး ရှိပါသေးတယ်။ App တွေ Service တွေ API တွေစသည်ဖြင့်ပေါ့၊ company organization တွေနဲ့ business လိုအပ်ချက်တွေပေါ်မူတည်ပြီး အားလုံးက ကွဲပြားသွားကြပါတယ်။ ဒါကြောင့် todo သာသာလောက်ရေးပြီး ကျေနပ်မနေဘဲ company ကောင်းကောင်း Business Domain ကောင်းတဲ့ project တွေလုပ်နိုင်ကြပါစေ။

ကျေးဇူးတင်ပါတယ်။