260322:1648 Correct Coresspondence / Doing RFA / Correct CI
CI Pipeline / build (push) Failing after 12m41s
Build and Deploy / deploy (push) Failing after 2m44s

This commit is contained in:
admin
2026-03-22 16:48:12 +07:00
parent e5deedb42e
commit 11984bfa29
683 changed files with 105251 additions and 29068 deletions
@@ -1,16 +1,19 @@
# 📋 Stakeholder Sign-off & Risk Management — LCBP3-DMS v1.8.0
---
title: 'Stakeholder Sign-off Process & Risk Register'
version: 1.0.0
status: DRAFT — Awaiting Stakeholder Review
owner: Nattanin Peancharoen (Product Owner / System Architect)
last_updated: 2026-03-11
related:
- specs/01-Requirements/01-05-acceptance-criteria.md
- specs/01-Requirements/01-04-user-stories.md
- specs/00-Overview/00-06-training-plan.md
- specs/06-Decision-Records/ADR-016-security-authentication.md
- specs/01-Requirements/01-05-acceptance-criteria.md
- specs/01-Requirements/01-04-user-stories.md
- specs/00-Overview/00-06-training-plan.md
- specs/06-Decision-Records/ADR-016-security-authentication.md
---
> [!IMPORTANT]
@@ -24,6 +27,7 @@ related:
### 1.1 วัตถุประสงค์
การ Sign-off Process ทำหน้าที่:
1. **ยืนยัน Scope** — ทุกฝ่ายเห็นชอบ Feature ที่จะส่งมอบใน MVP
2. **ยืนยัน UAT Criteria** — เห็นชอบเกณฑ์การพิจารณาว่า "ผ่าน" คืออะไร (อ้างอิง `01-05-acceptance-criteria.md`)
3. **ยืนยัน Go-Live Readiness** — แต่ละองค์กรยืนยันว่าทีมพร้อม (Training, Data, User Access)
@@ -33,14 +37,14 @@ related:
### 1.2 Stakeholder Registry
| # | Organization | บทบาทในโครงการ | บทบาทในระบบ DMS | ตัวแทน Sign-off |
|---|-------------|--------------|----------------|----------------|
| 1 | **กทท.** (การท่าเรือแห่งประเทศไทย) | Project Owner | System Owner, ผู้ใช้ระดับบน | TBD |
| 2 | **สค.** (สำนักงานโครงการ) | Project Management | Org Admin, Document Control | TBD |
| 3 | **TEAM** (ที่ปรึกษาออกแบบ) | Design Consultant | Document Control, Reviewer | TBD |
| 4 | **คคง.** (คณะกรรมการตรวจงาน) | Construction Supervisor | Reviewer, Approver | TBD |
| 5 | **ผรม.** (ผู้รับจ้างหลัก) | Main Contractor | Document Control, Submitter | TBD |
| 6 | **NAP** (ผู้พัฒนาระบบ) | System Developer | Superadmin, Support | Nattanin P. |
| # | Organization | บทบาทในโครงการ | บทบาทในระบบ DMS | ตัวแทน Sign-off |
| --- | ---------------------------------- | ----------------------- | --------------------------- | --------------- |
| 1 | **กทท.** (การท่าเรือแห่งประเทศไทย) | Project Owner | System Owner, ผู้ใช้ระดับบน | TBD |
| 2 | **สค.** (สำนักงานโครงการ) | Project Management | Org Admin, Document Control | TBD |
| 3 | **TEAM** (ที่ปรึกษาออกแบบ) | Design Consultant | Document Control, Reviewer | TBD |
| 4 | **คคง.** (คณะกรรมการตรวจงาน) | Construction Supervisor | Reviewer, Approver | TBD |
| 5 | **ผรม.** (ผู้รับจ้างหลัก) | Main Contractor | Document Control, Submitter | TBD |
| 6 | **NAP** (ผู้พัฒนาระบบ) | System Developer | Superadmin, Support | Nattanin P. |
---
@@ -85,6 +89,7 @@ Go-Live ✅
**ต้องผ่านทั้งหมดก่อน Sign-off:**
#### Functional Requirements
- [ ] AC-AUTH-001~005 ผ่าน (Authentication)
- [ ] AC-ADMIN-001~005 ผ่าน (User & Org Management)
- [ ] AC-CORR-001~002 ผ่าน (Correspondence Core)
@@ -94,20 +99,24 @@ Go-Live ✅
- [ ] AC-STOR-001 ผ่าน (File Storage + ClamAV)
#### Security & Compliance
- [ ] AC-SEC-001~005 ผ่าน (OWASP Top 10 Security)
- [ ] AC-AUDIT-001 ผ่าน (Audit Log Coverage)
- [ ] Penetration Test ผ่าน (Pre Go-Live)
#### Performance
- [ ] AC-PERF-001 ผ่าน (Response Time < 200ms P90)
- [ ] AC-PERF-003 ผ่าน (Doc Number Concurrent Safe)
#### Operations
- [ ] AC-DATA-001 ผ่าน (Backup & DR Test)
- [ ] Monitoring Stack ทำงาน (Grafana แสดง Metrics)
- [ ] Alerting ตั้งค่าแล้ว (PagerDuty/Slack หรือ LINE)
#### Readiness
- [ ] Training ทุก Role เสร็จแล้ว (>90% Attendance)
- [ ] User Accounts ทุกองค์กรสร้างแล้ว
- [ ] Support LINE Group พร้อม
@@ -118,21 +127,23 @@ Go-Live ✅
### 1.5 🖊️ Stakeholder Sign-off Table
> **คำชี้แจง:** การลงนามในตารางนี้หมายถึง ตัวแทนองค์กรได้อ่าน รับทราบ และเห็นชอบกับ:
>
> 1. Feature Scope ของ LCBP3-DMS v1.8.0 ตามที่อธิบายใน `specs/01-Requirements/`
> 2. Acceptance Criteria ตามที่กำหนดใน `01-05-acceptance-criteria.md`
> 3. Risk Register และ Mitigation Plan ในเอกสารนี้ (ส่วนที่ 2)
> 4. ยืนยันว่าทีมงานขององค์กรได้รับการ Training และพร้อม Go-Live
| Organization | ตัวแทน | ตำแหน่ง | ลายมือชื่อ | วันที่ | หมายเหตุ |
|-------------|--------|---------|----------|-------|---------|
| **กทท.** | | | | | |
| **สค.** | | | | | |
| **TEAM** | | | | | |
| **คคง.** | | | | | |
| **ผรม.** | | | | | |
| **NAP** | Nattanin P. | System Architect | | | |
| Organization | ตัวแทน | ตำแหน่ง | ลายมือชื่อ | วันที่ | หมายเหตุ |
| ------------ | ----------- | ---------------- | ---------- | ------ | -------- |
| **กทท.** | | | | | |
| **สค.** | | | | | |
| **TEAM** | | | | | |
| **คคง.** | | | | | |
| **ผรม.** | | | | | |
| **NAP** | Nattanin P. | System Architect | | | |
**เงื่อนไข Go-Live:**
- ต้องได้รับ Sign-off จากอย่างน้อย **4 จาก 5 องค์กร** (กทท., สค., TEAM, คคง./ผรม. อย่างน้อย 1)
- กทท. **ต้องลงนาม** ในฐานะ Project Owner (Mandatory)
- หาก < 4 ลายเซ็น → ต้องนัด Emergency Review ก่อน Go-Live
@@ -143,9 +154,9 @@ Go-Live ✅
> เพิ่ม Issues ที่พบระหว่าง UAT ที่นี่ ก่อน Sign-off
| # | Issue | Priority | หน่วยงานที่พบ | Status | Resolution / Timeline |
|---|-------|---------|--------------|--------|----------------------|
| — | *ยังไม่มี Issue (UAT ยังไม่เริ่ม)* | — | — | — | — |
| # | Issue | Priority | หน่วยงานที่พบ | Status | Resolution / Timeline |
| --- | ---------------------------------- | -------- | ------------- | ------ | --------------------- |
| — | _ยังไม่มี Issue (UAT ยังไม่เริ่ม)_ | — | — | — | — |
---
@@ -164,12 +175,12 @@ Go-Live ✅
🔴 C = Critical 🟠 H = High 🟡 M = Medium 🟢 L = Low
```
| Level | Action Required |
|-------|----------------|
| 🔴 Critical | แก้ก่อน Go-Live — Blocker |
| 🟠 High | ต้องมี Mitigation Plan ก่อน Go-Live |
| 🟡 Medium | ต้องมี Contingency Plan |
| 🟢 Low | Monitor + Document |
| Level | Action Required |
| ----------- | ----------------------------------- |
| 🔴 Critical | แก้ก่อน Go-Live — Blocker |
| 🟠 High | ต้องมี Mitigation Plan ก่อน Go-Live |
| 🟡 Medium | ต้องมี Contingency Plan |
| 🟢 Low | Monitor + Document |
---
@@ -181,21 +192,23 @@ Go-Live ✅
**RISK-001: ผู้ใช้ปฏิเสธการเปลี่ยนแปลง (User Adoption Failure)**
| Attribute | Detail |
|-----------|--------|
| **Category** | People / Change Management |
| **Probability** | สูง (3) — คนที่คุ้นชิน Email มักต้านระบบใหม่ |
| **Impact** | วิกฤต (4) — ระบบดีแค่ไหนก็ไร้ประโยชน์ถ้าคนไม่ใช้ |
| **Level** | 🔴 Critical (3×4=12) |
| Attribute | Detail |
| ----------------- | ------------------------------------------------------- |
| **Category** | People / Change Management |
| **Probability** | สูง (3) — คนที่คุ้นชิน Email มักต้านระบบใหม่ |
| **Impact** | วิกฤต (4) — ระบบดีแค่ไหนก็ไร้ประโยชน์ถ้าคนไม่ใช้ |
| **Level** | 🔴 Critical (3×4=12) |
| **Trigger Signs** | Login Rate < 50% ในสัปดาห์แรก, Support Tickets > 30/วัน |
**Mitigation (ก่อน Go-Live):**
- Training ทุก Role ครบตาม `00-06-training-plan.md`
- Train-the-Trainer ทุกองค์กร (Internal Champion)
- Demo Session ก่อน Go-Live: แสดงว่าระบบช่วยลดงานจริง
- ผู้บริหารทุกองค์กร Endorse การใช้ระบบใหม่อย่างเป็นทางการ
**Contingency (ถ้าเกิดขึ้น):**
- Hypercare Period: เพิ่ม NAP On-site Support 1 สัปดาห์แรก
- "Buddy System": Internal Trainer นั่งข้างๆ User ใหม่ 2-3 วันแรก
- Quick Win Campaign: รางวัล/การยอมรับสำหรับ "First 10 Submitters"
@@ -206,21 +219,23 @@ Go-Live ✅
**RISK-002: Data Migration Legacy ผิดพลาดหรือล่าช้า**
| Attribute | Detail |
|-----------|--------|
| **Category** | Technical / Data |
| **Probability** | สูง (3) — ข้อมูลเก่ามักมี Format ไม่สม่ำเสมอ |
| **Impact** | สูง (3) — เอกสารเก่าหาย/ผิด → ความน่าเชื่อถือระบบลดลง |
| **Level** | 🔴 Critical (3×3=9) |
| Attribute | Detail |
| ----------------- | ------------------------------------------------------- |
| **Category** | Technical / Data |
| **Probability** | สูง (3) — ข้อมูลเก่ามักมี Format ไม่สม่ำเสมอ |
| **Impact** | สูง (3) — เอกสารเก่าหาย/ผิด → ความน่าเชื่อถือระบบลดลง |
| **Level** | 🔴 Critical (3×3=9) |
| **Trigger Signs** | Migration Error Rate > 5%, Duration > กำหนด + 2 สัปดาห์ |
**Mitigation (ก่อน Go-Live):**
- กำหนด Legacy Data Scope ที่ชัดเจน (ดู Gap 7): วันที่เริ่มต้น, ประเภทเอกสาร
- Test Migration บน Staging ก่อน (Dry Run 3 รอบ)
- Validation Script ตรวจ Record Count + Sample Check หลัง Migrate
- เก็บ Legacy System ไว้ Read-only อย่างน้อย 3 เดือน
**Contingency (ถ้าเกิดขึ้น):**
- Rollback Plan: เปิด Legacy System กลับมา Operate แบบ Parallel
- Manual Entry Team: กำหนดทีม Manual Key-in เอกสาร Critical ที่ Migrate ไม่ได้
- Timeline Extension: เลื่อน Go-Live ได้สูงสุด 4 สัปดาห์ ถ้า Migration ล้มเหลว > 20%
@@ -231,15 +246,16 @@ Go-Live ✅
**RISK-003: Security Breach / Unauthorized Access**
| Attribute | Detail |
|-----------|--------|
| **Category** | Security |
| **Probability** | ต่ำ (1) — Internal Network, Authentication แข็ง |
| **Impact** | วิกฤต (4) — ข้อมูลโครงการ Confidential รั่วไหล |
| **Level** | 🟠 High (1×4=4) → **ยก Priority เพราะ Impact สูงมาก** |
| Attribute | Detail |
| ----------------- | --------------------------------------------------------------- |
| **Category** | Security |
| **Probability** | ต่ำ (1) — Internal Network, Authentication แข็ง |
| **Impact** | วิกฤต (4) — ข้อมูลโครงการ Confidential รั่วไหล |
| **Level** | 🟠 High (1×4=4) → **ยก Priority เพราะ Impact สูงมาก** |
| **Trigger Signs** | Failed Login Spike, Unauthorized 403 Burst, File Access Anomaly |
**Mitigation (ก่อน Go-Live):**
- Penetration Test โดยทีมภายนอก ก่อน Go-Live
- Security Checklist `ADR-016` ผ่านทั้งหมด
- ClamAV Virus Scan ทุกไฟล์อัปโหลด
@@ -247,6 +263,7 @@ Go-Live ✅
- JWT + CASL RBAC + Helmet.js + Rate Limiting ครบ
**Contingency (ถ้าเกิดขึ้น):**
- Incident Response Plan: ปิดระบบ + แจ้ง กทท. ภายใน 1 ชั่วโมง
- Audit Log ทุก Access → ตรวจ Forensics ได้
- Password Reset Force ทุก User ที่อาจได้รับผลกระทบ
@@ -262,21 +279,23 @@ Go-Live ✅
**RISK-004: Infrastructure Downtime (QNAP / Docker)**
| Attribute | Detail |
|-----------|--------|
| **Category** | Infrastructure / Operations |
| **Probability** | กลาง (2) — Hardware ล้มเหลวได้ |
| **Impact** | สูง (3) — ระบบใช้งานไม่ได้ ส่งผลต่อ Deadline เอกสาร |
| **Level** | 🟠 High (2×3=6) |
| **Trigger Signs** | Uptime Alert < 99.5%, Container Crash, Disk Full |
| Attribute | Detail |
| ----------------- | --------------------------------------------------- |
| **Category** | Infrastructure / Operations |
| **Probability** | กลาง (2) — Hardware ล้มเหลวได้ |
| **Impact** | สูง (3) — ระบบใช้งานไม่ได้ ส่งผลต่อ Deadline เอกสาร |
| **Level** | 🟠 High (2×3=6) |
| **Trigger Signs** | Uptime Alert < 99.5%, Container Crash, Disk Full |
**Mitigation:**
- Docker Health Check + Auto-restart Policy ทุก Container
- Monitoring: Prometheus + Grafana Alerts (Slack/LINE)
- Database Backup ทุกวัน (MariaDB Dump + Volume Snapshot)
- RTO < 4 ชั่วโมง, RPO < 1 ชั่วโมง ตาม ADR-015
**Contingency:**
- ASUSTOR NAS พร้อม Rollover ถ้า QNAP ล้ม (Manual Process)
- Runbook: `specs/04-Infrastructure-OPS/` สำหรับ Common Failure Scenarios
- Emergency Contact: ทีม QNAP Support + NAP On-call
@@ -287,21 +306,23 @@ Go-Live ✅
**RISK-005: Workflow DSL Configuration ผิดพลาด**
| Attribute | Detail |
|-----------|--------|
| **Category** | Technical / Configuration |
| **Probability** | กลาง (2) — DSL ซับซ้อน, Config เยอะ |
| **Impact** | สูง (3) — Workflow เดินผิด → เอกสารติดอยู่ในระบบ |
| **Level** | 🟠 High (2×3=6) |
| Attribute | Detail |
| ----------------- | ----------------------------------------------------------- |
| **Category** | Technical / Configuration |
| **Probability** | กลาง (2) — DSL ซับซ้อน, Config เยอะ |
| **Impact** | สูง (3) — Workflow เดินผิด → เอกสารติดอยู่ในระบบ |
| **Level** | 🟠 High (2×3=6) |
| **Trigger Signs** | Workflow State ไม่เปลี่ยน, User ร้องเรียนว่า Approve ไม่ได้ |
**Mitigation:**
- UAT ทดสอบ Workflow ทุก Document Type จนครบ (ตาม AC-WF-001~006)
- Force Proceed สำหรับ Document Control เป็น Safety Valve
- Workflow DSL ถูก Version Control (Git) → Rollback ได้
- Unit Test ครอบคลุม Transition ทุก State ใน DSL
**Contingency:**
- Force Proceed: Document Control ข้าม Step ที่ติดขัดได้ทันที
- Admin สามารถ Edit Workflow Definition + Force Re-evaluate ได้
- Hotfix Deploy ภายใน 24 ชั่วโมง สำหรับ Bug Priority P1
@@ -312,21 +333,23 @@ Go-Live ✅
**RISK-006: Document Number Duplication (Race Condition)**
| Attribute | Detail |
|-----------|--------|
| **Category** | Technical / Data Integrity |
| **Probability** | ต่ำ (1) — Redis Redlock + Optimistic Lock ป้องกัน |
| **Impact** | วิกฤต (4) — เลขซ้ำทำให้ระบบไม่น่าเชื่อถือ |
| **Level** | 🟠 High (1×4=4) |
| **Trigger Signs** | Duplicate Key Error ใน Document Numbering Log |
| Attribute | Detail |
| ----------------- | ------------------------------------------------- |
| **Category** | Technical / Data Integrity |
| **Probability** | ต่ำ (1) — Redis Redlock + Optimistic Lock ป้องกัน |
| **Impact** | วิกฤต (4) — เลขซ้ำทำให้ระบบไม่น่าเชื่อถือ |
| **Level** | 🟠 High (1×4=4) |
| **Trigger Signs** | Duplicate Key Error ใน Document Numbering Log |
**Mitigation:**
- Redis Redlock + DB Optimistic Locking (ADR-002)
- Two-Phase Commit (Reserve → Confirm)
- Load Test: 50 concurrent requests → Assert ไม่มี Duplicate (AC-PERF-003)
- Unique Constraint ระดับ DB เป็น Last Resort
**Contingency:**
- DB Constraint ป้องกัน Record Duplicate จาก SQL Level
- Audit Log บันทึกทุก Operation → ตรวจสอบและ Correct ได้
- Admin API: Void + Re-issue เลขที่ผิดพลาด
@@ -341,12 +364,12 @@ Go-Live ✅
**RISK-007: Email / LINE Notification Delivery Failure**
| Attribute | Detail |
|-----------|--------|
| **Category** | Integration |
| Attribute | Detail |
| --------------- | --------------------------------------------- |
| **Category** | Integration |
| **Probability** | กลาง (2) — Email Server / LINE API อาจมีปัญหา |
| **Impact** | ปานกลาง (2) — User ไม่รู้มีงาน → Delay |
| **Level** | 🟡 Medium (2×2=4) |
| **Impact** | ปานกลาง (2) — User ไม่รู้มีงาน → Delay |
| **Level** | 🟡 Medium (2×2=4) |
**Mitigation:** BullMQ Retry 3 ครั้ง + Dead Letter Queue + In-App Notification Fallback
@@ -358,12 +381,12 @@ Go-Live ✅
**RISK-008: Search Index Out of Sync (Elasticsearch)**
| Attribute | Detail |
|-----------|--------|
| **Category** | Technical |
| **Probability** | กลาง (2) — Index lag เกิดได้ |
| **Impact** | ปานกลาง (2) — ค้นหาไม่เห็นเอกสารใหม่ชั่วคราว |
| **Level** | 🟡 Medium (2×2=4) |
| Attribute | Detail |
| --------------- | -------------------------------------------- |
| **Category** | Technical |
| **Probability** | กลาง (2) — Index lag เกิดได้ |
| **Impact** | ปานกลาง (2) — ค้นหาไม่เห็นเอกสารใหม่ชั่วคราว |
| **Level** | 🟡 Medium (2×2=4) |
**Mitigation:** Eventual Consistency — Index ทันที หลัง Document Submit (BullMQ Job)
@@ -375,19 +398,21 @@ Go-Live ✅
**RISK-009: Scope Creep จาก Stakeholders ระหว่าง UAT**
| Attribute | Detail |
|-----------|--------|
| **Category** | Project Management |
| Attribute | Detail |
| --------------- | ---------------------------------------------- |
| **Category** | Project Management |
| **Probability** | สูง (3) — UAT มักทำให้เห็น Feature ใหม่ที่อยาก |
| **Impact** | ปานกลาง (2) — Delay Go-Live ถ้าไม่จัดการ |
| **Level** | 🟡 Medium (3×2=6) |
| **Impact** | ปานกลาง (2) — Delay Go-Live ถ้าไม่จัดการ |
| **Level** | 🟡 Medium (3×2=6) |
**Mitigation:**
- ใช้ Acceptance Criteria (`01-05`) เป็น Scope Gate — ถ้าไม่อยู่ใน AC → Phase 2
- Change Request Process: ทุก Change Request ต้องผ่าน PO Review ก่อน Accept
- "Parking Lot" List สำหรับ Feature ที่ดีแต่ไม่ใช่ MVP
**Contingency:**
- Emergency Change: กรณีที่ Change มีผล Business Critical → PO + กทท. ตัดสิน
- Timeline Extension: ≤ 2 สัปดาห์ สำหรับ Critical Change ที่ทุกฝ่ายเห็นชอบ
@@ -397,12 +422,12 @@ Go-Live ✅
**RISK-010: Third-party Service Dependency (ClamAV / Redis / Elasticsearch)**
| Attribute | Detail |
|-----------|--------|
| **Category** | Technical / Infrastructure |
| Attribute | Detail |
| --------------- | -------------------------------------- |
| **Category** | Technical / Infrastructure |
| **Probability** | ต่ำ (1) — On-Premise, ไม่ขึ้น Internet |
| **Impact** | สูง (3) — ระบบส่วนหนึ่งหยุดทำงาน |
| **Level** | 🟡 Medium (1×3=3) |
| **Impact** | สูง (3) — ระบบส่วนหนึ่งหยุดทำงาน |
| **Level** | 🟡 Medium (1×3=3) |
**Mitigation:** Circuit Breaker Pattern — ถ้า Service รอง (Search, Notification) ล่ม → Core CRUD ทำงานต่อ (Graceful Degradation)
@@ -414,31 +439,31 @@ Go-Live ✅
#### 🟢 LOW — Monitor & Document
| Risk | Description | Owner |
|------|-------------|-------|
| **RISK-011** | ClamAV False Positive — ปฏิเสธไฟล์ปกติ | Nattanin (Whitelist Update) |
| **RISK-012** | Browser Compatibility — ระบบไม่ทำงานบน IE/Old Safari | Nattanin (Modern Browser Policy) |
| **RISK-013** | Large File Upload Timeout (>100MB) | Nattanin (Nginx Timeout Config) |
| **RISK-014** | User กรอกข้อมูลผิด Format แล้วเข้าใจผิดว่าระบบ Bug | Training (FAQ ข้อที่พบบ่อย) |
| **RISK-015** | Monitoring Stack (Grafana) ล่มทำให้ไม่เห็น Metrics | Nattanin (Alert ผ่าน Uptime Kuma) |
| Risk | Description | Owner |
| ------------ | ---------------------------------------------------- | --------------------------------- |
| **RISK-011** | ClamAV False Positive — ปฏิเสธไฟล์ปกติ | Nattanin (Whitelist Update) |
| **RISK-012** | Browser Compatibility — ระบบไม่ทำงานบน IE/Old Safari | Nattanin (Modern Browser Policy) |
| **RISK-013** | Large File Upload Timeout (>100MB) | Nattanin (Nginx Timeout Config) |
| **RISK-014** | User กรอกข้อมูลผิด Format แล้วเข้าใจผิดว่าระบบ Bug | Training (FAQ ข้อที่พบบ่อย) |
| **RISK-015** | Monitoring Stack (Grafana) ล่มทำให้ไม่เห็น Metrics | Nattanin (Alert ผ่าน Uptime Kuma) |
---
### 2.3 Risk Summary Dashboard
| Risk ID | Description | Level | Owner | Status |
|---------|-------------|-------|-------|--------|
| RISK-001 | User Adoption Failure | 🔴 Critical | NAP + Trainers | 🔄 Mitigating |
| RISK-002 | Data Migration Error | 🔴 Critical | NAP + สค. | 🔄 Mitigating |
| RISK-003 | Security Breach | 🔴 Critical→🟠 High | NAP + กทท. IT | 🔄 Mitigating |
| RISK-004 | Infrastructure Downtime | 🟠 High | NAP + กทท. IT | 🔄 Mitigating |
| RISK-005 | Workflow Config Error | 🟠 High | NAP | ✅ AC Test Coverage |
| RISK-006 | Doc Number Duplicate | 🟠 High | NAP | ✅ Load Test + DB Constraint |
| RISK-007 | Notification Failure | 🟡 Medium | NAP | ✅ BullMQ Retry + Fallback |
| RISK-008 | ES Index Out of Sync | 🟡 Medium | NAP | ✅ Eventual Consistency |
| RISK-009 | Scope Creep | 🟡 Medium | NAP (PO) | 🔄 AC as Gate |
| RISK-010 | 3rd Party Service Failure | 🟡 Medium | NAP | ✅ Graceful Degradation |
| RISK-011~015 | Low Risks (5 items) | 🟢 Low | NAP | 📋 Documented |
| Risk ID | Description | Level | Owner | Status |
| ------------ | ------------------------- | ------------------- | -------------- | ---------------------------- |
| RISK-001 | User Adoption Failure | 🔴 Critical | NAP + Trainers | 🔄 Mitigating |
| RISK-002 | Data Migration Error | 🔴 Critical | NAP + สค. | 🔄 Mitigating |
| RISK-003 | Security Breach | 🔴 Critical→🟠 High | NAP + กทท. IT | 🔄 Mitigating |
| RISK-004 | Infrastructure Downtime | 🟠 High | NAP + กทท. IT | 🔄 Mitigating |
| RISK-005 | Workflow Config Error | 🟠 High | NAP | ✅ AC Test Coverage |
| RISK-006 | Doc Number Duplicate | 🟠 High | NAP | ✅ Load Test + DB Constraint |
| RISK-007 | Notification Failure | 🟡 Medium | NAP | ✅ BullMQ Retry + Fallback |
| RISK-008 | ES Index Out of Sync | 🟡 Medium | NAP | ✅ Eventual Consistency |
| RISK-009 | Scope Creep | 🟡 Medium | NAP (PO) | 🔄 AC as Gate |
| RISK-010 | 3rd Party Service Failure | 🟡 Medium | NAP | ✅ Graceful Degradation |
| RISK-011~015 | Low Risks (5 items) | 🟢 Low | NAP | 📋 Documented |
---
@@ -472,43 +497,48 @@ Go-Live:
### 3.1 Change Request Types
| Type | ตัวอย่าง | ผู้อนุมัติ | Timeline |
|------|---------|----------|---------|
| **Emergency Fix** | Security Bug, System Down | NAP PO + กทท. | < 4 ชั่วโมง |
| **Critical Change** | Business Rule ผิดพลาด Critical | NAP PO + 2 Stakeholders | < 2 วัน |
| **Standard Change** | UI Improvement, Minor Feature | NAP PO | Sprint (2 สัปดาห์) |
| **Phase Change** | Feature ใหม่นอก MVP Scope | NAP PO + ทุกองค์กร | Phase 2 Planning |
| Type | ตัวอย่าง | ผู้อนุมัติ | Timeline |
| ------------------- | ------------------------------ | ----------------------- | ------------------ |
| **Emergency Fix** | Security Bug, System Down | NAP PO + กทท. | < 4 ชั่วโมง |
| **Critical Change** | Business Rule ผิดพลาด Critical | NAP PO + 2 Stakeholders | < 2 วัน |
| **Standard Change** | UI Improvement, Minor Feature | NAP PO | Sprint (2 สัปดาห์) |
| **Phase Change** | Feature ใหม่นอก MVP Scope | NAP PO + ทุกองค์กร | Phase 2 Planning |
### 3.2 Change Request Form (Template)
```markdown
## Change Request #[CR-XXX]
**วันที่:**
**ผู้ขอ:**
**Organization:**
**วันที่:**
**ผู้ขอ:**
**Organization:**
**Priority:** Emergency / Critical / Standard
### คำอธิบาย
[อธิบายการเปลี่ยนแปลงที่ต้องการ]
### เหตุผลธุรกิจ
[ทำไมต้องเปลี่ยน? ผลกระทบถ้าไม่เปลี่ยน?]
### Acceptance Criteria ของ Change นี้
[เกณฑ์การ "Done" ของ Change นี้]
### Impact Assessment
- ผลกระทบต่อ Features อื่น:
- ผลกระทบต่อ Features อื่น:
- ผลกระทบต่อ Timeline:
- RP&DO (Risk):
- RP&DO (Risk):
### Decision
- [ ] Approved → Sprint: ___
- [ ] Deferred → Phase: ___
- [ ] Rejected → เหตุผล: ___
**Approved by:** _______________ Date: ___________
- [ ] Approved → Sprint: \_\_\_
- [ ] Deferred → Phase: \_\_\_
- [ ] Rejected → เหตุผล: \_\_\_
**Approved by:** ******\_\_\_****** Date: ****\_\_\_****
```
---