Scrum là khung Agile phổ biến nhất — nhịp làm việc theo sprint với vai trò, sự kiện, artifact rõ ràng. Bài này đi sâu vào cách Scrum vận hành, so sánh với Kanban, và cách mở rộng quy mô khi nhiều nhóm cùng làm một sản phẩm.
Tuyên ngôn Agile (Agile Manifesto, 2001) không phủ nhận vế bên phải, mà nói rằng vế bên trái được coi trọng hơn:
| Coi trọng hơn | Hơn là |
|---|---|
| Cá nhân & sự tương tác | quy trình & công cụ |
| Phần mềm chạy được | tài liệu đầy đủ |
| Hợp tác với khách hàng | đàm phán hợp đồng |
| Phản hồi với thay đổi | bám theo kế hoạch |
Scrum xây trên nền tảng quy trình thực nghiệm (empirical process control): ra quyết định dựa trên những gì quan sát được, qua 3 trụ cột:
Năm giá trị Scrum nâng đỡ ba trụ cột này: Cam kết, Tập trung, Cởi mở, Tôn trọng, Can đảm (Commitment, Focus, Openness, Respect, Courage).
Scrum chỉ định nghĩa một nhóm (Scrum Team) gồm ba trách nhiệm, không có thứ bậc sếp–lính bên trong:
| Vai trò | Trách nhiệm |
|---|---|
| Product Owner | Sở hữu và sắp xếp ưu tiên Product Backlog, diễn giải nhu cầu khách hàng/stakeholder, tối đa hóa giá trị mà nhóm tạo ra. Là một người duy nhất, có quyền quyết "làm gì trước". |
| Scrum Master | Phục vụ nhóm theo kiểu servant-leader: gỡ trở ngại (impediment), bảo vệ quy trình & giúp nhóm cải tiến, kèm cặp tổ chức áp dụng Scrum. Không phải sếp, không giao việc, không quản lý con người. |
| Developers / Development Team | Những người trực tiếp tạo ra increment (lập trình, kiểm thử, thiết kế, phân tích...). Tự tổ chức — tự quyết cách biến Sprint Backlog thành sản phẩm. Là nhóm liên chức năng (cross-functional), đủ kỹ năng để giao hàng. |
Mọi sự kiện đều có hộp thời gian (time-box) cố định, tạo nhịp đều và giảm họp hành ngoài kế hoạch. Thời lượng dưới đây tính cho sprint chuẩn 1 tháng (co giãn theo độ dài sprint):
| Sự kiện | Mục đích | Thời lượng |
|---|---|---|
| Sprint | Nhịp làm việc cố định, khung chứa mọi sự kiện khác. Mỗi sprint tạo ra ít nhất một increment dùng được. Không thay đổi mục tiêu giữa chừng theo hướng phá vỡ Sprint Goal. | 1–4 tuần (cố định, lặp lại) |
| Sprint Planning | Lập kế hoạch cho sprint: PO trình mục tiêu, nhóm chọn các hạng mục từ Product Backlog đưa vào Sprint Backlog và đặt Sprint Goal. Trả lời: vì sao, làm gì, làm thế nào. | Tối đa 8 giờ (sprint 1 tháng) |
| Daily Scrum | Đồng bộ nhanh trong nhóm Developers: tiến độ tới Sprint Goal, kế hoạch 24 giờ tới, phát hiện trở ngại. Là cuộc họp lập kế hoạch, không phải báo cáo cho sếp. | 15 phút mỗi ngày |
| Sprint Review | Trình diễn increment cho stakeholder, lấy phản hồi và điều chỉnh Product Backlog. Là buổi làm việc cộng tác, không phải buổi nghiệm thu hình thức. | Tối đa 4 giờ |
| Sprint Retrospective | Nhóm nhìn lại cách làm việc (con người, quan hệ, quy trình, công cụ): cái gì tốt, cái gì cần cải tiến, chọn hành động cải tiến cho sprint sau. | Tối đa 3 giờ |
Backlog Refinement (chải chuốt backlog) là hoạt động liên tục, không phải sự kiện chính thức — giúp các hạng mục đầu backlog luôn rõ ràng và đủ nhỏ để chọn vào sprint.
| Artifact | Mô tả | Cam kết |
|---|---|---|
| Product Backlog | Danh sách ưu tiên mọi việc cần làm cho sản phẩm — luôn sống, liên tục được bổ sung & sắp lại. | Product Goal (mục tiêu sản phẩm dài hạn) |
| Sprint Backlog | Các hạng mục chọn cho sprint + kế hoạch thực hiện. Do Developers sở hữu & cập nhật hằng ngày. | Sprint Goal (mục tiêu chung của sprint) |
| Increment | Phần sản phẩm có thể chuyển giao, cộng dồn qua các sprint. Mỗi increment phải đạt Definition of Done mới được coi là xong. | Definition of Done (định nghĩa hoàn thành) |
Definition of Done (DoD) là bộ tiêu chí chất lượng chung cho mọi hạng mục: ví dụ đã code xong, có unit test, qua code review, qua kiểm thử, cập nhật tài liệu, deploy được lên môi trường staging. Một việc chỉ "Done" khi thỏa toàn bộ DoD — nhờ đó "xong" có cùng một nghĩa với cả nhóm, đảm bảo minh bạch.
Definition of Ready (DoR) là tiêu chí để một hạng mục đủ rõ để đưa vào sprint: đã có mô tả, acceptance criteria, ước lượng, không phụ thuộc chặn. DoR canh đầu vào, DoD canh đầu ra. DoR là thông lệ tốt (không nằm trong Scrum Guide); tránh dùng nó như cổng quan liêu cứng nhắc.
User Story mô tả một nhu cầu nhỏ, có giá trị, theo góc nhìn người dùng, theo công thức kinh điển:
# mẫu user story Là <vai trò>, tôi muốn <mục tiêu> để <lợi ích>. # ví dụ Là khách mua hàng, tôi muốn lưu giỏ hàng giữa các lần đăng nhập để không phải chọn lại sản phẩm.
Một story tốt thỏa tiêu chí INVEST:
| Chữ | Ý nghĩa |
|---|---|
| Independent | Độc lập — ít phụ thuộc story khác |
| Negotiable | Có thể thương lượng — không phải hợp đồng cứng |
| Valuable | Có giá trị rõ ràng cho người dùng/doanh nghiệp |
| Estimable | Ước lượng được kích cỡ |
| Small | Đủ nhỏ để hoàn thành trong một sprint |
| Testable | Kiểm thử được — có cách xác nhận đã đạt |
Mỗi story đi kèm acceptance criteria (tiêu chí chấp nhận) — các điều kiện cụ thể để coi là làm đúng, thường viết theo dạng Given / When / Then. Kích cỡ tương đối của story được biểu thị bằng story point (thường dùng dãy Fibonacci 1, 2, 3, 5, 8...) thay vì giờ — sẽ đi sâu ở Bài 4.
Kanban là phương pháp dòng chảy liên tục (continuous flow): không chia sprint, việc được kéo qua quy trình khi có năng lực. Bốn thực hành cốt lõi:
To Do → Doing → Done.So sánh nhanh Scrum và Kanban:
| Tiêu chí | Scrum | Kanban |
|---|---|---|
| Nhịp | Sprint cố định 1–4 tuần | Dòng chảy liên tục, không sprint |
| Vai trò | PO, Scrum Master, Developers (bắt buộc) | Không quy định vai trò cố định |
| Thay đổi giữa chừng | Hạn chế trong sprint (bảo vệ Sprint Goal) | Linh hoạt — đổi ưu tiên bất cứ lúc nào |
| Giới hạn công việc | Theo dung lượng sprint (sprint capacity) | Giới hạn WIP theo từng cột |
| Chỉ số chính | Velocity, burndown | Lead time, cycle time, throughput |
Khi một sản phẩm cần nhiều nhóm cùng làm, có vài khung điều phối phổ biến:
| Khung | Đặc điểm |
|---|---|
| Scrum of Scrums | Cách nhẹ nhất: đại diện mỗi nhóm họp định kỳ để đồng bộ phụ thuộc & gỡ trở ngại liên nhóm. |
| LeSS (Large-Scale Scrum) | Giữ Scrum tối giản: nhiều nhóm chia sẻ một Product Backlog và một Product Owner, ít thêm vai trò/quy trình. |
| SAFe (Scaled Agile Framework) | Khung quy mô lớn, nhiều tầng (Team / Program / Portfolio), nhiều vai trò & nghi thức — mạnh ở doanh nghiệp lớn nhưng nặng và phức tạp. |