02-347-7730  |  Saeree ERP - ระบบ ERP ครบวงจรสำหรับธุรกิจไทย ติดต่อเรา

วิธีเขียน Requirement Spec สำหรับโครงการ ERP

วิธีเขียน Requirement Spec สำหรับโครงการ ERP
  • 25
  • มีนาคม
สำหรับทีม Implement

วิธีเขียน Requirement Spec สำหรับโครงการ ERP — เอกสารที่ทำให้โปรเจกต์สำเร็จหรือล้มเหลว

จากประสบการณ์ของทีม Grand Linux Solution ที่ Implement ระบบ ERP ให้กับหน่วยงานภาครัฐและเอกชนมากว่า 10 ปี พบว่า โครงการ ERP ที่มี Requirement Spec ที่ดีมีโอกาสสำเร็จสูงกว่าโครงการที่ spec ไม่ชัดเจนถึง 3 เท่า เอกสารนี้ไม่ใช่แค่ "list ฟีเจอร์" ที่อยากได้ แต่เป็นสัญญาทางความคาดหวังระหว่างผู้ว่าจ้างกับผู้พัฒนา — ถ้าเขียนไม่ชัด สิ่งที่ได้คือระบบที่ "ทำได้ตาม spec แต่ไม่ตรงความต้องการ"

บทความนี้เป็นคู่มือฉบับสมบูรณ์สำหรับทีมที่ต้องเขียน Requirement Spec, TOR (ภาครัฐ) หรือ RFP (เอกชน) ครอบคลุมโครงสร้าง 12 หัวข้อ, ตัวอย่าง spec ที่ดี vs ไม่ดี 8 ข้อ, Non-Functional Requirements ที่มักถูกลืม, และ Checklist 20 ข้อก่อนส่ง

สรุปสั้น: Requirement Spec = เอกสารที่ระบุว่าองค์กรต้องการอะไรจากระบบ ERP ไม่ใช่แค่ list ฟีเจอร์ แต่ต้องครอบคลุม Functional, Non-Functional, Data Migration, Integration, Training, SLA และ Acceptance Criteria — ถ้าขาดข้อใดข้อหนึ่ง อาจเกิด scope creep, ค่าใช้จ่ายบาน, และโปรเจกต์ล่าช้า

Requirement Spec vs TOR vs RFP — ต่างกันอย่างไร?

หลายองค์กรสับสนระหว่าง 3 เอกสารนี้ จริงๆ แล้วมีจุดประสงค์ต่างกัน แต่ Requirement Spec เป็นแกนกลางของทั้ง TOR และ RFP — ถ้าเขียน Requirement Spec ดี จะนำไปใส่ในเอกสารใดก็ได้

รายการ Requirement Spec TOR (ภาครัฐ) RFP (เอกชน)
จุดประสงค์ระบุความต้องการทางเทคนิคกำหนดขอบเขตงานจัดซื้อจัดจ้างเชิญชวน vendor เสนอ solution
ผู้จัดทำทีม IT + Business Analystคณะกรรมการจัดซื้อ + ทีม ITทีม IT + Procurement
กฎหมายไม่มีข้อบังคับพ.ร.บ.จัดซื้อจัดจ้าง 2560นโยบายบริษัท
ระดับรายละเอียดละเอียดมาก (เทคนิค)ละเอียด + มีเงื่อนไขทางกฎหมายปานกลาง (เปิดให้ vendor เสนอ)
เผยแพร่ที่ภายในองค์กร / ส่ง vendorระบบ e-GP (จัดซื้อจัดจ้างภาครัฐ)ส่งตรงถึง vendor ที่เชิญ
มีราคากลางไม่จำเป็นต้องมี (ภาครัฐบังคับ)อาจมีหรือไม่มี
คุณสมบัติผู้เสนอไม่ระบุระบุชัดเจน (ทุนจดทะเบียน, ผลงาน)แล้วแต่กำหนด

โครงสร้าง Requirement Spec ที่ดี — 12 หัวข้อที่ต้องมี

ไม่ว่าจะเขียนเป็น Requirement Spec, TOR, หรือ RFP โครงสร้างต่อไปนี้ครอบคลุมทุกมิติที่จำเป็น:

# หัวข้อ สิ่งที่ต้องระบุ
1บทนำ + วัตถุประสงค์ที่มาของโครงการ ปัญหาที่ต้องแก้ เป้าหมายหลัก KPI ที่วัดผลสำเร็จ
2ขอบเขตโครงการ (Scope)โมดูลที่ต้องการ จำนวนหน่วยงาน/สาขา สิ่งที่อยู่ใน scope และ สิ่งที่ไม่อยู่ใน scope (สำคัญมาก!)
3Functional Requirementsความต้องการเชิงฟังก์ชัน แยกตามโมดูล: งบประมาณ, การเงิน/บัญชี, จัดซื้อจัดจ้าง, พัสดุ/คลัง, บุคลากร, รายงาน
4Non-Functional RequirementsPerformance, Security, Availability, Scalability, Accessibility (WCAG 2.1) — ดูรายละเอียดในหัวข้อถัดไป
5User Requirementsจำนวนผู้ใช้ (concurrent + total), กลุ่มผู้ใช้ (admin, approver, viewer), สิทธิ์ (RBAC), ภาษา (TH/EN)
6Data Migrationข้อมูลอะไรต้องย้าย รูปแบบ ปริมาณ ระบบต้นทาง วิธี (Big Bang / Phased) ข้อมูลย้อนหลังกี่ปี
7Integrationระบบที่ต้องเชื่อมต่อ: GFMIS, e-GP, ธนาคาร, e-Tax Invoice, DPIS, e-Saraban วิธีเชื่อมต่อ (API/File/DB)
8Technical RequirementsOS, Database (PostgreSQL/Oracle), Browser, มาตรฐาน, Cloud/On-premise, Open Source/Proprietary
9Training & Change Managementอบรมกี่คน กี่รอบ ที่ไหน คู่มือ (กี่ชุด พิมพ์/ออนไลน์) แผน Change Management
10SLA & Supportเวลาตอบรับ (Response Time) เวลาแก้ไข (Resolution Time) ช่วงเวลาให้บริการ ช่องทางติดต่อ ระยะเวลา warranty
11Acceptance Criteriaเกณฑ์ส่งมอบแต่ละ Phase, UAT (ใครทดสอบ กี่วัน กี่ test case), Performance Test, เกณฑ์ตรวจรับ
12Timeline & Milestonesจำนวน Phase ระยะเวลาแต่ละ Phase deliverables แต่ละ milestone งวดเงิน เงื่อนไขการจ่าย

ตัวอย่าง Functional Requirement — ที่ดี vs ที่ไม่ดี

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

โมดูล ❌ ไม่ดี (กว้างเกินไป) ✅ ดี (เฉพาะเจาะจง)
งบประมาณ"ระบบต้องบริหารงบประมาณได้""ระบบต้องรองรับการจัดสรรงบประมาณ 3 ระดับ (แผน/งาน/กิจกรรม) ตามผังงบประมาณที่กำหนด สามารถตั้งงบได้ทั้งเงินงบประมาณ เงินนอกงบประมาณ และเงินรายได้ โดยแสดงยอดตั้ง ยอดผูกพัน ยอดใช้จ่าย ยอดคงเหลือ แบบ real-time"
รายงาน"ระบบต้องออกรายงานได้""ระบบต้องออกรายงานสถานะการใช้จ่ายงบประมาณ แยกตามแหล่งเงิน แผนงาน ผลผลิต กิจกรรม โดยแสดงยอดตั้ง ยอดใช้ ยอดผูกพัน ยอดคงเหลือ พร้อม Export เป็น Excel/PDF ได้ และรองรับการตั้งเวลาส่งรายงานอัตโนมัติ (Scheduled Report)"
ผู้ใช้"ระบบต้องรองรับผู้ใช้หลายคน""ระบบต้องรองรับผู้ใช้งานพร้อมกัน (Concurrent Users) อย่างน้อย 200 คน โดย Response Time ≤ 3 วินาที สำหรับทุกหน้าจอ และ ≤ 10 วินาที สำหรับรายงานที่มีข้อมูลมากกว่า 100,000 แถว"
จัดซื้อ"ระบบต้องจัดซื้อจัดจ้างได้""ระบบต้องรองรับกระบวนการจัดซื้อจัดจ้างตั้งแต่ PR → PO → GR → Invoice → Payment พร้อม Workflow อนุมัติอย่างน้อย 3 ระดับ (ผู้ขอ → หัวหน้ากลุ่ม → ผู้อำนวยการ) และสร้างเอกสาร e-GP ได้"
พัสดุ"ระบบต้องดูแลสต็อกได้""ระบบต้องบริหารคลังพัสดุแบบ FIFO รองรับ Barcode/QR Code Scan สำหรับรับ-จ่าย แจ้งเตือนเมื่อสินค้าต่ำกว่า Minimum Stock รองรับการตรวจนับ (Stock Take) พร้อม Aging Report"
บุคลากร"ระบบต้องจัดการ HR ได้""ระบบต้องเก็บข้อมูลบุคลากรตามมาตรฐาน DPIS (กรมบัญชีกลาง) รองรับการลา สาย ขาด OT พร้อมคำนวณเงินเดือนและเชื่อมต่อระบบโอนเงินธนาคารได้ (BAHTNET/Bulk Payment)"
ความปลอดภัย"ระบบต้องปลอดภัย""ระบบต้องผ่านการทดสอบ OWASP Top 10 รองรับ 2FA (Two-Factor Authentication) มี RBAC (Role-Based Access Control) มี Audit Trail บันทึกทุกการเข้าถึงและแก้ไขข้อมูล เก็บ Log อย่างน้อย 1 ปี และเข้ารหัสข้อมูลด้วย TLS 1.2+"
Integration"ระบบต้องเชื่อมต่อระบบอื่นได้""ระบบต้องเชื่อมต่อ GFMIS (ส่งข้อมูลการเบิกจ่ายรายวัน Format XML ตามมาตรฐานกรมบัญชีกลาง) e-GP (ดึงข้อมูลผู้ขายและสัญญา) และธนาคาร (โอนเงินผ่าน API/File Upload ตามมาตรฐาน BAHTNET)"
⚠️ ข้อผิดพลาดที่พบบ่อย: เขียน spec กว้างเกินไป → vendor ตีความตามใจ → เกิด scope creep → เสียเงินเพิ่ม → โปรเจกต์ล่าช้า — spec ที่ดีต้องวัดได้ (มีตัวเลข มีเกณฑ์ มีมาตรฐานอ้างอิง)

Non-Functional Requirements ที่มักถูกลืม

Functional Requirements บอกว่า "ระบบต้องทำอะไรได้" แต่ Non-Functional Requirements บอกว่า "ระบบต้องทำได้ดีแค่ไหน" — หลายองค์กรเขียนแค่ Functional แล้วลืม Non-Functional ซึ่งเป็นสาเหตุที่ระบบ "ใช้ได้ แต่ช้า/ไม่ปลอดภัย/ล่มบ่อย"

หมวด ตัวอย่าง Requirement วิธีทดสอบ
PerformanceResponse Time ≤ 3 วินาที (หน้าจอปกติ), ≤ 10 วินาที (รายงาน)Load Testing ด้วย JMeter/k6
AvailabilityUptime ≥ 99.5%, Planned Maintenance เฉพาะนอก Office Hours (18:00-06:00)Monitoring (Uptime Robot, Grafana)
Securityผ่าน OWASP Top 10, 2FA, RBAC, Audit Trail, TLS 1.2+, เก็บ Log ≥ 1 ปีPenetration Testing + Security Audit
Scalabilityรองรับขยาย 200 → 2,000 users ภายใน 3 ปี โดยไม่ต้องเปลี่ยน architectureCapacity Planning + Stress Test
AccessibilityWCAG 2.1 Level AA — รองรับ Screen Reader, Keyboard NavigationaXe / Lighthouse Audit
Backup & DRFull Backup ทุกวัน, RPO ≤ 24 ชม., RTO ≤ 4 ชม., DR Site แยกจาก ProductionDR Drill ปีละ 1 ครั้ง
Browserรองรับ Chrome, Edge, Firefox (2 versions ล่าสุด) + Mobile Safari/ChromeCross-browser Testing
Data Retentionเก็บข้อมูลธุรกรรมย้อนหลัง 10 ปี ตาม พ.ร.บ.การบัญชี + PDPAตรวจสอบ Data Lifecycle Policy

Checklist 20 ข้อก่อนส่ง Requirement Spec

ก่อนส่ง spec ให้ vendor หรือยื่น TOR เข้าระบบ e-GP ต้องเช็คให้ครบทุกข้อ:

ขอบเขต (Scope)

  1. ระบุ สิ่งที่อยู่ใน scope ชัดเจน (โมดูลอะไรบ้าง)
  2. ระบุ สิ่งที่ไม่อยู่ใน scope ชัดเจน (สำคัญพอๆ กัน!)
  3. ระบุจำนวนหน่วยงาน/สาขาที่ต้องใช้ระบบ
  4. ระบุจำนวนผู้ใช้ (total + concurrent)

Functional Requirements

  1. แยก Functional Requirements ตามโมดูลอย่างชัดเจน
  2. ทุก requirement วัดได้ (มีตัวเลข/เกณฑ์)
  3. ไม่มี requirement ที่ขัดแย้งกัน
  4. ผู้ใช้จริง (ไม่ใช่แค่ IT) มีส่วนร่วมในการเขียน
  5. ครอบคลุมกระบวนการ end-to-end (ไม่ใช่แค่ทำได้ แต่เชื่อมต่อกัน)
  6. ระบุรายงานที่ต้องการ พร้อมรูปแบบ (Excel/PDF/Dashboard)

Non-Functional Requirements

  1. ระบุ Performance เป็นตัวเลข (Response Time, Throughput)
  2. ระบุ Security Requirements (OWASP, 2FA, RBAC, Audit Trail)
  3. ระบุ Availability + Backup/DR (Uptime, RPO, RTO)
  4. ระบุ Browser + Device ที่ต้องรองรับ

Integration & Data

  1. ระบุทุกระบบที่ต้องเชื่อมต่อ + วิธีเชื่อมต่อ (API/File/DB)
  2. ระบุข้อมูลที่ต้อง Migrate + ปริมาณ + รูปแบบ
  3. ระบุ Data Retention Policy (เก็บข้อมูลกี่ปี)

อื่นๆ

  1. ระบุแผนอบรม (จำนวนคน, รอบ, สถานที่, คู่มือ)
  2. ระบุ SLA + เงื่อนไข Warranty อย่างชัดเจน
  3. ระบุ Acceptance Criteria + วิธีตรวจรับแต่ละ Phase
สิ่งที่ Saeree ERP ช่วยได้:
  • มี Template Requirement Spec ให้ — ไม่ต้องเริ่มจากศูนย์ ขอได้ที่ sale@grandlinux.com
  • ทีม Pre-sales ช่วยเขียน spec ฟรี — ก่อนตัดสินใจ เราช่วยวิเคราะห์ requirement ให้
  • รองรับ Non-Functional Requirements ทั้งหมด — OWASP, 2FA, RBAC, Audit Trail, DR, Multi-browser
  • ประสบการณ์เขียน TOR ภาครัฐ — เข้าใจ กระบวนการจัดซื้อจัดจ้าง และมาตรฐานกรมบัญชีกลาง

"โครงการ ERP ที่ดี เริ่มจาก Requirement Spec ที่ดี — ไม่มีทางลัด ถ้าเขียน spec ไม่ชัด สิ่งที่ได้คือระบบที่ไม่ตรงความต้องการ ใช้เวลาอีก 1 สัปดาห์เขียน spec ให้ดี ดีกว่าใช้เวลาอีก 6 เดือนแก้ระบบที่ผิด"

แหล่งอ้างอิง

  • Panorama Consulting Group — "ERP Report 2024: Common Causes of Project Failure"
  • Gartner — "How to Write an Effective ERP RFP" (2024)
  • สำนักงบประมาณ — "แนวทางการจัดทำ TOR สำหรับโครงการด้านเทคโนโลยีสารสนเทศ"
  • OWASP Foundation — "OWASP Application Security Verification Standard (ASVS) v4.0"

สนใจระบบ ERP สำหรับองค์กรของคุณ?

ปรึกษาผู้เชี่ยวชาญจาก Grand Linux Solution ฟรี ไม่มีค่าใช้จ่าย

ขอ Demo ฟรี

โทร 02-347-7730 | sale@grandlinux.com

Saeree ERP Team

เกี่ยวกับผู้เขียน

ทีมงานผู้เชี่ยวชาญด้านระบบ ERP จากบริษัท แกรนด์ลีนุกซ์ โซลูชั่น จำกัด พร้อมให้คำปรึกษาและบริการด้านระบบ ERP ครบวงจร