Jan 2, 2017

Agile နှင့် Scrum ဆိုတာဘာလဲ။

Ko Sagaing
အရင်က Software Development နှင့်ပတ်သက်တဲ့ Waterfall, Spiral, Iterative, V Model စသည့်ဖြင့် Model တွေအများကြီး ကျွန်တော်ကြားဖူးခဲ့တယ်။  သင်ယူဖူးခဲ့တယ်။  နောက်တော့ အလုပ်ထဲရောက်တဲ့အခါမှာလည်း Waterfall Model ဆန်ဆန်သာသုံးခဲ့ဘူးတယ်။  အခု Agile Model ဖြစ်တဲ့ Scrum နှင့် အလုပ်လုပ်နေရတယ်။ Software Development လုပ်တဲ့ ကုမ္ပဏီအများစုကြားမှာ Agile နှင့် Scrum အကြောင်းဟာ လူပြောများပြီး နာမည်ကြီးပါတယ်။ အဲ့ဒါကြောင့် Agile နှင့် Scrum အကြောင်းကို လေ့လာထားသလောက် မှတ်သားထားတာလေးပါ။ Agile ရဲ့ အဓိပ္ပါယ်က လျှင်မြန်၊ သွက်လက်၊ ပေါ့ပါးတာကို ပြောတာဖြစ်ပါတယ်။ Software Development မှာတော့ တူညီတဲ့ Framework အမျိုးအစားတွေကို ဘုံစကားလုံးတစ်ခုတည်းဖြင့် သတ်မှတ်ထားတဲ့ အခေါ်အဝေါ် (Umbrella Term) တစ်ခုဖြစ်ပါတယ်။ တကယ်တော့ Agile ဆိုတာ Model တစ်ခုသာဖြစ်ပြီး Iterative နှင့် Incremental Build Model တွေကိုအခြေခံထားတယ်။ Software Development လုပ်တဲ့အခါမှာ Agile နည်းဆိုတာ Quality Product တစ်ခုဖြစ်အောင် အချိန်နှင့်လုပ်ဆောင်ရမယ့် အလုပ်တွေကို စီမံခန့်ခွဲ၊ လုပ်ဆောင်တဲ့ Model ပဲဖြစ်တယ်။ နောက်ပြီးအခြား Model တွေလို တဆင့်ပြီးမှ၊ နောက်တဆင့်မလုပ်ပဲ Project တစ်ခုမှာလုပ်ရမယ့် Requirements တွေနှင့် Obstacle (အတားအဆီး) ဖြစ်နေတဲ့အရာတွေအတွက်၊ Solutions တွေကို ဘယ်နေရာတွေက ရရှိနိုင်လည်း၊ ရရှိနိုင်တဲ့ အဖွဲ့တွေနှင့် အတူတကွ၊ ပူးပေါင်းလုပ်ဆောင်ပြီး Project တစ်ခုကို တဆင့်ပြီး၊ တစ်ဆင့် ရုပ်လုံးပေါ်အောင် လုပ်ဆောင်တယ်။ အဲ့ဒီလိုနှင့် Customer လက်ထဲထည့်နိုင်တဲ့ Quality Product တစ်ခုဖြစ်လာအောင် ဆောင်ရွက်တဲ့ Model တစ်ခုဖြစ်တယ်။  Product ကို မြန်ဆန်စွာထုတ်နိုင်ဖို့၊ Customer စိတ်ကျေနပ်မှုရှိဖို့နှင့် Project ရဲ့ ဦးစားပေးမှုပေါ်မူတည်ပြီး အလိုက်သင့် ပြောင်းလဲလုပ်ဆောင်ဖို့ စသည့်အချက်တွေဖြင့် Project တွေကို Development လုပ်တဲ့ Model တစ်ခုဖြစ်တယ်။  Agile နှင့် မည်သည့် Software Development Process ပဲလုပ်လုပ် Agile ကထုတ်ပြန်ထားတဲ့ မူဝါဒကြော်ငြာစာတမ်းအတိုင်း ကိုးကားလိုက်နာပြီး လုပ်ဆောင်သင့်ပါတယ်။  Agile မူဝါဒကြော်ငြာစာတမ်းကို ဒီမှာ လေ့လာနိုင်ပါတယ်။
Agile Model ဖြင့် လုပ်ငန်းတွေ၊ ပြီးမြောက်အောင် လုပ်ဆောင်တဲ့ Framework တစ်ခုဖြစ်တယ်။  Scrum မှာ အဓိက အစုအဖွဲ့ ၃ခုနှင့် ဖွဲ့စည်းထားတယ်။  အဲ့ဒါတွေက....

  1. Product Owner (လုပ်ဆောင်စရာရှိနေတဲ့ အလုပ်တွေကို ဦးစားပေးသတ်မှတ်ပေးတဲ့လူဖြစ်တယ်။ အဲ့ဒီ အလုပ်တွေကို Product Backlog (အလုပ်ကြွေး) လို့ခေါ်တယ်။)
  2. Scrum Master (ဦးစားပေးသတ်မှတ်ထားတဲ့ အလုပ်တွေကိုခွဲခြမ်းတယ် ပြီးရင် သင့်တော်တဲ့သူကို တာဝန်ခွဲဝေပေးသူ ဖြစ်တယ်။)
  3. Development Team (တာဝန်ခွဲဝေပေးခံရတဲ့ အလုပ်တွေကို ပြီးမြောက်အောင် လုပ်ဆောင်ပေးသူဖြစ်တယ်။)
တို့ပဲဖြစ်တယ်။ Scrum မှာ Product Backlog တွေကို Sprint Planning လုပ်ပြီး၊ ဦးစားပေးလုပ်ဆောင်ရမယ့် အလုပ်တွေသတ်မှတ်တယ်၊ ပြီးရင် Sprint Backlog အနေနှင့်သတ်မှတ်ပြီး Sprint တစ်ခုကို စတင် ကြတယ်။ Sprint Planning ကို Team တွေအကုန်ပါဝင်ပြီး လုပ်ဆောင်ကြပါတယ်။  Sprint ဆိုတာ Development Cycle ကိုခေါ်တာဖြစ်တယ်။  Sprint တစ်ခုမှာ အချိန်ကန့်သတ်မှုရှိတယ်။ ဥပမာ ၂ပတ်၊ ၄ပတ် စသည့်ဖြင့် အချိန်ကန့်သတ်မှု ပြုလုပ်ထားတယ်။ Scrum Master နှင့် Development Team ဟာ Sprint တစ်ခုကို သတ်မှတ်ထားတဲ့ အချိန်မှာပြီးစီးဖို့ပဲ ဦးတည်ချက်ထားတယ်။ Sprint တစ်ခုထဲမှာ Scrum Master နှင့် Development Team တို့ဟာ နေ့စဉ် Scrum Meeting ကို ၁၅မိနစ်ခန့် ပြုလုပ်ကြတယ်။ အဲ့ဒီ Meeting မှာ လက်ရှိလုပ်နေတဲ့ အလုပ်၊ နောက်ထပ်ကျန်ရှိတဲ့ အလုပ်၊ ခက်ခဲနေတဲ့ သို့မဟုတ် အတားအဆီးဖြစ်နေတဲ့ အလုပ်တွေကို ဆွေးနွေးကြတယ်။ Sprint တစ်ခုပြီးသွားရင် လုပ်ခဲ့တဲ့အလုပ်တွေကို Sprint Review လုပ်တယ်၊ တချို့အလုပ်တွေဟာ Sprint ထဲမှာလုပ်နေရင်း အကြောင်းတစ်ခုခုကြောင့် ယခု Sprint မှာ မပြီးခဲ့ဘူးဆိုရင် နောက် Sprint ရဲ့ Sprint Planning ထဲထည့်တယ်။ နောက်ပြီး Product ကိုပိုကောင်းလာစေမယ့် Idea တွေရှိခဲ့မယ်ဆိုရင်လည်း၊ နောက် Sprint ရဲ့  Product Backlog (သို့) Sprint Planning ထဲထည့်တယ်။  Sprint တစ်ခုပြီးသွားရင် အဲ့ဒီ Sprint ကို ယခင်ပြီးခဲ့တဲ့ Sprint တွေကအလုပ်တွေနှင့်အတူ Product ထဲကိုပေါင်းထည့်တယ်။ ပြီးမှနောက် Sprint တစ်ခုကို ဆက်သွားတယ်။ အဲ့လိုနှင့် Sprint တစ်ခုပြီးတစ်ခု ဆက်ခါဆက်ခါ ဆောင်ရွက်ရင်း Product ကို တဖြည်းဖြည်း ရုပ်လုံးပေါ်အောင် လုပ်ဆောင်ကြပါတယ်။ Development Team ဆိုတာ Developer တွေချည်းမဟုတ်ပါဘူး။ အခြား Role တွေဖြစ်တဲ့ QA (Quality Assurance) တွေ၊ Business Analyst တွေလည်းပါဝင်နိုင်ပါတယ်။ Project Manager လည်း Scrum ထဲမှာပါဝင်နိုင်ပါတယ်။ အဖွဲ့အစည်းရဲ့ လိုအပ်ချက်၊ လုပ်ဆောင်ချက်ပေါ်မူတည်ပြီး သက်ဆိုင်ရာ Role တွေရဲ့ပါဝင်မှုက ခြားနားနိုင်ပါတယ်။

Agile Model ဖြင့် Software Development လုပ်တဲ့ အခြား Framework တွေလည်းရှိပါတယ်။  ဥပမာ

နောက်ထပ် Wiki ထဲမှာ အများကြီးရှိပါသေးတယ်။ Agile Scrum ကို IT Industry မှာတင်မဟုတ်ပါဘူး၊ အြခား Industry တွေမှာလည်း အသုံးပြုကြပါတယ်။ Scrum နှင့်ပတ်သက်ပြီး သူ့ရဲ့ Official Website မှာလည်း လေ့လာနိုင်ပါတယ်။




မှတ်စုရေးသူအကြောင်း

Ko Sagaing / Software Engineer

နာမည်အရင်းမှာ လှိုင်မင်းထက်ဖြစ်ပြီး၊ ကိုစစ်ကိုင်းဆိုသည့် နာမည်ပြောင်နှင့် မိတ်ဆွေ၊ သူငယ်ချင်းများက ရင်းနှီးစွာခေါ်ကြပါသည်။ ယခင်ကမြန်မာနိုင်ငံတွင် သင်ကြားရေး နှင့် Software Development လုပ်ငန်းများတွင် ဝင်ရောက်လုပ်ကိုင်ခဲ့ပြီး၊ ယခုလက်ရှိမှာ စင်ကာပူနိုင်ငံရှိ နည်းပညာကုမ္ပဏီတစ်ခုတွင် ဝင်ရောက်လုပ်ကိုင်နေပါသည်။

0 ခုမှတ်ချက်ပေးထားတယ်။:

Post a Comment

ကိုစစ်ကိုင်း၏ မှတ်စုများ. Powered by Blogger.