Skip to main content

Scrum ဆိုတာဘာလဲ (အပိုင်း-၂)



Agile က အသုံးများလာတဲ့ Project Management နည်းစနစ်ဖြစ်လာတာနဲ့အမျှ Agile အတွက် အသုံးပြုတဲ့ Framework တွေကိုလည်း လေ့လာဖို့လိုအပ်လာပါတယ်။ ဒါကြောင့် ဒီတစ်ပတ်ဆောင်းပါးမှာ Agile နည်းအတွက် အသုံးအတွင်ကျယ်ဆုံးဖြစ်တဲ့ Scrum Framework နဲ့ပတ်သက်ပြီး ဆက်လက်ဝေမျှချင်ပါတယ်။

ဒီဆောင်းပါးက “Scrun ဆိုတာဘာလဲ (အပိုင်း-၁)” ရဲ့ အဆက်ဖြစ်ပါတယ်။ အပိုင်း-၁ မှာ Scrum အကြောင်းကို မိတ်ဆက်ပြီး Sprint နဲ့ Scrum Meeting တွေအကြောင်း ရေးခဲ့တာဖြစ်လို့ အပိုင်း-၂ မှာတော့ Scrum မှာ ပါဝင်တဲ့ Team Member တွေနဲ့ အသုံးပြုတဲ့ Artifact တွေအကြောင်းကို ရေးသွားပါမယ်။

(ဒီဆောင်းပါးက Scrum.org ရဲ့ Scrum Guide™ ကို အခြေခံပြီး ရေးထားတာဖြစ်ပါတယ်။)


Scrum Team

Scrum Team က Scrum ကို Run တဲ့ လူတွေအားလုံးပါဝင်ပြီး Product Owner, Scrum Master နဲ့ Development Team ဆိုပြီး Role သုံးခုခွဲပါတယ်။ (သုံးခုအပြင် အခြား Role မရှိပါဘူး)

1. Product Owner ဘာလုပ်လဲ

Product Owner က Product Backlog အတွက် ကိုင်တွယ်သူဖြစ်ပြီး Development Team ကနေ Develop လုပ်ပေးမယ့် Product ကို အကောင်းဆုံးဖြစ်စေဖို့ တာဝန်ယူရပါတယ်။ အဲဒါကြောင့် Product Owner ကို Value Maximizer လို့ တင်စားပါတယ်။ ဒါ့အပြင် Product Owner က Scrum Team ပြင်ပက Stakeholder တွေနဲ့ Scrum Team ကို ဆက်သွယ်ပေးသူလို့လည်း ပြောလို့ရပါတယ်။ Customer ရဲ့ လိုအပ်ချက်တွေ၊ အခြား Stakeholder ရဲ့ တောင်းဆိုမှုတွေကို Product အတွက် လုပ်သင့်၊ မလုပ်သင့် ဆုံးဖြတ်တယ်။ ပြီးနောက် လုပ်ဖို့လိုတာတွေကို Product Backlog ထဲမှာ ထည့်၊ User Story တွေ ရေးပြီး၊ Develop လုပ်ဖို့ရာ Priority သတ်မှတ်ပါတယ်။ များသာအားဖြင့် Product Manager တွေက Scrum Team ရဲ့ Product Owner တာဝန်ကို ယူကြလေ့ရှိပါတယ်။

2. Scrum Master ဘာလုပ်လဲ

Scrum Master ကတော့ Scrum Team တစ်ခုလုံးက Scrum ကို နည်းမှန် လမ်းမှန် Run ဖို့ ဦးဆောင်ပေးသူ၊ ပံ့ပိုးပေးသူ (Facilitator) ဖြစ်ပါတယ်။ Scrum Team အတွက် Scrum Meetings တွေအပြင်၊ လိုအပ်တဲ့ အခြား Meeting တွေကိုပါ စီစဥ်ပေးပါတယ်။ Product Owner ရဲ့ Backlog စီတာမှာ ကူညီပေးသလို၊ Developent Team ရဲ့ အလုပ်တွေအတွက်လည်း မလိုတဲ့ အတားအဆီးတွေကို ကူညီဖယ်ရှားပေးပါတယ်။ Scrum Framewrok နဲ့ ပတ်သက်တဲ့ Knowledge တွေ၊​ သတ်မှတ်ချက်တွေကို Scrum Team နဲ့ Company က အခြားဝန်ထမ်းတွေပါ နားလည်စေဖို့ Scrum Master က ဦးဆောင်တာဝန်ယူရပါတယ်။

3. Development Team ဘာလုပ်လဲ

Product ကို Develop လုပ်တဲ့အချိန်မှာ ပါဝင်တဲ့ မည်သူမဆို Development Team အနေနဲ့ သတ်မှတ်ပါတယ်။ Developer, Cloud Engineer, Designer, QA Engineer, Business Analysis စသဖြင့် သက်ဆိုင်ရာ Profession တွေကို လုပ်ဆောင်ကြပေမယ့် သီးခြား Title ထပ်မခွဲပဲ အားလုံးကို Development Team အနေနဲ့ တစ်စုတည်းသတ်မှတ်တာဖြစ်ပါတယ်။ Development Team မှာ အနည်းဆုံး ၃ယောက်ကနေ အများဆုံး ၉ယောက်အထိ ရှိနိုင်ပြီး ဒီထပ်များလာရင်တော့ နောက်ထပ် Scrum Team တစ်ခုထပ်ထားသင့်ပါတယ်။

Scrum ရဲ့ Development Team မှာ အဓိကအချက်က Self-Organize ဖြစ်ခြင်းပါ။​ ဘယ်လိုအဓိပ္ပါယ်လည်းဆိုရင်… Development Team ကို ဘယ် Feature တွေ Develop လုပ်ရမယ်၊ ဘယ်လို Develop လုပ်ရမယ်လို့ Product Owner ကရော၊ Scrum Master ကရော ဘယ်သူကမှ အတင်းအကျပ် လုပ်ခိုင်းတာမျိုးမရှိ / မရှိရပါဘူး။ Development Team က Product Backlog မှာ Priority စီထားတဲ့ Feature တွေကိုကြည့်ပြီး Priority မြင့်တဲ့ Feature တွေကို Develop လုပ်ဖို့ ကိုယ်တိုင်ရွေးချယ်၊ ဘယ်လို Develop လုပ်မယ်ဆိုတာ ကိုယ်တိုင် ဆုံးဖြတ်တာဖြစ်ပါတယ်။ အဲ့လိုဆုံးဖြတ်တဲ့အချိန်မှာတော့ Sprint Planning မှာ Product Owner နဲ့တိုင်ပင်ရပါတယ်။
Scrum မှာ ပါဝင်တဲ့ Artifacts များ

1. Product Backlog

Product မှာ ဆက်လုပ်ဖို့လိုမယ့် အရာမှန်သမျှကို ချရေးထားတဲ့ List လို့ ပြောလို့ရပါတယ်။ Product Backlog ကို Product Owner က တာဝန်ယူရပြီး၊ Product အသက်ရှင်နေသရွေ့ Product Backlog က ကုန်သွားတယ် / ပြီးသွားတယ်ဆိုတာမျိုး မရှိပါဘူး။ Product Backlog ထဲမှာ Features တွေ၊ Functions တွေ၊ Requirements တွေ၊ ပြင်ရမယ့် Bugs တွေ အကုန်ပါရှိပြီး… ဘာတွေက Product မှာ လုပ်ဖို့ အရေးအကြီးဆုံးလဲဆိုတဲ့ Priority စီတာကို Product Owner က လုပ်ပါတယ်။

2. Sprint Backlog

Sprint Backlog ကတော့ Sprint Planning Meeting မှာ ဒီ Sprint အတွင်း Product Backlog ထဲက ဘာတွေကို Develop လုပ်မယ်လို့ ရွေးထုတ်လိုက်တဲ့ List ဖြစ်ပါတယ်။ Sprint Backlog ထဲမှာ Develop လုပ်မယ့် Task တွေအပြင်၊ Sprint မှာ ပြီးသွားတဲ့ Product ကို ဘယ်လို Deliver လုပ်မလဲဆိုတဲ့ Plan နဲ့ ဘာလို့ ဒီ Task တွေကို လုပ်ရသလဲဆိုတဲ့ Sprint Goal တို့ပါဝင်ပါတယ်။ လိုတိုရှင်းပြောရရင် Sprint Backlog က Sprint တစ်ခုစာ Plan လို့ ပြောလို့ရပါတယ်။ Sprint Backlog သတ်မှတ်ပြီးမှ တချို့ Task တွေ မပြီးနိုင်တာမျိုး၊ ထပ်ခွဲဖို့လိုတာမျိုးကို Development Team က Product Owner နဲ့ တိုင်ပင်ပြီး ပြုလုပ်နိုင်ပါတယ်။

3. Increment

Sprint တွေမှာ ပြီးမြောက်ခဲ့တဲ့ Task တွေကို ပေါင်းပြီး Product ရဲ့ Increment (ထပ်တိုး) တွေလို့ ခေါ်ပါတယ်။ Scrum ရဲ့ ရည်ရွယ်ချက်က Sprint တစ်ခုအပြီးမှ Customer ဆီ ထုတ်ပေးလို့ရတဲ့ Increment တစ်ခု ပြီးမြောက်ဖို့ဖြစ်ပါတယ်။ အဲဒီ Increment က သုံးလို့ရ၊ Customer ဆီ ထုတ်ပေးလို့ရတဲ့ အခြေအနေရှိရပါတယ်။ တကယ် Deliver လုပ်မယ်၊ မလုပ်ဖူးကိုတော့ Product Owner က ပြန်ဆုံးဖြတ်ပါတယ်။

Increment တစ်ခု ပြီးမြောက်လား (“Done” ဖြစ်လား / မဖြစ်လား) တိုင်းတာတဲ့ သတ်မှတ်ချက်တွေကို Development Team က သတ်မှတ်ထားရပါတယ်။ Product တစ်ခုနဲ့တစ်ခု၊ Organization တစ်ခုနဲ့တစ်ခု သတ်မှတ်ချက်တွေ မတူကြပါဘူး။ Develop လုပ်လိုက်တဲ့ Task တွေက “Done” သတ်မှတ်ချက်နဲ့ ကိုက်ညီမှသာ Increment တစ်ခုပြီးမြောက်တယ်လို့ ယူဆရပါတယ်။ အဲဒီသတ်မှတ်ချက်ကို “Definition of Done” လို့ ခေါ်ပါတယ်။


Agile နဲ့ Scrum ကို ဘာကွာလဲ ရောထွေးတတ်သူတွေအတွက် အတိုချုပ် ပြန်ပြောရရင်
  • Agile က Project တွေ မြန်ဆန်ပြီး ပြုပြင်ရလွယ်စေဖို့ သုံးတဲ့နည်းစနစ် ဖြစ်ပြီး
  • Scrum က Agile ကို Run တဲ့ Framework တစ်ခုသာ ဖြစ်ပါတယ်။
ဥပမာ… Agile က Diet လုပ်တာ ဖြစ်ရင်၊ Scrum က Diet အတွက် Keto လား၊ ညစာမစားတာလား စသည်ဖြင့် သင်ရွေးချယ်အသုံးပြုတဲ့ နည်းလမ်းဖြစ်ပါတယ်။

ဒီလောက်ဆို Agile နဲ့ Scrum အကြောင်းမိတ်ဆက်က လုံလောက်ပြီလို့ထင်ပါတယ်။ နောက်ထပ် ဖတ်ချင်တဲ့ Topic တွေရှိရင်လည်း ဒီ Google Form ကနေတဆင့် အကြံပေးနိုင်ပါတယ်။ ProductBaze မှ Product သမားအချင်းချင်း idea တွေ၊ knowledge နဲ့ experience တွေ share ဖို့ နွေးနွေးထွေးထွေးဖိတ်ခေါ်ပါတယ်။ ProductBaze အကြောင်း (၁) မိနစ်စာ မိတ်ဆက် post လေးကို ဒီ link မှာ ဖတ်လို့ရပါတယ်။ ProductBaze ကို ဆက်သွယ်ချင်ရင် productbaze@gmail.com သို့ ပေးပို့ ဆက်သွယ်နိုင်ပါတယ်။

Follow us on Facebook and Linkedin for latest updates.

Comments

Popular Posts

အသုံးများတဲ့ Product Testing တွေ

Webinar တစ်ခုမှာ Product Testing တွေအကြောင်းထည့်ပြောတော့ နောက်ဆုံးအမေးအဖြေအချိန်မှာ အမေးခံရဖူးတာလေး မှတ်မှတ်ရရရှိလို့ပါ။ “A/B Testing ဆိုတာ Alpha Testing, Beta Testing ကို ပြောတာလား” ဆိုတဲ့ မေးခွန်းပါ။ သိတဲ့သူအတွက်တော့ ဘာမှမဆိုင်တဲ့ Testing တွေမှန်း တန်းသိနိုင်ပေမယ့် တစ်ဖက်မှာလည်း မေးလည်းမေးချင်စရာ အခေါ်အဝေါ်က ခပ်ဆင်ဆင်တူနေတာကိုးလို့ တွေးမိပါတယ်။ ဒါကြောင့် ဒီဆောင်းပါးမှာ မကြာမကြာလည်း ပြောဖြစ်ကြပြီး၊ အသုံးလည်းများ၊ အသုံးလည်းဝင်တဲ့ Alpha Testing, Beta Testing နဲ့ A/B Testing တို့အကြောင်းကို တီးမိခေါက်မိအောင် ရေးချင်ပါတယ်။ Feature Development တွေပြီးတဲ့အခါ Product Owner နဲ့ Development Team တွေ User Acceptance Testing (UAT) ကို အတူတကွ ပြုလုပ်ကြပါတယ်။ QA က အဓိက Test တာဖြစ်နိုင်ပေမယ့် အားလုံးက ပူးပေါင်းလုပ်ဆောင်ကြရတာပါ။ Product (သို့) Feature က UAT လည်းပြီးပြီ၊ Release လုပ်တော့မယ်လို့ စ Plan တဲ့အခါ Alpha Testing နဲ့ Beta Testing အခန်းကဏ္ဍဆီ ရောက်ပါတယ်။ Alpha Testing Alpha Testing ဆိုတာ လွယ်လွယ်ပြောရရင် ကိုယ့်လူနဲ့ကိုယ် အရင်စမ်းသပ်တဲ့ Testing အမျိုးအစားပါ။ မိမိရဲ့ Software

SMART Goal ဘယ်လိုတည်ဆောက်မလဲ

Personal အတွက်ဖြစ်စေ၊ လုပ်ငန်းခွင်မှာဖြစ်စေ.. ရည်မှန်းချက်ကြီးမားတာ ကောင်းပေမယ့် ကိုယ်စိတ်ကူး ပေါ်ရာ ကိုယ်ဖြစ်ချင်ရာ ရည်မှန်းချက်တွေ ရမ်းသမ်းချမှတ်တာက လက်တွေ့မကျတဲ့၊ ချသာ ချမှတ်ထားပြီး အသုံးမဝင် Effective မဖြစ်တဲ့ ရည်မှန်းချက်တွေ ဖြစ်နေနိုင်ပါတယ်။ မဖြစ်နိုင်တဲ့ Goal နောက်ကိုလိုက်ရင်း ရင်းနှီးမြှုပ်နှံရတဲ့ အချိန်တွေ၊ ငွေကြေးတွေ၊ Resource တွေလည်း ဆုံးရှုံးမှုတွေဖြစ်စေနိုင်ပါတယ်။ “SMART Goal ဖြစ်ဖို့တော့ လိုမယ်နော်” ဆိုတဲ့ စကားမျိုး ကြားဖူးကြပါလိမ့်မယ်။ SMART Goal ဆိုတဲ့ concept ကို စီးပွားရေးလောက၊ Marketing အပြင် နယ်ပယ်အသီးသီးမှာ တွင်တွင်ကျယ်ကျယ်အသုံးပြုကြပါတယ်။ SMART Goal ဆိုတာ တိုတိုပြောရရင် တိကျရှင်းလင်းပြီး လက်တွေ့ကျတဲ့ Goal တွေချမှတ်ခြင်းလို့ ပြောနိုင်ပါတယ်။ မိမိ Business အတွက်၊ Product အတွက်၊ Team အတွက်၊ Personal အတွက် Goal တွေ ချမှတ်တဲ့အခါ လက်တွေ့ဖြစ်နိုင်ချေရှိတဲ့ ရည်မှန်းချက်ကို သေချာသတ်မှတ်ပေးနိုင်တဲ့ SMART Objective နည်းလမ်းကို သုံးကြည့်သင့်ပါတယ်။ SMART Goal ဆိုတာက ကိုယ့်ချမှတ်ရေးဆွဲမယ့် Goal တွေက S (Specific) - ဘာကိုရရှိအောင်လုပ်မယ်ဆိုတာ တိတိကျကျဖြစ်ရမယ် M (

Cross-Functional Team အကြောင်း တစေ့တစောင်း

Cross-functional Team ဆိုတာ အပြောလည်းများသလို အသုံးလည်းများပါတယ်။ Product Team တွေမှာလည်း Cross-functional Team ပုံစံကို တော်တော်များများ အသုံးပြုကြပါတယ်။ ProductBaze ဆောင်းပါးအချို့မှာလည်း ထည့်ရေးဖူးပြီး၊ Product Squad ဆောင်းပါးမှာ Squad တည်ဆောက်ပုံက Cross-functional Team ပုံစံကို အခြေခံတဲ့အကြောင်းရေးရင်းနဲ့ Cross-functional Team အကြောင်းလေးကိုပါ မိတ်ဆက်ပေးဖို့ ဖြစ်လာပါတယ်။ ပုံမှန် Organization တွေမှာ Department တွေ, Team တွေက လုပ်ငန်းသဘောသဘာဝ တူညီရာ (Tech, Marketing, Sales, Operation…) စသဖြင့် အသီးသီး ဖွဲ့စည်းထားကြပြီး ဖွဲ့စည်းပုံကလည်း အထက်ကနေ အောက် Hierarchy အတိုင်းဖြစ်ကြပါတယ်။ Decision တစ်ခုလိုအပ်ရင်လည်း Hierarchy အတိုင်း အပေါ်ကို ပြန်တက်ပြီး Request လုပ်ကြရသလို၊​ Company တစ်ခုထဲက Team အသီးသီးက အခြား Department တွေ ဘာလုပ်နေလဲဆိုတာ သိဖို့ ထင်သလောက် မလွယ်ကူပါဘူး။ Silos Team (တသီးတသန့် အလုပ်လုပ်တဲ့ Team) တွေ ဖြစ်လာပြီး Direction တွေ ညှိရခက်တတ်ပါတယ်။ Cross-functional Team ဆိုတာက Organization ထဲမှာ ကျွမ်းကျင်မှုမတူ (သို့မဟုတ်) ဌာနမတူတဲ့ လူတွေကို Team အနေနဲ့ဖွဲ့ပေးပြီး Project တစ်

ကိုယ့် Boss ကို ဘယ်လို Manage လုပ်မလဲ

“Manage My Boss” ဆိုတဲ့ ခေါင်းစဉ်ကြီးဖတ်လိုက်ရလို့ တမျိုးကြီးဖြစ်သွားမယ်ထင်ပါတယ်။ သို့ပေမယ့် ကျွန်တော် အခုပြောပြမယ့် “How to Manage your Boss” က Management အကြောင်း လေ့လာတဲ့အခါတွေမှာလည်း ပါဝင်လေ့ရှိသလို အပြင်လုပ်ငန်းခွင်မှာလည်း တကယ်အရေးပါတဲ့ ကိစ္စရပ်ပါပဲ။ ကိုယ်ကိုယ်တိုင်က Middle Management Level လို့ပြောကြတဲ့ Manager ဖြစ်နေမယ်၊ ကိုယ့်အောက်မှာ Team Members တွေရှိသလို၊ ကိုယ့်အပေါ်မှာလည်း ကိုယ် Report လုပ်ရတဲ့ Senior Manager သော်လည်းကောင်း၊ Head သော်လည်းကောင်း၊ C-Level သော်လည်းကောင်း ကိုယ့် Boss ရှိမယ်ပေ့ါ။ Management Term အရဆိုရင် ကိုယ့် Team ကို Manage လုပ်ရတာကို “Managing Down” or “Downward Management” လို့ ခေါ်ပြီး၊ ကိုယ့် Boss ကို Manage လုပ်တာကို “Managing Up” or “Upward Management”လို့ခေါ်ပါတယ်။ အဲ့တော့ အခုဆွေးနွေးမှာက Upward Management အကြောင်းပါ။ အိုကေ… ကိုယ့် Boss ကို ဘယ်လို Manage လုပ်တာလဲ??? ကိုယ်က Manage လုပ်ခံရမှာမဟုတ်ဘူးလား??? ကိုယ့်အတွက်ရော ဘယ်လို အကျိုးရှိမှာလဲ??? “Boss ကို Manage လုပ်တယ်ဆိုတာ ဘာလဲ” ကနေ စရအောင်ပါ။ Boss ကို Manage လုပ်တဲ့ အဓိက Goal က Boss ကို အပြည

Agile ဆိုတာဘာလဲ

Agile က Software Development တွေမှာ အဓိကသုံးတဲ့ နည်းစနစ်ဖြစ်ပြီး၊ Develop လုပ်နေတဲ့ ကာလတောက်လျှောက်မှာ Requirements အပြောင်းအလဲတွေကို ကောင်းကောင်းလက်ခံနိုင်တဲ့ နည်းစနစ်ဖြစ်တာကြောင့် အလွန်အသုံးများလာကြပါတယ်။ Project Management အတွက် Agile ကို တွင်တွင်ကျယ်ကျယ်သုံးလာတာနဲ့ အမျှ Project Manager, Product Manager, Scrum Master, Business Owner, Delivery Manager နဲ့ Software Engineers တွေပါ Agile အကြောင်းကို လေ့လာဖို့လိုအပ်လာပါတယ်။ ဒါကြောင့် ဒီဆောင်းပါးမှာ Agile နဲ့ပတ်သက်ပြီး မိတ်ဆက် ပြောပြသွားပါမယ်။ Agile ဆိုတာဘာလဲ Agile ဆိုတာ Software Industry မှာ Product (သို့) Service တစ်ခုကို Customer ဆီကို အစောဆုံးနဲ့ စဥ်ဆက်မပြတ် ထုတ်ပေးနိုင်ဖို့ အသုံးပြုတဲ့ နည်းစနစ်ဖြစ်ပါတယ်။ Agile နည်းက မြန်ဆန်ပေ့ါပါးပြီး အပြောင်းအလဲတွေကို လိုက်လျောညီထွေ လက်ခံနိုင်တဲ့ နည်းစနစ် ဖြစ်တာကြောင့်၊ Market လိုအပ်ချက်၊ Customer လိုအပ်ချက်တွေနဲ့အညီ Product ကို အချိန်မီ ထုတ်ပေးနိုင်စေပါတယ်။ Product တစ်ခုလုံးကို အစ-အဆုံး ပြီးအောင် တည်ဆောက်ပြီးမှ Customer ကို ပေးသုံးတာမဟုတ်ပဲ… Customer ရဲ့ လိုအပ်ချက်ပေါ်မူတည်ပြီး Feature တွေက