260322:1648 Correct Coresspondence / Doing RFA / Correct CI
This commit is contained in:
@@ -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: ****\_\_\_****
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user