Pages

January 18, 2010

Dancing with the Bugs

ဒီေနရာမွာ Bug ဆိုုလိုု အေကာင္ (insect) ေတြ လိုု ့ မျမင္ပါနဲ ့။ Software Bug ကိုု ေျပာျခင္းသာ ျဖစ္ပါၾကာင္း။


"In programming, as in everything else, to be in error is to be reborn."
~Alan J. Perlis


၂ လ ေက်ာ္ ေရးထားတဲ့ Change Request တစ္ခု၊ ၿပီးခဲ့တဲ့ ေသာၾကာေန ့က SIT ကို ပို ့လိုက္ ႏိုင္ခဲ့တယ္။ ဒီတစ္ေခါက္ Change Request က နည္းနည္းႀကီးတယ္ ဆုိရမယ္။ ရတဲ့အခ်ိန္က နည္းတယ္။ တကယ္ဆို Testing မပါ ( SIT / UAT မပါ) Develpement အတြက္ ကိုယ္ေတြ ေတာင္းတာက ရက္ ၉၀။ ေတာင္းသေလာက္ မရခဲ့ပါဘူး။ ဒီႏိုင္ငံ အစိုးရရဲ့ အခု ေတာင္းဆိုခ်က္ေၾကာင့္ ေျပာင္းရတာျဖစ္လုိ ့ ဘယ္ႏွစ္ရက္လိုတယ္ ေျပာေျပာ ေနာက္ဆံုး Production ကို ေရာက္ရမယ္ဆိုတဲ့ ေန ့အၿပီး ေရာက္ေအာင္ပုိ ့ေပး ရမွာပါလို ့ သက္ဆိုင္ရာ ဌာနက အေၾကာင္းျပန္တယ္။ ဘယ္သူမွ ျငင္းမရတဲ့ ကိစၥ ဆိုေတာ့လည္း ျဖစ္ေအာင္လုပ္ၾကရေတာ့တာေပါ့။

Pages ေတြ တစ္ခုနဲ ့တစ္ခု ဆက္စပ္ေနၿပီး ေနာက္ကြယ္က Business Flow က ရွဳပ္ေတာ့ လူအမ်ားနဲ ့ေရးလို ့ မရဘူး။ ႏွစ္ေယာက္ပဲေရးတာကို သူ ့အပိုင္းနဲ ့ ကိုယ့္အပိုင္း ျပန္ေပါင္းတာတင္ ၂-၃ ရက္ေလာက္ ၾကာတယ္။ ဘာေတြေျပာင္းရမယ္ ဆိုတာ ရွင္းျပတာက ၃ နာရီေလာက္ ၾကာတယ္။ Power Point Slide ကတင္ ၁၆၀ ေက်ာ္။ တကယ့္ တကယ္ စေရးေတာ့ အဲဒီမွာ ရွင္းျပထားတာေတြက မလံုေလာက္ဘူး။ ေရွ ့မွာ ဒါေလးပဲ ေျပာင္းပါတယ္ ဆိုေပမယ့္ ေနာက္ကြယ္မွာ ေျပာင္းတာေတြ အမ်ားႀကီး။ တခ်ိဳ ့ဟာေတြ ျဖစ္ႏိုင္ မျဖစ္ႏိုင္၊ ရွင္းရတာ၊ ျငင္းရတာေတြက အႀကိမ္ႀကိမ္ ရွိသလို၊ Requirement ကိုလည္း အႀကိမ္ႀကိမ္ ျပင္ၾကေသးတယ္။ ဒီေန ့ လက္ရွိ ရွိေနတဲ့ Requirement file ရဲ့ version no က ၁၀ ။ Side ေပါင္း ၂၀၀ ေက်ာ္ ျဖစ္သြားတယ္။ ေနာက္ထပ္ မျပင္ဘူး ေမွ်ာ္လင့္ရတာပဲ။ Requirement က အင္တာနယ္ အဖြဲ ့အစည္းက လာတာ မဟုတ္ေတာ့ တစ္ခုခုဆို ကိုယ္ေတြကေမးရင္ သူတို ့မွာ ခ်က္ခ်င္း အေျဖမေပးႏိုင္တာ မ်ိဳးေတြေၾကာင့္ ေႏွာက္ေႏွး ၾကန္ ့ၾကာမွွု ့ေတြလည္း ရွိေသးတယ္။

အခုေတာ့ SIT ကို ေရာက္သြားvပါၿပီ။ ဒီေန ့ အဖြဲ ့ထဲကလူ ၄-၅ ေယာက္က Testing လုပ္ေနၾကတယ္။ ကိုယ္လည္း Testing လုပ္တယ္။ သူတို ့တစ္ခုေတြ ့လိုက္ ကိုယ့္ကို လာေျပာလိုက္။ Bugs ဟုတ္မဟုတ္ ေဆြးေႏြးလိုက္၊ ရွင္းျပလိုက္၊ ျငင္းလိုက္။ ရန္ျဖစ္တဲ့ အဆင့္အထိေတာ့ မေရာက္ေသးပါဘူး။


"It's not a bug - it's an undocumented feature."

~Author Unknown

ကိုယ္ေရးတဲ့ အပိုင္းက မွားေနတာဆို Request ကို ကိုယ့္စီ Assign လုပ္ပါေတာင္းဆိုုရတယ္။ ဒီတိုင္း ျပင္လုိ ့ မရဘူး။ ျပင္ဖို ့ Request ပို ့မွ ျပင္လို ့ ရတယ္။ ကိုယ္ေရးတဲ့ အပိုင္းက SIT ကိုေရာက္လို ့ Test လုပ္ရင္း ကိုယ္ဘာသာ ရွာေတြ ့တဲ့ အမွားမ်ိဳးေတာင္မွ ကိုယ္ဟာကိုယ္ ျပင္ဖို ့ Request ပိုု ့ဖိုု ့ လိုုပါတယ္။ တခ်ိဳ ့ဟာေတြ ကိုယ္ထိတဲ့ ေနရာကလည္း မဟုတ္၊ တျခားသူထိ တဲ့ေနရာကလည္းမဟုတ္ မွားေနတယ္ဆို ေပၚလာေသးတယ္။ ဒါမ်ိဳးေတြၾကေတာ့ ကိုယ္ေတြျပင္တာေၾကာင့္ အဲ့ဒီလိုု အမွားေတြ ျဖစ္သြားတာလား၊ ဘယ္သူ ့အပိုင္းနဲ ့ ဆက္ေနတာလဲ၊ အရင္ကတည္းက ရွိေနတဲ့ အရာေတြလား ဆိုတာ ေသခ်ာေအာင္ UAT နဲ ့ Production လိုက္ စမ္းရတာမ်ိဳးေတြလည္း ရွိတယ္။

"One man's crappy software is another man's full time job."
~Jessica Gaston

ဒီ ၂ ရက္ ၃ ရက္ ေလာက္ SIT မွာ စမ္းၿပီးရင္ UAT ပို ့ရမယ္။ ပံုမွန္ဆို SIT မွာ ၂ ပတ္ စမ္းၿပီး အဆင္ေျပ ေလာက္တယ္ ထင္မွ UAT ပို ့ေလ့ ရွိတယ္။ UAT မွာလည္း အနည္းဆံုး ၂ ပတ္ Test လုပ္ ရတယ္။ အခုေတာ့ အခ်ိန္မရလို ့ SIT နဲ ့ UAT အၿပိဳင္ သြားရမယ္။ Production ကို ေနာက္လ ၁ ရက္ေန ့ အေရာက္ ပို ့ေပးရမယ္။

ပံုမွန္ဆို SIT ကို BA ေတြပဲ Test လုပ္တာ အခုဟာက အခ်ိန္လည္း မရ၊ ရွဳပ္ကလည္း ရွုပ္တယ္ဆိုုေတာ့ အဖြဲ ့ထဲက အခ်ိန္ရတဲ့ သူမွန္သမွ် Testing ၀င္လုပ္ဖို ့ request လုပ္ထားတယ္။ ျပင္ထားတာေတြက အမ်ားၾကီးျဖစ္ေနတာေၾကာင့္ တစ္ခုခု သူတို ့လာ ေမးရင္၊ တခါတေလ မနည္း ျပန္စဥ္းစား ရတယ္။ ပထမ ကိုယ့္အပိုင္း ဟုတ္မဟုတ္၊ သူတိုု ့ေျပာတာ အမွားျဖစ္ႏိုင္ မျဖစ္ႏိုင္။ Deployemnt Error ကလည္း ျဖစ္ႏိုင္ေသးတယ္။ ဘာေၾကာင့္ ဘယ္လုုိ ဆိုတာလည္း ရွင္းျပရေသးတယ္။

တခါတေလ စိတ္မရွည္ေတာ့ဘူး။ စိတ္မရွည္ေၾကာင္းလည္း ျပလို ့မရ၊ မျပသင့္တဲ့ အေျခအေန။ အခုလို Test ၀င္ လုပ္ေပးေနတာကို ေက်းဇူးတင္ေနရတယ္။ Bugs ေတြကို ေစာေစာရွာေတြ ေစာေစာျပင္လို ့ရတာက ကိုယ္အတြက္ ပိုေကာင္းတယ္။ Production မွေတြ ့မယ္ဆို မလြယ္ဘူး။ UAT မွာ Business Users ေတြ Testing လုပ္တဲ့အခါ Logic Error ေတြ ကလြဲရင္ တျခား အမွားေတြ ့တာမ်ိဳးက မေကာင္းဘူး။

“Don’t worry if it doesn’t work right. If everything did, you’d be out of a job.”
(Mosher’s Law of Software Engineering)

ဒီေန ့ Test လုပ္ၾကတာ ဘယ္သူမွ Flow တစ္ခုလံုးၿပီးေအာင္ Test မလုပ္ႏိုင္ဘူး။ တစ္၀က္ေလာက္ အထိ ပဲေရာက္ ၾကတယ္။ Flow တစ္ခု ၿပီးရင္ေတာင္ ေနာက္ထပ္ စမ္းရမွာေတြ အမ်ားႀကီး။ ရွာေဖြေလ ေတြ ့ရွိေလ ျဖစ္မယ္ ထင္တယ္။ ဒီေန ့ေတြ ့သေလာက္မွာေတာ့ ကိုယ္ေရးထားတဲ့အပိုင္းမွာ ႀကီးႀကီးမားမား ျပင္စရာ မပါေသးတယ္။ အေသးေလးေတြေတာ့ အမ်ားႀကီးပဲ။ ဒီေန ့ ေရာက္လာသမွ် Request ေတြရဲ့ တခ်ိဳ ့တစ္၀က္ကို ရွင္းလို ့ၿပီ။ အကုန္မရွင္းႏို္င္ဘူး။ က်န္ေသးတယ္။ ေသခ်ာပါတယ္။ ေနာင္လာမယ္ ၁ ပတ္ ၁၀ ရက္ကေတာ့ ရွာေဖြေတြ ့ရွိသမွ် Bugs ေတြနဲ ့ အလုပ္မ်ားေနအံုးမွာပါ။

Version 1 of any software is full of bugs.

Version 2 fixes all the bugs and is great.
Version 3 adds all the things users ask for, but hides all the great stuff in Version 2.
~Fred Blechman

ဒါေရးရင္ A Bug's Life ဆိုတဲ့ ကာတြန္းကား ျပန္ၾကည့္ခ်င္စိတ္ ေပၚလာတယ္။ Software Bugs ေတြျမင္ရတာ စိတ္ခ်မ္းသာဖို ့ မေကာင္းေပမယ့္ အဲ့ဒီ ကာတြန္းထဲက Bug ကေလးေလးေတြ၊ Bug လူႀကီးႀကီးေတြ၊ Bug ပိန္ပိန္ေလးေတြ ၊ Bug ၀၀ ေလးေတြ သူတို ့ေတြကိုု ၾကည့္ရတာ စိတ္ခ်မ္းဖို ့ေကာင္းပါတယ္။


4 comments:

TKLinn said...

ႊWhat a lovely and meaningful post :)
I'll copy all or your Quotes and put in my Official gtalk .. lol :D

MrDBA said...

အင္း .. အဆင္ေျပသြားမွာပါဗ်ာ။

ၾကည္ said...

ဒီ post ထဲက အရုပ္ေလးေတြနဲ႔ Quotes ေလးေတြပဲႀကိဳက္တယ္။

Myo Kyaw Htun said...

Sis ... I have "A Bug's Life" movie ... wanna watch? :)