Buyer's Guide

จ้างพัฒนาซอฟต์แวร์ ราคาคิดยังไง งบเท่าไหร่ถึงพอ

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

ปัจจัยที่กำหนดราคาซอฟต์แวร์สั่งทำ

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

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

โมเดลคิดราคาแบบต่างๆ ในตลาดซอฟต์แวร์

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

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

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

อะไรทำให้งบพัฒนาซอฟต์แวร์บานปลาย

งบที่บานปลายเกินคาด มักไม่ได้มาจากราคาที่แพงเกินจริงตั้งแต่แรก แต่มาจากช่องโหว่ที่ป้องกันได้ระหว่างทาง

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

ช่วงราคาที่เจอบ่อยในตลาดไทย (แบบกว้างๆ)

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

  • ระบบขนาดเล็ก ฟังก์ชันเดียวชัดเจน ไม่ต้องเชื่อมต่อระบบอื่นมาก — มักอยู่ที่หลักแสนต้นๆ
  • ระบบขนาดกลาง หลายโมดูล มีการเชื่อมต่อกับระบบภายนอกอย่าง LINE หรือ PromptPay — มักขยับขึ้นไปถึงหลักแสนปลายหรือหลักล้านต้นๆ
  • ระบบขนาดใหญ่ ซับซ้อนสูง ต้องรองรับมาตรฐานอย่าง PDPA, HIPAA หรือ PCI-DSS เต็มรูปแบบ — มักอยู่ที่หลักล้านขึ้นไป

วิธีคุมงบตั้งแต่วันแรก

คุมงบให้อยู่หมัดได้ตั้งแต่ก่อนเซ็นสัญญา ไม่ต้องรอให้เกิดปัญหาก่อนแล้วค่อยแก้

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

คำถามที่ควรถามก่อนเซ็นสัญญา

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

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

ทำไมราคาซอฟต์แวร์แต่ละเจ้าต่างกันมาก?

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

ราคาเหมาจ่ายกับรายชั่วโมง แบบไหนดีกว่า?

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

มีงบจำกัด เริ่มจากอะไรดี?

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

ค่าดูแลหลังส่งมอบคิดยังไง?

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