1145 204 · WEEK 09 · หน่วยกิต 3(0-6-3)
01 / 10
WEEK 09 · SPRINT 2 PLANNING & ADVANCED DEVELOPMENT

วางแผน Sprint 2 และยกระดับแพลตฟอร์ม Grocery POS

เปลี่ยนผลสะท้อนจากการสอบกลางภาค (Week 8) ให้เป็น Sprint 2 Backlog ที่ทำได้จริง พร้อมออกแบบฟีเจอร์ขั้นสูงด้านการพยากรณ์คลังสินค้าด้วย ML และการซิงโครไนซ์ข้อมูลบนคลาวด์อย่างปลอดภัย

COURSE LEVEL & TEAM
Practiced (P)

หลักสูตร วท.บ. วิทยาการข้อมูลและนวัตกรรมซอฟต์แวร์ (DSSI) · ทีม 1–3 คน

SPRINT 2 EVALUATION WEIGHT
25 คะแนน

ประเมินต่อเนื่องหลัง Midterm (Advisor 50% + Committee 50% เมื่อจบเทอม)

01 · FEEDBACK REVISION

ทบทวนจุดอ่อนจาก Week 8

คัดแยกคำแนะนำกรรมการเป็น Refactoring, Bug Fix และขอบเขตใหม่

02 · SPRINT 2 BACKLOG

คุมขอบเขตตาม Velocity

จัดลำดับ User Story บน GitHub Projects ให้เหมาะกับกำลังคน 1–3 คน

03 · ADVANCED FEATURES

ML คลังสินค้า & Cloud Sync

พยากรณ์ Reorder Point อัตโนมัติ และแก้ปัญหา Race Condition

04 · DSSI ALIGNMENT

ตรงสาย Data + Software

ตอบโจทย์ CLO1, CLO2, CLO3 และเตรียมความพร้อมสู่ Week 15

02 · POST-MIDTERM SYNC POINT

แปลง Feedback กรรมการกลางภาค เป็นงานที่ลงมือทำได้

CLO1 CLO3 Sync Point Reflection
ทำไมต้องมี Sync Point หลัง Week 8? การทำ Sprint สั้นต่อเนื่องโดยไม่หยุดประเมินภาพรวมจะทำให้เกิดหนี้ทางเทคนิค (Technical Debt) การสอบกลางภาคจึงทำหน้าที่เป็นจุดเชื่อมเพื่อปรับปรุงสถาปัตยกรรมก่อนเพิ่มฟีเจอร์ขั้นสูง
คลิกเลือกประเด็น Feedback จากกรรมการกลางภาค (Grocery POS)
03 · SPRINT 2 BACKLOG REFINEMENT

จัดลำดับ Sprint 2 Backlog ให้พอดีกับ Velocity ของทีม

CLO1 Scrum Planning

พารามิเตอร์กำลังทีม (Team Capacity)

หลักการ Agile: ใช้ Velocity วางแผนภายในทีม ห้ามใช้แข่งกันข้ามทีม
3 พันธสัญญาของ Scrum (Scrum Commitments) 1. Product Backlog → Product Goal
2. Sprint Backlog → Sprint Goal (Why + What + How)
3. Increment → Definition of Done (DoD)

เลือก User Stories เข้า Sprint 2 Backlog (Grocery POS)

04 · COLLABORATIVE WORKFLOW

จำลองบอร์ด GitHub Projects และวินัยการส่งมอบโค้ด

CLO1 CLO2 Git Traceability
ทดลองเลื่อนสถานะ Task ของ Grocery POS ใน Sprint 2 เพื่อดูการไหลของงานจาก Todo → In Progress → Awaiting Review → Done

โครงสร้างคอลัมน์มาตรฐานบน GitHub Projects

  • Product Backlog & Sprint Backlog — เก็บ User Stories ก่อนแตกเป็น Issue ย่อย
  • Todo → In Progress — งานย่อยระดับ Task ที่จบได้ภายใน 4–16 ชม. (ไม่เกิน 1 วัน)
  • Awaiting Review — เปิด Pull Request (PR) และให้เพื่อนร่วมทีม/ที่ปรึกษาตรวจ Code Review
  • Icebox — แช่แข็ง User Stories ที่ยังไม่อยู่ในขอบเขต Sprint 2 เพื่อป้องกัน Scope Creep

Git Branching & Commit Standard (เกณฑ์ประเมิน Sprint 2)

  • Branch แยกตามฟีเจอร์: main (พร้อมเดโม) ← develop ← feat/ml-reorder, fix/stock-lock
  • เกณฑ์ระดับดีเยี่ยม (22–25 คะแนน): ประวัติ Git commit ใน Sprint 2 มีความต่อเนื่อง สมาชิก (1–3 คน) มีส่วนร่วมพัฒนาฟีเจอร์ระดับสูงอย่างสมดุล
  • ความเสี่ยงที่ต้องเลี่ยง: การรวมโค้ดก้อนใหญ่คืนเดียวก่อนสอบ (Big-bang commit) ทำให้ตรวจสอบย้อนกลับไม่ได้
05 · SYSTEM ARCHITECTURE EVOLUTION

ยกระดับสถาปัตยกรรม Grocery POS จาก Sprint 1 สู่ Sprint 2

CLO2 Relational DB & API
06 · ADVANCED FEATURE 01 · DATA SCIENCE TRACK

ระบบวิเคราะห์คลังสินค้าอัจฉริยะด้วย Machine Learning

CLO3 Demand Forecasting & MLOps

จำลองพารามิเตอร์ Smart Reorder

เปรียบเทียบจุดสั่งซื้อซ้ำ: ค่าคงที่ (Sprint 1) กับ ML พยากรณ์รายวัน (Sprint 2) หน่วย: จำนวนชิ้น/วัน (Forecast Horizon 14 วัน)
กฎการวัดผล AI/ML (Baseline Rule) ต้องบันทึกค่า Baseline (อัตราของขาดสต็อกเดิมจาก Sprint 1) ก่อนเปิดใช้โมเดล และเลือกวัดเพียง 3–5 ตัวชี้วัดหลัก เช่น MAE ของยอดขายและอัตรา Stockout
MLOps ใน Sprint 2 มี Feature Pipeline จาก Order_Items + การตรวจคุณภาพข้อมูล (Dataset Validation) + ให้ผู้จัดการร้านยืนยันใบสั่งซื้อ (Human-in-the-loop)
07 · ADVANCED FEATURE 02 · CLOUD & CONCURRENCY

กลไก Cloud Sync และการป้องกันสต็อกติดลบเมื่อขายพร้อมกัน

CLO2 CLO3 ACID & Outbox Pattern

จำลองเหตุการณ์ Race Condition & Sync

สถานการณ์: เหลือ น้ำดื่มแพ็ค 12 ขวด ในคลังเพียง 1 แพ็คสุดท้าย แต่เครื่องแคชเชียร์ A และ B กดคิดเงินพร้อมกัน

หลักการออกแบบ Cloud Sync สำหรับร้านค้า 1. ใช้ Idempotency-Key (UUID ต่อบิล) ป้องกันการตัดสต็อกซ้ำเมื่อเครือข่ายส่ง Retry
2. ใช้ Outbox Queue เก็บบิลลง Local Storage/SQLite ของเครื่องขายเมื่อเน็ตหลุด แล้วค่อย Sync ตามลำดับเวลา
เครื่องแคชเชียร์ A (Online) พร้อมทำงาน

ส่งคำสั่งซื้อ: น้ำดื่ม 1 แพ็ค (t = 0.00s)

เครื่องแคชเชียร์ B (Sync / Concurrent) พร้อมทำงาน

ส่งคำสั่งซื้อ: น้ำดื่ม 1 แพ็ค (t = 0.02s)

CENTRAL CLOUD DB · STOCK REMAINING
1 แพ็ค
รอเริ่มจำลอง
EXECUTION TRACE LOG
กดปุ่ม "จำลองการขายพร้อมกัน" เพื่อสังเกตลำดับการทำงานของ Database และ Sync Queue
08 · DSSI TRACK & CLO ALIGNMENT

เชื่อมโยง 2 สายวิชาเอก DSSI และแบ่งงานทีม 1–3 คนให้สมดุล

CLO1 CLO2 CLO3

Data Science & AI/ML Track

  • Data Pipeline: สกัดและทำความสะอาดข้อมูลจาก Orders และ Order_Items จัดการ Missing Values และ Outliers
  • Predictive & Prescriptive Analytics: พยากรณ์ยอดขายรายวัน, คำนวณ Dynamic Reorder Point และแนะนำสินค้าซื้อคู่กัน (Association Rules)
  • Evaluation & Governance: วัดเทียบ Baseline + คุ้มครองข้อมูลส่วนบุคคลตาม PDPA (เช่น การ Mask ข้อมูลลูกค้า)

Software Innovation & Cloud Track

  • Architecture & Concurrency: ออกแบบ API และ Database Transaction ที่รองรับการตัดสต็อกพร้อมกันอย่างถูกต้อง
  • Cloud Sync & Resilience: จัดการ State Management, Error Handling และ Offline Queue สำหรับหน้าร้าน
  • Quality & Automation: เขียน Unit Test / Integration Test, ทำ Code Review ผ่าน PR และตั้งค่า CI Pipeline

ตัวช่วยจัดสรรบทบาทตามจำนวนสมาชิกจริง (1–3 คน)

เลือกขนาดทีมเพื่อดูแนวทางการแบ่งภาระงานที่กรรมการประเมินว่า "สมดุลและทำได้จริง"
09 · RISK MANAGEMENT & SPRINT 2 RUBRIC

ความเสี่ยงใน Sprint 2 วินัยการใช้ AI และเช็กลิสต์เกณฑ์ประเมิน

CLO3 Governance-aware Agile
ความเสี่ยงใน Sprint 2 ผลกระทบ แผนบรรเทาความเสี่ยง (Mitigation Plan)
ข้อมูลจริงไม่พอเทรน ML โมเดลพยากรณ์คลาดเคลื่อน ใช้ Seed Data เชิงสถิติที่สะท้อนฤดูกาล + เริ่มจาก Moving Average Baseline ก่อนซับซ้อน
Over-scoping ฟีเจอร์ขั้นสูง ระบบพังตอนรวมโค้ด Week 11 ล็อกขอบเขตใน Sprint 2 Backlog แล้วส่งส่วนรองเข้า Icebox
ใช้ AI Coding โดยไม่ตรวจ Bug แฝง / ช่องโหว่ความปลอดภัย ใช้ AI สร้างโครงสร้างได้ แต่ต้องผ่าน Unit Test + Code Review ก่อน Merge ทุก PR
Commit กระจุกตัวคนเดียว คะแนนส่วนร่วมไม่สมดุล บังคับแตก Issue ย่อยรายบุคคล และหมุนเวียนรีวิวโค้ดทุกสัปดาห์

เกณฑ์ประเมิน Sprint 2 (25 คะแนน)

ดีเยี่ยม (22–25)

แก้ Backlog ตาม Feedback ครบถ้วน Git commit ต่อเนื่อง สมาชิก 1–3 คนร่วมพัฒนาฟีเจอร์ขั้นสูงอย่างสมดุล

ดี (18–21)

ปรับตาม Feedback หลักได้ดี Git อัปเดตสม่ำเสมอ ฟีเจอร์ระดับสูงทำงานได้ตามเป้าหมาย

พอใช้ (14–17)

แก้ Feedback บางส่วน Git ใน Sprint 2 ไม่สม่ำเสมอ หรือภาระงานในทีมไม่เท่าเทียม

ปรับปรุง (0–13)

ไม่ปรับตาม Feedback กลางภาค และไม่มีหลักฐานการทำงาน Sprint 2 บน Git

เช็กลิสต์ความพร้อม Sprint 2

0 / 6 ข้อ
10 · ROADMAP WEEK 9–15 & DELIVERABLES

เส้นทางสู่ Final Project Defense และสิ่งที่ต้องส่งสัปดาห์นี้

CLO1 CLO2 CLO3 CLO4

กำหนดการ 7 สัปดาห์สุดท้าย (อ้างอิง มคอ.3 รายวิชา 1145 204)

สัปดาห์ หัวข้อ / กิจกรรมหลัก ผลลัพธ์ที่คาดหวัง (CLO)
Week 9 Sprint 2 Planning & Advanced Dev Backlog ใหม่หลัง Midterm + เริ่มสร้างฟีเจอร์ ML/Cloud Sync
Week 10 Advanced Development & Track Integration โมเดล ML / Sync Engine ทำงานเชื่อมกับ Backend ได้ (CLO1–3)
Week 11 System Integration & API Alignment เชื่อม Frontend–Backend–DB + State & Error Handling (CLO2)
Week 12 Project Risk & Quality Review ทบทวนความเสี่ยงเชิงเทคนิคและประสิทธิภาพระบบ (CLO3)
Week 13 Software Testing & QA Unit / Integration Test และผล Usability Testing (CLO2, CLO3)
Week 14 Documentation & User Manual รายงานโครงงานฉบับสมบูรณ์และคู่มือใช้งาน (CLO4)
Week 15 Final Project Defense สอบป้องกันโครงงานและส่งมอบระบบสมบูรณ์ (Advisor 50% + Committee 50%)

ชิ้นงานที่ต้องอัปเดตหลังจบคาบ Week 9

  1. Midterm Feedback Action Plan: ตารางสรุปข้อเสนอแนะจากกรรมการ พร้อมการตัดสินใจว่าปรับแก้ใน Sprint 2 หรือย้ายเข้า Icebox
  2. Updated GitHub Projects Board: แตก User Stories เป็น Tasks (≤ 1 วัน/งาน) กำหนด Story Points และ Assignee รายคน
  3. Schema & Sync Design Update: เพิ่มตารางรองรับ ML/Sync และแนวทางป้องกัน Race Condition
  4. First Sprint 2 Commit: สร้าง Feature Branch และส่ง Commit แรกเข้า Repository อย่างเป็นระบบ
แหล่งอ้างอิงประกอบการสอน มคอ.3 รายวิชา 1145 204 โครงงานสำหรับนักศึกษาปีสอง และ มคอ.2 หลักสูตร วท.บ. วิทยาการข้อมูลและนวัตกรรมซอฟต์แวร์ (ปรับปรุง พ.ศ. 2568) · Scrum Guide (Schwaber & Sutherland) · Scaled Agile Framework 6.0 · Agile Principles, Patterns, and Practices · Using GitHub Projects for Agile · AUN-QA Assessment Guidelines