16.11 Budget & timeline
บทนี้ประมาณการ budget และ timeline ของ modernization ทั้งหมด — ตัวเลขเป็น rough order of magnitude ต้อง quote จาก vendor อีกครั้ง
ข้อควรระวังเกี่ยวกับตัวเลข
ตัวเลขในบทนี้เป็น ประมาณการณ์ระดับ initial planning สำหรับ budgeting ไม่ใช่ quote จริง ความเป็นจริงขึ้นกับ:
- อัตราค่าจ้างของทีม
- ราคา vendor / cloud ในขณะที่ทำ
- scope change ระหว่างทาง
- ความเร็วของทีมในการเรียนรู้
Timeline รวม
Wave 0: ████ (2 สัปดาห์)
Wave 1: ████████████████ (3 เดือน)
Wave 2: ████████████████████████████ (12 เดือน)
Wave 3: ████████████████████████████████ (15 เดือน)
▲
│
modernization เสร็จสมบูรณ์
เดือน: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19รวม: 18-24 เดือน (parallel Wave 2 + Wave 3 ช่วยลดเวลา)
ประมาณการทรัพยากร (effort)
| Wave | Effort | ทีม | ระยะเวลา |
|---|---|---|---|
| Wave 0 | 4 สัปดาห์-คน | 2 คน | 2 สัปดาห์ |
| Wave 1 | 36 สัปดาห์-คน | 4.5 คน | 12 สัปดาห์ |
| Wave 2 | 156 สัปดาห์-คน | 3.5 คน | 52 สัปดาห์ |
| Wave 3 | 195 สัปดาห์-คน | 3.5 คน | 65 สัปดาห์ |
| รวม | ~390 สัปดาห์-คน | ~18 เดือน |
ประมาณการงบประมาณ
ค่าบุคลากร (in-house team)
สมมติฐาน: ค่าจ้าง backend/frontend engineer กลาง ~80,000 บาท/เดือน, senior ~150,000 บาท/เดือน
| บทบาท | จำนวน | ระยะเวลา | ต่อเดือน | รวม |
|---|---|---|---|---|
| Backend engineer (existing) | 2 | 18 เดือน | 160,000 | 2,880,000 |
| Frontend engineer (existing) | 1 | 15 เดือน | 80,000 | 1,200,000 |
| DevOps engineer (new hire) | 1 | 18 เดือน | 120,000 | 2,160,000 |
| Senior Go engineer (new) | 1 | 12 เดือน | 150,000 | 1,800,000 |
| Senior Vue engineer (new) | 1 | 15 เดือน | 150,000 | 2,250,000 |
| Tech Lead | 1 | 18 เดือน | 200,000 | 3,600,000 |
| รวมบุคลากร | ~13,890,000 บาท |
ค่า training
| หัวข้อ | ราคาประมาณ |
|---|---|
| Go training (2 สัปดาห์, 3 คน) | 150,000 |
| Vue 3 + Nuxt 3 training (2 สัปดาห์, 3 คน) | 150,000 |
| DDD/Hexagonal workshop (1 สัปดาห์) | 200,000 |
| Observability workshop (2 วัน) | 80,000 |
| Testing strategy (3 วัน) | 100,000 |
| รวม training | ~680,000 บาท |
ค่า consultant
| หัวข้อ | ระยะเวลา | ราคา |
|---|---|---|
| DDD/Hexagonal consultant | 2 เดือน | 600,000 |
| Migration review (multiple sessions) | ตลอด | 400,000 |
| รวม consultant | ~1,000,000 บาท |
ค่า infrastructure / tooling
| หัวข้อ | ราคา/เดือน | ระยะเวลา | รวม |
|---|---|---|---|
| Monitoring VM (Loki/Grafana/Prometheus) | 5,000 | 18 เดือน | 90,000 |
| Secret manager (GCP) | 3,000 | 18 เดือน | 54,000 |
| CI/CD runner (Bitbucket) | รวมในแพ็กเกจ | 0 | |
| Container registry (GCR) | 2,000 | 18 เดือน | 36,000 |
| CDN (Cloudflare Business) | 2,000 | 12 เดือน | 24,000 |
| Database HA (additional node) | 8,000 | 18 เดือน | 144,000 |
| รวม infrastructure | ~348,000 บาท |
Contingency (20%)
| ราคา | |
|---|---|
| Subtotal | ~15,918,000 |
| Contingency 20% | ~3,183,600 |
| รวมทั้งสิ้น | ~19,100,000 บาท |
การกระจายงบตามเวลา
เดือนที่: 1 2 3 4 5 6 7 8 9 10 11 12 ... 18
│ │ │ │ │ │ │ │ │ │ │ │ │
Wave 0 ██ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ │
Wave 1 ████████████│ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ │
Wave 2 ██████████████████████████████████████████████████████████
│ │ │ │ │ │ │ │ │ │ │ │ │
Wave 3 ████████████████████████████████████████████████████████████
งบรายเดือน (กิโลบาท):
500 900 1000 1200 1200 1200 1200 1200 1200 1200 1200 1200 ... 1200งบสูงสุดอยู่ในช่วง Wave 2 + Wave 3 parallel (~1,200,000 บาท/เดือน)
ROI analysis
ต้นทุนของการไม่ทำ modernization
ประมาณการณ์ต้นทุนที่จะเพิ่มขึ้นถ้าไม่ modernize:
| ประเภทต้นทุน | ปัจจุบัน/ปี | ใน 3 ปี (เลวร้ายขึ้น) |
|---|---|---|
| Incident response (เนื่องจาก no monitoring) | 500,000 | 1,500,000 |
| Manual deployment time | 200,000 | 300,000 |
| Bug fix ที่ควรเป็นของ debt | 800,000 | 1,500,000 |
| Loss of productivity (slow tooling) | 400,000 | 600,000 |
| Security breach risk (probability × impact) | (จากการประเมิน risk) | ~10,000,000+ |
| รวม | ~1,900,000/ปี | ~3,900,000/ปี |
ผลตอบแทนจาก modernization
ประมาณการณ์ผลประโยชน์ต่อปีหลังเสร็จ:
| หมวด | มูลค่า/ปี |
|---|---|
| Incident ลดลง (MTTR ลดลง) | 700,000 |
| Deployment time ลดลง (CI/CD) | 300,000 |
| Velocity เพิ่ม (developer ทำงานเร็วขึ้น) | 1,500,000 |
| ลดความเสี่ยง security | (avoided cost) |
| รวม | ~2,500,000/ปี |
Payback period: ประมาณ 7-8 ปี (ถ้าคิดแค่เงิน) Break-even: ประมาณปีที่ 8-9
ROI ที่ไม่ใช่ตัวเงิน
- ลดความเสี่ยง security breach (หลีกเลี่ยง cost ที่ไม่อาจประเมินได้)
- รักษา/ดึงดูด talent (modern stack)
- ความสามารถในการเพิ่ม feature เร็วขึ้น
- ความน่าเชื่อถือของระบบ (ในมุมมองผู้ใช้)
ทางเลือกเพื่อลดงบ
ทางเลือก A · ทำ Wave 0 + Wave 1 เทียบ (stabilize, ไม่ modernize)
| งบ | ~3,000,000 บาท |
| ระยะเวลา | 4 เดือน |
| ผลลัพธ์ | ลด Critical + High debt, observability, CI/CD |
| สิ่งที่ไม่ได้ | ยังเป็น monolith, ยังใช้ React 16 |
เหมาะถ้างบจำกัด — ได้ ROI ส่วนใหญ่โดยใช้เงินน้อย
ทางเลือก B · ทำ Wave 0-2 (backend modernize, frontend ค้าง)
| งบ | ~12,000,000 บาท |
| ระยะเวลา | 18 เดือน |
| ผลลัพธ์ | backend เป็น Go microservices, frontend ยัง React |
| สิ่งที่ไม่ได้ | frontend debt ยังอยู่ |
ทางเลือก C · ทำครบทั้ง 4 Wave
| งบ | ~19,100,000 บาท |
| ระยะเวลา | 18-24 เดือน |
| ผลลัพธ์ | modernization เต็มรูปแบบ |
ทางเลือก D · ใช้ vendor outsourcing
บางองค์กรเลือกจ้าง vendor ทำ migration:
- ข้อดี: ทีมในไม่ต้องเสียเวลา learning curve
- ข้อเสีย: ทีมในไม่เรียนรู้, knowledge gap ใหญ่
งบ vendor: อาจสูงกว่า in-house 1.5-2 เท่า แต่เร็วกว่า
การติดตามงบ
รายเดือน
- ติดตาม spending จริง vs แผน
- variance > 10% → review กับ lead
- variance > 20% → review กับผู้บริหาร
ราย Wave
- ประเมิน cost-to-complete
- เปรียบเทียบกับ value delivered
- ตัดสินใจ continue / pause / change scope
ข้อเสนอแนะงบ
- เริ่มต้นด้วย Wave 0 + Wave 1 — ROI สูงสุด, risk ต่ำสุด
- หลัง Wave 1 เสร็จ ประเมินใหม่ — KPI, team readiness, แล้วค่อยตัดสินใจ Wave 2/3
- อย่าล็อคงบระยะยาวตั้งแต่ต้น — เพราะ scope อาจเปลี่ยน
- ลงทุนใน training — เพราะคนคือตัวแปรสำคัญที่สุด
สรุป
Modernization เต็มรูปแบบใช้เวลา ~18-24 เดือน งบประมาณ ~19 ล้านบาท
แต่ไม่จำเป็นต้องทำครบ — Wave 0 + Wave 1 (4 เดือน, 3 ล้านบาท) ลด Critical debt และวางพื้นฐาน observability ได้ ROI ส่วนใหญ่
บทถัดไปจะเป็น success criteria และ rollback plan