🧭 Software Development Process Management
1. ทำไมต้องมี Process?
- ลดความสับสนในการทำงาน
- แบ่งความรับผิดชอบชัดเจน
- ปรับตัวกับ requirement ที่เปลี่ยนแปลงได้
- ช่วยให้ผู้บริหารมองเห็นภาพรวมและติดตามความคืบหน้าได้ง่าย
2. Waterfall Model
แนวคิด: ทำงานเป็นลำดับขั้นตอนแบบเรียงลงมา
- Requirements → Design → Development → Testing → Deployment → Maintenance
ข้อดี:
- เอกสารชัดเจน
- เหมาะกับงานที่ requirement ไม่เปลี่ยนบ่อย
ข้อเสีย:
- ยืดหยุ่นน้อย
- ถ้า requirement เปลี่ยน = พัง
3. Agile Manifesto
Agile คือ Mindset ไม่ใช่ framework เดียว
หลักการใหญ่ 4 ข้อ:
- Individuals & Interactions > Processes & Tools
- Working Software > Comprehensive Documentation
- Customer Collaboration > Contract Negotiation
- Responding to Change > Following a Plan
4. Scrum Framework
แนวคิด: ทำงานเป็นรอบสั้น (Sprint 2–4 สัปดาห์)
Roles:
- Product Owner (PO)
- Scrum Master (SM)
- Development Team
Events:
- Sprint Planning
- Daily Scrum
- Sprint Review
- Sprint Retrospective
Artifacts:
- Product Backlog
- Sprint Backlog
- Increment
ข้อดี:
- มีจังหวะการทำงานชัด
- เหมาะกับ feature development
ข้อเสีย:
- ถ้าเป้าหมายไม่ชัด → ทีมพัง
- ใช้บ่อยเกินไป → Burnout
5. Kanban Method
แนวคิด: ใช้บอร์ด Visualize งาน + Limit WIP (Work in Progress)
Column ตัวอย่าง:
- To Do → In Progress → Review → Done
ข้อดี:
- เข้าใจง่าย
- เห็นสถานะงานชัด
- เหมาะกับงาน Support/DevOps/Incident
ข้อเสีย:
6. Agile Frameworks อื่น ๆ
- XP (Extreme Programming): เน้น Engineering Practice เช่น TDD, Pair Programming
- Lean: ลด waste, ทำงานไว
- DSDM: Formal กว่า Scrum, ครอบคลุมทั้ง project lifecycle
- SAFe (Scaled Agile Framework): Agile ระดับองค์กรใหญ่ (หลายทีมทำงานร่วมกัน)
- Crystal, FDD, DSDM: ใช้น้อยกว่าแต่ยังมีอยู่
7. Hybrid Model (Scrumban)
- Scrum = ใช้กับ Feature Development
- Kanban = ใช้กับ Incident/Hotfix
- รวมกัน = Scrumban → มีทั้ง Sprint rhythm + Task visualization
8. Special Edition 🇹🇭 DDD (ด่า Driven Development) 😅
Concept: ทำงาน → โดนด่า → รีบแก้ → วนลูป
- ✅ ข้อดี: ได้งานไว (แต่มั่ว)
- ❌ ข้อเสีย: Burnout, คุณภาพโค้ดต่ำ, ไม่มีระบบจริง
เตือนใจ: สิ่งนี้คือ meme ไม่ใช่ process จริง
ทีมควร Clean Code + Clean Process → ไม่ใช่แค่ Clean History
9. การเชื่อมกับ Tools
- Trello: ง่าย, เหมาะกับทีมเล็ก (Kanban)
- Jira: รองรับ Scrum + Kanban, เหมาะกับทีมใหญ่
- GitLab/GitHub Project: ใช้กับทีม DevOps → ผูกกับ repo และ pipeline ได้เลย
10. สรุป
- Waterfall → Process ชัด แต่ยืดหยุ่นน้อย
- Agile → Mindset ยืดหยุ่น
- Scrum → Sprint-based
- Kanban → Flow-based
- Hybrid/Scrumban → Practical ในโลกจริง
- DDD → มุก แต่เป็นสิ่งที่ต้องเลี่ยง