ระบบองค์กรอ่าน 12 นาที

ระบบเก่าที่ใช้มาสิบปี ควรเขียนใหม่หรือค่อย ๆ ปรับดี

ระบบเดิมช้าและแก้ยาก แต่ยังรันงานจริงทุกวัน บทความนี้ให้เกณฑ์ตัดสินว่าควรเขียนใหม่ แทนทีละส่วน หรือปรับของเดิม พร้อมต้นทุนที่คนมักลืมคิดทั้งสามทาง

ระบบที่ใช้มานานมักมาถึงจุดที่ทุกคนรู้สึกตรงกันว่าไม่ไหวแล้ว หน้าจอโหลดช้า แก้อะไรทีต้องรอเป็นสัปดาห์ คนที่เขียนไว้แต่แรกลาออกไปนานแล้ว แต่ระบบนั้นก็ยังรันงานจริงอยู่ทุกวัน และนั่นคือเหตุผลที่การตัดสินใจเรื่องนี้ยากกว่าที่คิด บทความนี้ว่าด้วยเกณฑ์ที่ใช้ตัดสินว่าจะเขียนใหม่ทั้งระบบ ค่อย ๆ แทนทีละส่วน หรือแค่ปรับของเดิมให้อยู่ต่อได้

ทำไมการเขียนใหม่ทั้งหมดถึงฟังดูน่าสนใจเสมอ

การเขียนใหม่ให้ภาพที่สวยที่สุดในห้องประชุม ไม่ต้องแบกของเดิม ได้เลือกเครื่องมือใหม่ และประเมินเวลาได้ง่ายกว่าเพราะยังไม่เจอปัญหาจริง ทีมพัฒนาเองก็มักเชียร์ทางนี้ เพราะการไล่อ่านโค้ดที่คนอื่นเขียนไว้สิบปีนั้นน่าเบื่อกว่าการเริ่มจากหน้าว่างมาก

สิ่งที่ประมาณการมักไม่รวมคือ ระหว่างที่เขียนใหม่ ระบบเดิมยังต้องรันอยู่ ยังต้องแก้บั๊กอยู่ และธุรกิจก็ยังขอฟีเจอร์ใหม่อยู่ ทีมจึงต้องดูแลสองระบบพร้อมกันหลายเดือน ซึ่งเป็นช่วงที่แพงที่สุดและเหนื่อยที่สุดของทั้งโปรเจกต์

สิ่งที่หายไปพร้อมระบบเก่า

โค้ดเก่าที่ดูรกและไม่สมเหตุสมผล ส่วนใหญ่ไม่ได้รกเพราะคนเขียนไม่เก่ง แต่รกเพราะมันสะสมเงื่อนไขจริงของธุรกิจไว้ทีละข้อตลอดสิบปี เช่น ลูกค้ากลุ่มนี้คิดภาษีอีกแบบ สาขานี้ปิดยอดคนละวันกับที่อื่น ใบสั่งซื้อที่เกินวงเงินต้องให้สองคนอนุมัติ เงื่อนไขพวกนี้ไม่มีใครจดไว้ที่ไหน มันอยู่ในโค้ดล้วน ๆ

ระบบใหม่ที่เขียนจากสเปกซึ่งคุยกันในห้องประชุมสามครั้ง จึงมักขาดเงื่อนไขที่ระบบเก่าทำได้อยู่แล้ว และจะรู้ตัวก็ต่อเมื่อขึ้นระบบจริงแล้วมีคนโทรมาบอกว่ายอดไม่ตรง

ห้าคำถามที่ใช้ตัดสิน

1. ยังมีคนเข้าใจระบบเดิมอยู่ไหม

ถ้ายังมีคนในองค์กรที่อธิบายได้ว่าแต่ละส่วนทำงานยังไง การปรับของเดิมมักคุ้มกว่า แต่ถ้าไม่เหลือใครเลยและเอกสารก็ไม่มี ต้นทุนของการปรับจะสูงกว่าที่เห็น เพราะทุกการแก้ต้องเริ่มจากการเดาว่าจะไปพังตรงไหน

2. ปัญหาอยู่ที่เทคโนโลยีหรือที่การออกแบบ

ระบบที่ช้าเพราะเซิร์ฟเวอร์เล็กหรือฐานข้อมูลไม่มี index แก้ได้ด้วยเงินก้อนเล็กมาก ส่วนระบบที่ช้าเพราะโครงสร้างข้อมูลผิดตั้งแต่ต้น แก้ยังไงก็ไม่หาย สองอย่างนี้ดูเหมือนกันจากฝั่งผู้ใช้ แต่ราคาต่างกันสิบเท่า

3. เทคโนโลยีเดิมยังมีคนดูแลอยู่ไหม

เฟรมเวิร์กหรือภาษาที่เจ้าของเลิกออกแพตช์ความปลอดภัยแล้ว เป็นเหตุผลที่หนักที่สุดข้อเดียวที่ควรเขียนใหม่ ไม่ใช่เพราะมันเก่า แต่เพราะช่องโหว่ที่ประกาศใหม่จะไม่มีใครอุดให้ และฝ่าย IT ขององค์กรใหญ่จะไม่ยอมให้ผ่านการตรวจ

4. ธุรกิจจะเปลี่ยนอะไรในสองปีข้างหน้า

ถ้ากำลังจะเพิ่มสาขา เปิดช่องทางขายใหม่ หรือเปลี่ยนวิธีคิดราคา ระบบใหม่ที่ออกแบบเผื่อไว้จะคุ้มกว่า แต่ถ้ากระบวนการนิ่งมาห้าปีและจะนิ่งต่อไป การเขียนใหม่คือการจ่ายเงินก้อนใหญ่เพื่อให้ได้สิ่งเดิม

5. หยุดระบบได้นานแค่ไหน

ระบบที่หยุดได้หนึ่งคืนกับระบบที่หยุดไม่ได้เลย ใช้วิธีคนละแบบ อย่างหลังบังคับให้ต้องค่อย ๆ แทนทีละส่วน ไม่ว่าจะอยากเขียนใหม่แค่ไหนก็ตาม

ทางที่สามที่มักเหมาะที่สุด

แทนที่จะเลือกระหว่างเขียนใหม่ทั้งก้อนกับไม่ทำอะไรเลย วิธีที่ได้ผลกับระบบองค์กรส่วนใหญ่คือแทนทีละส่วน ตัดฟังก์ชันหนึ่งออกมาทำใหม่ ให้ระบบใหม่กับระบบเก่าทำงานคู่กันไปก่อน แล้วค่อยย้ายผู้ใช้ทีละกลุ่ม

  • เริ่มจากส่วนที่เจ็บที่สุดและเป็นอิสระที่สุด เช่น หน้ารายงาน หรือหน้าที่ลูกค้าใช้เอง
  • ให้ระบบใหม่อ่านข้อมูลจากที่เดิมไปก่อน ยังไม่ต้องย้ายฐานข้อมูลในรอบแรก
  • เปิดใช้กับผู้ใช้กลุ่มเล็กก่อน แล้วค่อยขยายเมื่อมั่นใจ
  • ปิดของเดิมทิ้งทันทีที่ไม่มีใครใช้แล้ว ไม่ปล่อยให้สองระบบอยู่คู่กันถาวร

ข้อเสียคือช้ากว่าและต้องมีวินัย ถ้าไม่ปิดของเดิมตามแผน องค์กรจะจบลงด้วยการมีสองระบบที่ต้องดูแลตลอดไป ซึ่งแย่กว่าจุดเริ่มต้น

ข้อมูลเดิมคือส่วนที่ยากที่สุดเสมอ

ไม่ว่าจะเลือกทางไหน งานที่กินเวลาที่สุดมักเป็นการย้ายข้อมูล ข้อมูลที่ใช้งานจริงมาสิบปีมักมีลูกค้าคนเดียวกันซ้ำสามรายการ มีช่องที่ถูกเอาไปใช้ผิดวัตถุประสงค์เพราะไม่มีที่ให้กรอก และมีไฟล์แนบที่ลิงก์เสียไปแล้ว งานส่วนนี้ต้องมีคนจากฝั่งธุรกิจมานั่งตัดสินด้วย ไม่ใช่งานที่ทีมพัฒนาตัดสินเองได้

เตรียมอะไรก่อนเรียกใครมาประเมิน

  1. รายชื่อฟังก์ชันที่มีคนใช้จริงในหนึ่งเดือน แยกจากฟังก์ชันที่มีอยู่แต่ไม่มีใครแตะ
  2. จำนวนผู้ใช้จริงแยกตามบทบาท และช่วงเวลาที่มีคนใช้พร้อมกันมากที่สุด
  3. รายการระบบอื่นที่ต่ออยู่กับระบบนี้ ทั้งที่ต่อผ่าน API และที่ส่งไฟล์ให้กัน
  4. ปัญหาที่ผู้ใช้บ่นบ่อยที่สุดห้าข้อ เรียงตามความถี่ ไม่ใช่ตามความรู้สึก
  5. ข้อจำกัดที่แก้ไม่ได้ เช่น ข้อมูลต้องอยู่ในประเทศ หรือต้องผ่านการตรวจของฝ่าย IT

ห้าข้อนี้ทำให้การประเมินแม่นขึ้นมาก และมักทำให้เห็นเองว่าควรเลือกทางไหน ก่อนที่จะมีใครเสนอราคาด้วยซ้ำ

คำถามที่พบบ่อย

เขียนใหม่ใช้เวลานานแค่ไหน
ระบบองค์กรขนาดกลางที่มีผู้ใช้หลายบทบาท มักใช้เวลา 4–8 เดือนกว่าจะได้เวอร์ชันที่ใช้แทนของเดิมได้จริง ตัวเลขนี้ยังไม่รวมช่วงรันคู่กับระบบเก่า ซึ่งกินเวลาเพิ่มอีกหนึ่งถึงสามเดือน
ระหว่างทำใหม่ ระบบเดิมต้องหยุดไหม
ไม่ต้อง และไม่ควร วิธีที่ปลอดภัยคือให้ระบบเดิมทำงานต่อจนกว่าระบบใหม่จะพิสูจน์ตัวเองกับผู้ใช้กลุ่มเล็กแล้ว การตัดระบบเดิมทิ้งในวันเดียวเป็นความเสี่ยงที่ไม่จำเป็น
ไม่มีเอกสารระบบเดิมเลย ทำต่อได้ไหม
ได้ แต่ต้องใส่ช่วงศึกษาของเดิมไว้ในแผนตั้งแต่แรก ประมาณสองถึงสี่สัปดาห์ขึ้นกับขนาดระบบ การข้ามขั้นนี้เพื่อประหยัดเวลา มักจบด้วยการค้นพบเงื่อนไขที่ขาดหลังขึ้นระบบไปแล้ว
ซื้อซอฟต์แวร์สำเร็จรูปมาแทนเลยได้ไหม
ได้ถ้ากระบวนการขององค์กรไม่ต่างจากมาตรฐานมากนัก แต่ถ้าระบบเดิมสะสมเงื่อนไขเฉพาะไว้เยอะ การซื้อสำเร็จรูปจะกลายเป็นการปรับแต่งจนแพงกว่าการทำระบบเฉพาะองค์กรหรือ tailor made software ที่ออกแบบตามกระบวนการจริงตั้งแต่ต้น

อยากให้ช่วยดูเคสของคุณโดยเฉพาะไหม

เล่าโจทย์มาคร่าว ๆ ได้เลย เราตีกรอบงบและระยะเวลาให้ฟรีตั้งแต่คุยครั้งแรก

บทความที่เกี่ยวข้อง

ระบบองค์กร

เชื่อม LINE OA กับระบบหลังบ้าน ทำอะไรได้มากกว่าตอบแชทและ Broadcast

Day1Solution.tech

ตอบแชท LINE OA ด้วยมือเริ่มไม่ไหวเมื่อมีเจ้าหน้าที่หลายแผนกและลูกค้าทั่วประเทศ เล่างานจริงที่เชื่อม LINE OA กับระบบหลังบ้าน ส่งเรื่องให้ถูกคนตามแผนกและพื้นที่

อ่านบทความ15 นาที
เชื่อม LINE OA กับระบบหลังบ้าน ทำอะไรได้มากกว่าตอบแชทและ Broadcast
วิศวกรสามคนดูข้อมูลบนโน้ตบุ๊กข้างไลน์ประกอบชิ้นส่วนในโรงงาน
ระบบองค์กร

ระบบ ERP โรงงาน ซื้อสำเร็จรูปหรือพัฒนาเอง เลือกยังไงไม่ให้เสียของ

Day1Solution.tech

เกณฑ์ตัดสินใจระหว่าง ERP สำเร็จรูปกับระบบที่พัฒนาเอง ต้นทุนที่คนมักลืมคิดทั้งสองทาง และทางเลือกที่สามที่โรงงานส่วนใหญ่เหมาะกว่าการเลือกสุดทางใดทางหนึ่ง

อ่านบทความ10 นาที
ระบบ ERP โรงงาน ซื้อสำเร็จรูปหรือพัฒนาเอง เลือกยังไงไม่ให้เสียของ
AI และข้อมูล

Chatbot ที่ตอบจากเอกสารบริษัท (RAG) ทำงานยังไง และพลาดตรงไหนบ้าง

Day1Solution.tech

Chatbot ที่ตอบจากเอกสารของบริษัทใช้เทคนิคที่เรียกว่า RAG บทความนี้อธิบายว่ามันทำงานยังไง พลาดตรงไหนบ้าง โดยเฉพาะกับเอกสารภาษาไทย และวัดยังไงว่าตอบถูกจริง

อ่านบทความ11 นาที
Chatbot ที่ตอบจากเอกสารบริษัท (RAG) ทำงานยังไง และพลาดตรงไหนบ้าง

พิมพ์เพื่อค้นหาในบริการ ผลงาน ผลิตภัณฑ์ บทความ ข่าว ทีมงาน และคำถามที่พบบ่อย