Thuật ngữ
Agile là gì? Khác Scrum và Kanban ở đâu, đội Việt Nam áp dụng thế nào
Agile là tư duy làm phần mềm theo chu kỳ ngắn, giao sớm, lấy phản hồi để điều chỉnh. Bốn giá trị, sáu nguyên tắc cho đội nhỏ, khác Scrum và Kanban, bốn hiểu nhầm.
Khoảng 6 phút đọc
Trả lời ngắn
Định nghĩaAgile là tư duy làm phần mềm theo chu kỳ ngắn: giao một phần dùng được sớm, giao thường xuyên, lấy phản hồi của người dùng để điều chỉnh phần tiếp theo, thay vì lập kế hoạch chi tiết một lần rồi làm theo trong nhiều tháng. Agile không phải một quy trình cụ thể; Scrum và Kanban là hai cách cụ thể để làm theo tư duy này.
Từ này bị dùng sai nhiều đến mức mất nghĩa: “làm agile” để chỉ làm nhanh, làm không kế hoạch, hoặc họp mỗi sáng. Bài này nói Agile thật sự là gì, nó khác Scrum và Kanban ở đâu, và một đội nhỏ ở Việt Nam bắt đầu như thế nào.
Bốn giá trị của Tuyên ngôn Agile
Năm 2001, 17 người làm phần mềm viết một tuyên ngôn ngắn gồm bốn cặp so sánh. Mỗi cặp nói “chúng tôi coi trọng vế trái hơn vế phải”, nhưng vế phải vẫn có giá trị, chỉ không phải ưu tiên hàng đầu.
| Coi trọng hơn | So với | Nghĩa là trong thực tế |
|---|---|---|
| Con người và tương tác | Quy trình và công cụ | Hai người nói chuyện 10 phút giải quyết được thứ mà 3 email và 1 biểu mẫu không giải quyết được |
| Phần mềm chạy được | Tài liệu đầy đủ | Cho người dùng bấm thử một màn hình thật hơn là gửi 40 trang đặc tả |
| Hợp tác với khách hàng | Đàm phán hợp đồng | Khách xem sản phẩm mỗi hai tuần và cùng chọn việc tiếp theo, thay vì chỉ gặp ở nghiệm thu |
| Sẵn sàng thay đổi | Bám kế hoạch | Yêu cầu đổi giữa chừng là bình thường; kế hoạch chỉ chi tiết cho hai tuần tới |
12 nguyên tắc, rút gọn còn sáu điều đội nhỏ cần
Sáu điều quan trọng nhất
- Giao phần mềm chạy được thường xuyên, vài tuần một lần, không phải vài tháng.
- Người làm nghiệp vụ và người làm kỹ thuật làm việc cùng nhau hằng ngày, không qua trung gian.
- Đội tự tổ chức: người làm quyết định cách làm và ước lượng, quản lý quyết định phạm vi và ưu tiên.
- Tiến độ đo bằng phần mềm chạy được, không bằng phần trăm cảm tính hay giờ đã bỏ ra.
- Nhịp bền vững: đội làm đều được mãi, không chạy nước rút rồi kiệt sức.
- Đội đều đặn nhìn lại cách làm và tự điều chỉnh.
Agile, Scrum và Kanban khác nhau thế nào
| Agile | Scrum | Kanban | |
|---|---|---|---|
| Là gì | Tư duy, bốn giá trị | Khung làm việc có sprint cố định | Phương pháp quản lý dòng chảy việc |
| Nhịp | Chu kỳ ngắn, không quy định độ dài | Sprint 1–4 tuần, chốt việc đầu sprint | Liên tục, việc vào khi có chỗ |
| Quy định | Không có vai trò, sự kiện | 3 vai trò, 5 sự kiện, 3 hiện vật | Bảng, giới hạn WIP, quy tắc rõ ràng |
| Đo | Phần mềm chạy được | Velocity, burndown | Thời gian hoàn thành từng việc |
| Hợp với | Mọi đội làm phần mềm | Xây sản phẩm theo từng phần | Vận hành, hỗ trợ, bảo trì |
Đội có thể Agile mà không dùng Scrum, và có thể “chạy Scrum” mà không Agile chút nào, ví dụ họp đủ năm buổi nhưng sáu tháng chưa cho người dùng xem gì. Chi tiết hai cách làm ở Scrum là gì? và Kanban là gì?.
Ví dụ: một phòng CNTT chuyển từ thác nước sang chu kỳ hai tuần
Ví dụ
Phòng CNTT một trường làm cổng đăng ký học phần theo cách cũ: ba tháng viết đặc tả với phòng Đào tạo, bốn tháng lập trình, một tháng nghiệm thu. Đến nghiệm thu, phòng Đào tạo nói quy trình đăng ký đã đổi từ học kỳ trước; sửa mất thêm hai tháng.
Dự án tiếp theo, đội đổi cách: tuần đầu chỉ viết danh sách việc và chọn 8 việc quan trọng nhất; hai tuần sau phòng Đào tạo đã bấm thử màn hình đăng nhập và danh sách học phần trên máy thử. Yêu cầu “lọc theo khoa” phát hiện ở tuần thứ ba thay vì tháng thứ tám, sửa mất hai ngày. Đặc tả vẫn có, nhưng viết cho hai tuần tới và viết cùng người dùng. Đó là Agile; việc họ chọn sprint hai tuần là Scrum.
Bốn hiểu nhầm phổ biến
Agile không có nghĩa là
Bắt đầu Agile trên Pentara
Pentara dựng sẵn cách làm Scrum kết hợp Kanban cho đội Việt Nam: backlog và sprint ở tab Backlog, làm hằng ngày trên Board có giới hạn WIP, đo bằng burndown và velocity ở Báo cáo, và phản hồi của người dùng đi vào qua cổng khách hàng ở tab Yêu cầu KH. Bốn giá trị Agile có chỗ đứng cụ thể thay vì chỉ là khẩu hiệu.
Đội mới nên bắt đầu bằng một dự án thật, một sprint hai tuần, và mời người dùng xem ở Review đầu tiên. Đăng ký gói Miễn phí, đi theo Bắt đầu nhanh; người chưa từng làm Scrum có lộ trình học 7 ngày, và bức tranh chung ở chương Bức tranh tổng thể.
Hỏi đáp nhanh
- Agile có phải là Scrum không?
- Không. Agile là tư duy với bốn giá trị; Scrum là một khung làm việc cụ thể theo tư duy đó, với sprint, ba vai trò và năm sự kiện. Kanban là cách khác. Đội có thể Agile mà không dùng Scrum, và có thể họp đủ năm buổi Scrum mà vẫn không Agile nếu sáu tháng chưa cho người dùng xem gì.
- Agile có hợp với dự án có hợp đồng cố định không?
- Hợp, nếu hợp đồng cố định về ngân sách và thời gian nhưng linh hoạt về thứ tự và chi tiết tính năng. Khách xem sản phẩm mỗi hai tuần và cùng chọn việc tiếp theo trong phạm vi đã ký. Khó khi hợp đồng đóng đinh từng màn hình từ đầu; khi đó vẫn làm theo chu kỳ ngắn để phát hiện sai sớm.
- Đội nhỏ bắt đầu Agile từ đâu?
- Từ một dự án thật, một chu kỳ hai tuần, và một buổi cho người dùng xem ở cuối chu kỳ. Chọn khuôn có sẵn, Scrum nếu đang xây sản phẩm, Kanban nếu đang vận hành, chạy đúng khuôn ba chu kỳ rồi mới sửa. Không cần chứng chỉ, không cần đổi hết công cụ.