30 KiB
📋 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
Important
เอกสารนี้ต้องได้รับการ Sign-off จากตัวแทนทุกองค์กร ก่อนที่ระบบจะ Go-Live สู่ Production
การ Sign-off ถือเป็นการยืนยันว่าองค์กรรับทราบ Scope, Risks, และพร้อมรับผิดชอบ UAT ในส่วนของตน
ส่วนที่ 1: Stakeholder Sign-off Process
1.1 วัตถุประสงค์
การ Sign-off Process ทำหน้าที่:
- ยืนยัน Scope — ทุกฝ่ายเห็นชอบ Feature ที่จะส่งมอบใน MVP
- ยืนยัน UAT Criteria — เห็นชอบเกณฑ์การพิจารณาว่า "ผ่าน" คืออะไร (อ้างอิง
01-05-acceptance-criteria.md) - ยืนยัน Go-Live Readiness — แต่ละองค์กรยืนยันว่าทีมพร้อม (Training, Data, User Access)
- รับทราบ Risks — รับทราบความเสี่ยงที่อาจเกิดขึ้น และ Mitigation Plan
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. |
1.3 Sign-off Workflow
Phase 1: Pre-Sign-off Review (T-3 สัปดาห์ก่อน Go-Live)
┌─────────────────────────────────────────────────────────┐
│ NAP ส่งร่างเอกสารนี้ให้ตัวแทนทุกองค์กรรีวิว │
│ + ส่ง Acceptance Criteria (01-05) ควบคู่ │
│ + นัด Review Meeting (1 ชั่วโมง) กับทุกฝ่าย │
└─────────────────────────────────────────────────────────┘
↓
Phase 2: Clarification (T-2 สัปดาห์)
┌─────────────────────────────────────────────────────────┐
│ แต่ละองค์กรส่ง Comments / ข้อสงสัย กลับมา │
│ NAP ตอบและปรับปรุงเอกสาร (ถ้าจำเป็น) │
│ ระบุ Open Issues และ Resolution │
└─────────────────────────────────────────────────────────┘
↓
Phase 3: UAT (T-2 ถึง T-1 สัปดาห์)
┌─────────────────────────────────────────────────────────┐
│ แต่ละองค์กรทดสอบบน Staging ตาม AC Scenarios │
│ Internal Trainer นำทีมทำ Hands-on Scenario 1-3 │
│ บันทึก Issues ใน Bug Tracker │
└─────────────────────────────────────────────────────────┘
↓
Phase 4: Sign-off (T-1 สัปดาห์)
┌─────────────────────────────────────────────────────────┐
│ ทุก P0/P1 Issues ถูก Fix แล้ว │
│ P2/P3 Issues มี Workaround หรือ Timeline Fix │
│ ตัวแทนแต่ละองค์กรลงนาม (Section 1.5) │
└─────────────────────────────────────────────────────────┘
↓
Go-Live ✅
1.4 Sign-off Criteria (เกณฑ์การอนุมัติ)
ต้องผ่านทั้งหมดก่อน Sign-off:
Functional Requirements
- AC-AUTH-001~005 ผ่าน (Authentication)
- AC-ADMIN-001~005 ผ่าน (User & Org Management)
- AC-CORR-001~002 ผ่าน (Correspondence Core)
- AC-RFA-001~003 ผ่าน (RFA Core)
- AC-WF-001~003 ผ่าน (Workflow Engine)
- AC-DN-001 ผ่าน (Document Number Concurrent)
- 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 พร้อม
- ไม่มี Open P0/P1 Issues
1.5 🖊️ Stakeholder Sign-off Table
คำชี้แจง: การลงนามในตารางนี้หมายถึง ตัวแทนองค์กรได้อ่าน รับทราบ และเห็นชอบกับ:
- Feature Scope ของ LCBP3-DMS v1.8.0 ตามที่อธิบายใน
specs/01-Requirements/- Acceptance Criteria ตามที่กำหนดใน
01-05-acceptance-criteria.md- Risk Register และ Mitigation Plan ในเอกสารนี้ (ส่วนที่ 2)
- ยืนยันว่าทีมงานขององค์กรได้รับการ Training และพร้อม Go-Live
| Organization | ตัวแทน | ตำแหน่ง | ลายมือชื่อ | วันที่ | หมายเหตุ |
|---|---|---|---|---|---|
| กทท. | |||||
| สค. | |||||
| TEAM | |||||
| คคง. | |||||
| ผรม. | |||||
| NAP | Nattanin P. | System Architect |
เงื่อนไข Go-Live:
- ต้องได้รับ Sign-off จากอย่างน้อย 4 จาก 5 องค์กร (กทท., สค., TEAM, คคง./ผรม. อย่างน้อย 1)
- กทท. ต้องลงนาม ในฐานะ Project Owner (Mandatory)
- หาก < 4 ลายเซ็น → ต้องนัด Emergency Review ก่อน Go-Live
1.6 Open Issues Log (Pre Sign-off)
เพิ่ม Issues ที่พบระหว่าง UAT ที่นี่ ก่อน Sign-off
| # | Issue | Priority | หน่วยงานที่พบ | Status | Resolution / Timeline |
|---|---|---|---|---|---|
| — | ยังไม่มี Issue (UAT ยังไม่เริ่ม) | — | — | — | — |
ส่วนที่ 2: Risk Management
2.1 Risk Assessment Matrix
│ ผลกระทบ (Impact)
│ ต่ำ (1) ปานกลาง (2) สูง (3) วิกฤต (4)
───────────┼────────────────────────────────────────────────
โอกาส สูง │ 🟡 M 🟠 H 🔴 C 🔴 C
เกิด กลาง│ 🟢 L 🟡 M 🟠 H 🔴 C
(Prob) ต่ำ │ 🟢 L 🟢 L 🟡 M 🟠 H
🔴 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 |
2.2 Risk Register
🔴 CRITICAL — ต้องแก้ก่อน Go-Live
RISK-001: ผู้ใช้ปฏิเสธการเปลี่ยนแปลง (User Adoption Failure)
| 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"
Owner: Nattanin P. + Internal Trainers ทุกองค์กร
RISK-002: Data Migration Legacy ผิดพลาดหรือล่าช้า
| 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%
Owner: Nattanin P. (Migration Lead) + สค. (Data Provider)
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 สูงมาก |
| 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 ทุกไฟล์อัปโหลด
- Network Isolation: Backend ไม่ expose ตรงสู่ Internet
- JWT + CASL RBAC + Helmet.js + Rate Limiting ครบ
Contingency (ถ้าเกิดขึ้น):
- Incident Response Plan: ปิดระบบ + แจ้ง กทท. ภายใน 1 ชั่วโมง
- Audit Log ทุก Access → ตรวจ Forensics ได้
- Password Reset Force ทุก User ที่อาจได้รับผลกระทบ
- แจ้ง DPA (PDPA Compliance) ถ้าข้อมูลส่วนบุคคลรั่วไหล
Owner: Nattanin P. (Security) + กทท. IT (Infrastructure)
🟠 HIGH — ต้องมี Mitigation Plan ก่อน 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 |
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
Owner: Nattanin P. (DevOps) + กทท. IT (Hardware)
RISK-005: Workflow DSL Configuration ผิดพลาด
| 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
Owner: Nattanin P. (Workflow Dev)
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 |
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 เลขที่ผิดพลาด
Owner: Nattanin P. (Backend Dev)
🟡 MEDIUM — ต้องมี Contingency Plan
RISK-007: Email / LINE Notification Delivery Failure
| Attribute | Detail |
|---|---|
| Category | Integration |
| Probability | กลาง (2) — Email Server / LINE API อาจมีปัญหา |
| Impact | ปานกลาง (2) — User ไม่รู้มีงาน → Delay |
| Level | 🟡 Medium (2×2=4) |
Mitigation: BullMQ Retry 3 ครั้ง + Dead Letter Queue + In-App Notification Fallback
Contingency: ผู้ใช้ยังสามารถดู "My Tasks" บน Dashboard ได้โดยไม่ต้องรอ Notification
Owner: Nattanin P.
RISK-008: Search Index Out of Sync (Elasticsearch)
| Attribute | Detail |
|---|---|
| Category | Technical |
| Probability | กลาง (2) — Index lag เกิดได้ |
| Impact | ปานกลาง (2) — ค้นหาไม่เห็นเอกสารใหม่ชั่วคราว |
| Level | 🟡 Medium (2×2=4) |
Mitigation: Eventual Consistency — Index ทันที หลัง Document Submit (BullMQ Job)
Contingency: Re-index ได้โดย Admin ผ่าน API; Filter-based search ยังใช้ได้แม้ ES ล่ม
Owner: Nattanin P.
RISK-009: Scope Creep จาก Stakeholders ระหว่าง UAT
| Attribute | Detail |
|---|---|
| Category | Project Management |
| Probability | สูง (3) — UAT มักทำให้เห็น Feature ใหม่ที่อยาก |
| 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 ที่ทุกฝ่ายเห็นชอบ
Owner: Nattanin P. (PO)
RISK-010: Third-party Service Dependency (ClamAV / Redis / Elasticsearch)
| Attribute | Detail |
|---|---|
| Category | Technical / Infrastructure |
| Probability | ต่ำ (1) — On-Premise, ไม่ขึ้น Internet |
| Impact | สูง (3) — ระบบส่วนหนึ่งหยุดทำงาน |
| Level | 🟡 Medium (1×3=3) |
Mitigation: Circuit Breaker Pattern — ถ้า Service รอง (Search, Notification) ล่ม → Core CRUD ทำงานต่อ (Graceful Degradation)
Contingency: Runbook สำหรับ Restart แต่ละ Container แยกกัน
Owner: Nattanin P.
🟢 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) |
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 |
2.4 Risk Response Timeline
ปัจจุบัน → T-4 สัปดาห์ (Pre-UAT):
├── RISK-001: Train-the-Trainer เสร็จ
├── RISK-002: Migration Dry Run ครั้งที่ 1 เสร็จ
├── RISK-003: Penetration Test เริ่ม
└── RISK-005: Workflow UAT เริ่ม
T-3 → T-2 สัปดาห์ (UAT):
├── RISK-003: PenTest Report ได้รับ + Fix
├── RISK-002: Migration Dry Run ครั้งที่ 2 เสร็จ
├── RISK-006: Load Test 50 Concurrent เสร็จ
└── RISK-009: Scope Creep — PO ตัดสิน In/Out
T-1 สัปดาห์ (Pre Go-Live):
├── RISK-001: Training ครบทุก Group
├── RISK-004: DR Test (Backup Restore) เสร็จ
└── Sign-off ทุกองค์กร (Section 1.5)
Go-Live:
└── RISK-001~010: Active Monitoring (Hypercare)
ส่วนที่ 3: Change Control Process
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 |
3.2 Change Request Form (Template)
## Change Request #[CR-XXX]
**วันที่:**
**ผู้ขอ:**
**Organization:**
**Priority:** Emergency / Critical / Standard
### คำอธิบาย
[อธิบายการเปลี่ยนแปลงที่ต้องการ]
### เหตุผลธุรกิจ
[ทำไมต้องเปลี่ยน? ผลกระทบถ้าไม่เปลี่ยน?]
### Acceptance Criteria ของ Change นี้
[เกณฑ์การ "Done" ของ Change นี้]
### Impact Assessment
- ผลกระทบต่อ Features อื่น:
- ผลกระทบต่อ Timeline:
- RP&DO (Risk):
### Decision
- [ ] Approved → Sprint: \_\_\_
- [ ] Deferred → Phase: \_\_\_
- [ ] Rejected → เหตุผล: \_\_\_
**Approved by:** ******\_\_\_****** Date: ****\_\_\_****
ส่วนที่ 4: Escalation Path
ปัญหา Operational ทั่วไป
↓ User (Internal Trainer / Org Admin)
↓ ไม่แก้ได้ใน 4 ชั่วโมง
NAP Support (Nattanin) — LINE / Email
↓ ไม่แก้ได้ใน 24 ชั่วโมง (P1) หรือ 48 ชั่วโมง (P2)
Project Management Level (สค. + กทท.)
↓ ไม่แก้ได้ใน 72 ชั่วโมง หรือ กระทบ Milestone
Executive Level (ผู้บริหาร กทท.)
Decision: Emergency Fix / Rollback / Scope Change
📝 Document Control
- Version: 1.0.0 | Status: DRAFT — Awaiting Stakeholder Review
- Created: 2026-03-11 | Owner: Nattanin Peancharoen (PO)
- Next Review: T-4 สัปดาห์ก่อน Go-Live (Pre-UAT Review Meeting)
- Classification: Confidential — ส่งเฉพาะตัวแทนที่ Sign-off เท่านั้น
Note
เมื่อได้รับลายมือชื่อครบทุกองค์กร ให้ Scan และบันทึกฉบับ PDF ไว้ใน
specs/00-Overview/signed/00-04-stakeholder-signoff-SIGNED.pdf