← กลับหน้าบทความทั้งหมด

บทความ · GearGaoPro

ซ่อมระบบเดิม แก้ไข หรือเขียนระบบใหม่ เลือกอย่างไรให้คุ้มกับธุรกิจ

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

#แก้ไขระบบเดิม#เขียนระบบใหม่#ซ่อมระบบ#ระบบเก่าแก้ไม่ได้#รับแก้ไขโปรแกรม

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

แยกให้ออกก่อนว่าปัญหาอยู่ตรงไหน

ปัญหาที่ดูเหมือน "ระบบมีปัญหา" มาจากหลายชั้น และแต่ละชั้นมีทางแก้ต่างกัน

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

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

ซ่อมหรือแก้ไขระบบเดิม เหมาะเมื่อไร

  • ระบบยังตอบโจทย์งานหลักของธุรกิจ แต่มีปัญหาเป็นจุด ๆ
  • มีโค้ดต้นฉบับ (Source Code) หรือเข้าถึงโค้ดได้ และเทคโนโลยีที่ใช้ยังมีคนดูแลได้
  • ปัญหาเกิดจากฮาร์ดแวร์ การตั้งค่า หรือข้อมูลที่โตเกินไป
  • ธุรกิจไม่สามารถหยุดงานเพื่อเปลี่ยนระบบทั้งหมดได้
  • งบจำกัดและต้องการให้กลับมาใช้งานได้เร็ว

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

เขียนระบบใหม่ เหมาะเมื่อไร

  • แก้ทีไรก็พังที่อื่น หรือค่าแก้ต่อครั้งสูงจนใกล้เคียงกับการเขียนใหม่
  • ระบบรองรับงานที่ธุรกิจโตขึ้นหรือเปลี่ยนไปไม่ได้
  • ระบบปฏิบัติการหรือเทคโนโลยีที่ใช้หมดการสนับสนุนจากผู้ผลิตแล้ว เช่น Windows Server 2012 และ 2012 R2 สิ้นสุดการสนับสนุนปกติไปแล้ว ทำให้ไม่ได้รับแพตช์ความปลอดภัยตามปกติ
  • ไม่มีใครดูแลระบบเดิมได้ และไม่มีโค้ดต้นฉบับ
  • ต้องเชื่อมกับระบบอื่นหรือช่องทางใหม่ ซึ่งระบบเดิมทำไม่ได้

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

คำถามที่ควรถามตัวเองก่อนตัดสินใจ

  1. ระบบนี้ยังตอบโจทย์การทำงานหลักของธุรกิจอยู่หรือไม่
  2. ถ้าระบบหยุดไป 1 วัน ธุรกิจเสียหายแค่ไหน
  3. ตอนนี้มี Source Code และเอกสารระบบหรือไม่ ใครเป็นผู้ดูแล
  4. ค่าซ่อมหรือแก้ไขในรอบ 1–2 ปีที่ผ่านมารวมแล้วเท่าไร เมื่อเทียบกับเขียนใหม่
  5. ระบบและเซิร์ฟเวอร์ยังได้รับการสนับสนุนด้านความปลอดภัยหรือไม่
  6. ธุรกิจมีแผนขยายอะไรใน 1–3 ปีข้างหน้าที่ระบบเดิมรองรับไม่ได้

ทางสายกลาง: ซ่อมก่อน แล้วค่อยย้ายเป็นขั้น

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

ถ้าระบบเดิมไม่มี Source Code

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

ค่าใช้จ่ายและการเปรียบเทียบข้อเสนอ

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

ถ้าอยากให้ทีมงานช่วยประเมินว่าระบบของคุณควรซ่อม แก้ไข หรือเขียนใหม่ เล่าอาการมาทาง LINE ได้ ดูรายละเอียดบริการที่ รับซ่อมเซิร์ฟเวอร์ทุกอาการ แก้ไขระบบเดิม เขียนระบบใหม่ งานระบบและซอฟต์แวร์ทำระยะไกลได้ทั่วประเทศ

เซิร์ฟเวอร์หรือระบบของคุณมีอาการแบบนี้อยู่ใช่ไหม?