Thuật ngữ
Scrum là gì? Giải thích dễ hiểu, có ví dụ
Scrum là khung làm việc Agile chia dự án thành các sprint 1–4 tuần. Giải thích 3 vai trò, 5 sự kiện, 3 hiện vật bằng tiếng Việt, kèm ví dụ đội 6 người trên Pentara.
Khoảng 6 phút đọc
Trả lời ngắn
Định nghĩaScrum là một khung làm việc (framework) để phát triển sản phẩm theo tư duy Agile: chia công việc thành các chu kỳ ngắn, cố định gọi là sprint, thường 1 đến 4 tuần. Mỗi sprint, đội chọn một phần việc vừa sức, làm cho xong, cho người dùng xem kết quả, rút kinh nghiệm, rồi bắt đầu sprint tiếp theo.
Scrum không phải một quy trình chi tiết. Nó chỉ quy định ba vai trò, năm sự kiện và ba hiện vật, còn cách viết yêu cầu, cách kiểm thử, cách triển khai là do đội tự chọn. Vì gọn như vậy nên Scrum là khung Agile được dùng nhiều nhất, từ đội ba người đến công ty nghìn người.
Scrum giải quyết vấn đề gì
Cách làm phần mềm truyền thống là lập kế hoạch thật chi tiết từ đầu, làm theo kế hoạch nhiều tháng, rồi bàn giao một lần. Vấn đề là yêu cầu luôn thay đổi trong lúc làm, và người dùng chỉ biết mình thật sự cần gì khi cầm được sản phẩm. Kết quả quen thuộc: bàn giao trễ, làm xong thì đã lệch nhu cầu, sửa lại tốn hơn làm mới.
Scrum đảo lại thứ tự: làm một phần nhỏ trong vài tuần, cho người dùng xem ngay, lấy phản hồi, rồi mới quyết định phần tiếp theo. Sai thì sai sớm, sửa rẻ. Mỗi sprint kết thúc bằng một phần sản phẩm chạy được, không phải một bản báo cáo tiến độ.
Ba vai trò trong Scrum
| Vai trò | Chịu trách nhiệm | Ở đội nhỏ Việt Nam thường là |
|---|---|---|
| Product Owner (PO) | Quyết định làm gì trước, làm gì sau; giữ backlog; nói chuyện với khách hàng và người dùng. | Trưởng dự án, người phụ trách nghiệp vụ, hoặc chính chủ công ty. |
| Scrum Master | Giữ cho đội làm đúng khung Scrum; gỡ vướng mắc; bảo vệ đội khỏi việc chen ngang. | Trưởng nhóm kỹ thuật kiêm nhiệm; đội nhỏ hiếm khi có người chuyên trách. |
| Development Team | Những người trực tiếp làm ra sản phẩm: lập trình, kiểm thử, thiết kế, phân tích. Tự tổ chức, tự ước lượng. | 3 đến 9 người; dev, tester, BA ngồi chung một nhóm. |
Đội 5 đến 7 người ở Việt Nam thường gộp PO và Scrum Master vào một người gọi là PM. Cách gộp này chạy được, với điều kiện người đó hiểu rõ khi nào mình đang quyết định “làm gì” (vai PO) và khi nào đang bảo vệ cách làm của đội (vai Scrum Master). Đọc thêm về cách chia việc trong chương Vai trò.
Năm sự kiện của một sprint
| Sự kiện | Khi nào | Mục đích | Thời lượng |
|---|---|---|---|
| Sprint | Cả chu kỳ | Hộp thời gian cố định chứa bốn sự kiện còn lại. | 2 tuần |
| Sprint Planning | Ngày đầu | Chọn việc từ backlog, thống nhất mục tiêu sprint và cách làm. | 2 đến 4 giờ |
| Daily Scrum | Mỗi ngày, cùng giờ | Mỗi người nói hôm qua làm gì, hôm nay làm gì, đang vướng gì. | 15 phút |
| Sprint Review | Ngày cuối | Cho khách hàng, người dùng xem phần đã xong, ghi nhận phản hồi. | 1 đến 2 giờ |
| Sprint Retrospective | Ngay sau Review | Đội tự nhìn lại: giữ gì, bỏ gì, thử gì ở sprint sau. | 1 giờ |
Bốn buổi họp nghe có vẻ nhiều, nhưng cộng lại chưa đến 8 giờ cho hai tuần làm việc, và chúng thay cho những buổi họp đột xuất, tin nhắn hỏi tiến độ và báo cáo tay. Nhịp cụ thể từng ngày có trong chương Nhịp sprint.
Ba hiện vật
Ba thứ đội luôn nhìn thấy
- Product Backlog — danh sách mọi việc cần làm cho sản phẩm, xếp theo ưu tiên, do PO giữ. Không bao giờ “xong”, chỉ được sắp lại liên tục.
- Sprint Backlog — phần việc đội đã chọn cho sprint này cùng kế hoạch làm chúng. Chốt ở Planning, không thêm việc giữa chừng nếu không đổi việc khác ra.
- Increment — phần sản phẩm chạy được sau sprint, đạt tiêu chuẩn “Done” mà đội đã thống nhất. Đây là thứ đem ra Review, không phải slide.
Ví dụ: đội 6 người làm cổng đào tạo
Ví dụ
Phòng CNTT một trường đại học có 6 người: 1 trưởng phòng kiêm PO, 4 lập trình viên, 1 tester. Họ nhận đề bài xây cổng đăng ký học phần. Thay vì hứa “ba tháng xong”, họ chạy sprint 2 tuần.
Sprint 1, Planning: backlog có 40 việc. Đội chọn 8 việc quan trọng nhất, ước lượng tổng 21 điểm, mục tiêu sprint là “sinh viên đăng nhập và xem được danh sách học phần”. Daily: 9 giờ sáng, 15 phút, đứng cạnh board. Ngày thứ 6, tester thấy màn hình danh sách chậm với 2.000 học phần, việc đó được kéo về cột Đang làm thay vì để sang sprint sau. Review: ngày thứ 10, trưởng phòng mời hai cán bộ Phòng Đào tạo xem thử. Họ nói “cần lọc theo khoa”, việc này vào backlog, đứng đầu. Retro: đội đồng ý sprint sau ước lượng kỹ hơn phần hiệu năng.
Sau sprint 1, Phòng Đào tạo đã thấy phần mềm thật. Sau sprint 3, họ dùng thử với một khoa. Yêu cầu “lọc theo khoa” nếu phát hiện ở tháng thứ ba theo cách cũ sẽ tốn cả tuần sửa; ở đây tốn hai ngày.
Scrum khác Agile và Kanban ở đâu
Agile là tư duy: giao sớm, giao thường xuyên, sẵn sàng thay đổi. Scrum là một cách cụ thể để làm theo tư duy đó, với sprint cố định và bốn buổi họp. Kanban là cách khác: không có sprint, việc chảy liên tục qua các cột trên bảng, giới hạn số việc đang làm dở. Nhiều đội kết hợp cả hai, lập kế hoạch theo sprint nhưng làm hằng ngày trên bảng Kanban, gọi là Scrumban. So sánh đầy đủ trong Bức tranh tổng thể, riêng bảng Kanban đọc chương Board Kanban.
Khi nào không nên dùng Scrum
Scrum không hợp với mọi việc
Chạy Scrum trên Pentara
Product Backlog nằm ở tab Backlog, kéo thả để sắp ưu tiên, gán story point cho từng việc. Bấm Tạo sprint, chọn ngày bắt đầu và kết thúc, kéo việc vào là có Sprint Backlog. Trong sprint, đội làm trên tab Board, Daily đứng trước board là đủ. Tab Báo cáo tự vẽ burndown và velocity cho Review và Retro. Yêu cầu khách hàng gửi qua cổng riêng vào thẳng backlog, không qua nhóm chat.
Chưa có đội để thử? Gói Miễn phí đủ để một người chạy trọn một sprint: đăng ký đơn vị, rồi làm theo Bắt đầu nhanh hoặc lộ trình 7 ngày cho người mới.
Hỏi đáp nhanh
- Sprint nên dài bao lâu?
- Hai tuần là lựa chọn phổ biến nhất và hợp với đội 5–9 người: đủ dài để làm xong việc có ý nghĩa, đủ ngắn để phản hồi kịp. Một tuần khi yêu cầu đổi rất nhanh; ba, bốn tuần khi việc cần nhiều tích hợp. Đã chọn thì giữ cố định, đừng kéo dài sprint vì chưa xong việc.
- Đội nhỏ có cần Scrum Master riêng không?
- Không bắt buộc. Đội dưới 10 người thường để trưởng nhóm kỹ thuật kiêm nhiệm. Điều quan trọng là có người giữ nhịp họp, gỡ vướng mắc và chặn việc chen ngang vào sprint, dù người đó mang chức danh gì.
- Scrum có dùng được cho đội 3 người không?
- Được, nhưng nên giản lược: Planning 1 giờ, Daily 10 phút, Review và Retro gộp thành một buổi 45 phút. Nếu đội chủ yếu sửa lỗi và hỗ trợ đến bất chợt, dùng Kanban với hạn phản hồi sẽ hợp hơn sprint cố định.
- Scrum và Agile khác nhau thế nào?
- Agile là tư duy: giao sớm, giao thường xuyên, sẵn sàng thay đổi. Scrum là một cách cụ thể để làm theo tư duy đó, với sprint cố định, ba vai trò và năm sự kiện. Kanban là cách khác, không có sprint. Đội có thể Agile mà không dùng Scrum.