ก่อนอื่นของกล่าวถึงคำว่า Workaround มัน คือ การแก้ปัญหาเฉพาะหน้า เฉพาะกิจครับ เช่น ระบบจำเป็นต้องต่อกับระบบ Network ผ่านสายแลน เนื่องจากต้องการความเสถียร และความเร็ว แต่ที่โต๊ะ User ยังไม่มีการติดตั้งระบบ Networkทางทีมเสนอให้ใช้ Wireless ไปก่อน เป็นต้นครับ ถ้านึกภาพไม่ลองออกไปดูพวก Trust me I am Engineer ก็ได้ครับ ฮ่าๆ
ในแง่ของการพัฒนา Software ก็มีเหมือนกัน เจ้า Workaround มัน คือ การแก้ปัญหาเฉพาะหน้า เพื่อลดเวลา หรือความยุ่งยากในการพัฒนาครับ ซึ่งส่งผลกระทบโดยตรงกับ Code และตัวระบบครับ ที่มาของการ Workaround ที่ผมเข้าใจนะ มี 2 แบบ ดังนี้
- เกิดจากทีมพัฒนา เมื่องานมันเร่ง โดยมีตัวเลขค่านึง ที่ระบบต้องคำนวณ โดยมีสูตร A และสูตร B ตัว สูตร A มีคนทำไว้แล้ว พองานมันเร่ง และ BA ก็บอกว่า ลูกค้าไม่มีทางที่ต้องใช้สูตร B คิด SA และ Dev เลยตัดสินใจให้งานมันเร็ว เขียน Code ให้ใช้สูตร A แก้ปัญหาไปก่อน เพื่อให้ UAT ผ่าน
แต่มัน คือ ระเบิดเวลาดีๆนั่นเองครับ
- ถ้ามีเคสที่ต้องใช้สูตร B ขึ้นมาหละ รื้อ Code กันยาวเลยทีนี้
- ถ้าระบบรอดไปได้นานพอ ตัว Business ที่ Developer รุ่นหลังรับรู้ มีสูตร A ส่วนสูตร B หายไปตามกาลเวลาครับ
- เกิดจาก User บ้าง การใช้ระบบผิดวัตถุประสงค์ อันนี้เจอมากับตัวเลย ระบบงานที่ต้องมีการยุ่งกับเงินสกุลต่าประเทศ สิ่งที่มาคู่กับมันเสมอ คือ อัตราแลกเปลี่ยน (Exchange Rate) แต่เจ้าอัตราแลกเปลี่ยน มันมีมากหลายแห่ง (Price Source) เช่น Reuters, Boombergs และ ธนาคารแห่งประเทศไทย (BOT) เป็นต้น แล้วที่นี้ ตัวระบบทำให้รองรับ Import หลาย Price Source อยู่แล้ว โดย Enquiry หรือ Report สามารถเลือก Price Source ได้ แต่ User ขี้เกียจครับ ไม่อยาก Import หลายแห่ง และคิดว่าไม่ต่างกันมากเลย
- วันปกติ Import อัตราแลกเปลี่ยน ของ Reuters แต่วันสิ้นเดือน เอา Exchange Rate ของ BOT เข้า Price Source Reuters แทนครับ
ในมุมของระบบ เมื่อมัน Import เข้ามาผ่าน Price Source Reuters
มันเข้าใจว่าทุก Record คือ ของ Reuters
- พอออกรายงาน ตัวเลขถูกครับ รายงานรายวัน, รายงานสิ้นเดือน ตัวเลข OK
ถ้าคนทำงานคนเดิม เปลี่ยนหน่วยงานไป
หรือ บริษัทมาพัฒนา Phase ถัดไปต่อหละ
- งานงอกครับ ที่เจอมาเข้ามาพัฒนา Phase ถัดมา ทำเสร็จแล้ว แต่ตอน Test ที่บริษัทเจอตัวเลข Diff เพราะ DataSet มันต้องใช้ Exchage Rate จาก BOT ทุกวันครับ
- ระบบ BOT DMS ที่เอาข้อมูลพวกนี้มาใข้ไม่ได้เลย เพราะ import เข้ามามั่วระบบเลยแยกไม่ออก กลายเป็นว่าต้องมา Clean ข้อมูล ปรับแก้ Code กันอีกครับ อยากได้ Exchange Rate จากไหน ต้องเอาทำ Config ไว้แทนครับ
- ถัดมาเป็นกลุ่มรายงาน ที่ส่ง BOT สิ้นเดือน ใน Pharse ที่กำลังพัฒนาอยู่ครับ User บอกว่าดึงจาก Reuters ได้เลย ตอนหลังกลายเป็นว่า User เอาสะดวก แอบซ่อนว่าต้องใช้ Exchange Rate จาก BOT ก็ คือ ต้องย้อนกลับมาตามแก้ให้
จริงเราจะไม่แก้ Software ก์ได้ครับ แต่ปัญหา คือ ตัวระบบงานของเรา มันจะกลายเป็น Special Edition ทันที แทนที่จะเป็น Stardard Edition ใช้ได้กับลูกค้าทุกๆ Site
Workaround Solution มันดีในระยะสั้น ทำให้ส่งงานทัน
แต่ก่อปัญหาในระยะยาวครับ
เป็น Technical Debt ที่มีดอกเบี้ยสูงเลยที่เดียวครับ
Discover more from naiwaen@DebuggingSoft
Subscribe to get the latest posts sent to your email.