Scrum và Kanban là 2 phương pháp phổ biến của Agile với mục tiêu hướng tới là sự thành công trong quá trình phát triển sản phẩm. Đôi khi mọi người hiểu sai Scrum và Kanban là cặp từ đồng nghĩa. Nhưng trong thực tế, hai phương pháp Scrum và Kanban là khác nhau.
Vậy bạn có biết sự khác nhau giữa 2 phương pháp này?
Phương pháp Kanban là gì?
Kanban là một hệ thống trực quan để quản lý công việc. Nó hình dung cả quá trình và công việc thực tế đi qua quá trình đó. Mục tiêu chính của Kanban là xác định các tắc nghẽn tiềm ẩn trong quá trình và khắc phục chúng. Luồng công việc nên tiến trình suôn sẻ ở tốc độ tối ưu.
Kanban dùng Bảng Kanban và chia công việc thành những phần nhỏ và giới hạn số lượng công việc cho phép trong một điều kiện nhất định.
Phương pháp Scrum là gì?
Scrum là một framework giúp mọi người, nhóm và tổ chức tạo ra giá trị thông qua các giải pháp thích ứng cho các vấn đề phức tạp. Scrum được hoàn thành bởi một nhóm liên chức năng (cross-function) trong một khoảng thời gian quy định (còn gọi là sprint trong 1-4 tuần). Scrum dựa trên ba vai trò chính:
- Product Owner (PO): chịu trách nhiệm cho việc tối ưu hóa giá trị mà sản phẩm mang lại.
- Scrum Master: chịu trách nhiệm bồi dưỡng và duy trì môi trường Scrum cho team và tổ chức.
- Dev Team: các thành viên của nhóm Scrum có trách nhiệm thực hiện phần việc trên mỗi sprint.
Nhóm Scrum thường sử dụng Bảng Scrum để theo dõi công việc của từng thành viên trong nhóm (flow of work). Mỗi nhiệm vụ (task) được chia thành các đoạn nhỏ gọi là “story”, mỗi story chuyển giao trong Bảng gọi là “backlog” (những việc phải làm), trở thành “work-in-progess” (việc đang triển khai).
Điểm giống nhau giữa Kanban và Scrum
- Cả hai phương pháp đều chia nhỏ các task lớn và phức tạp thành những đoạn nhỏ và hoàn thành theo một quy trình nhất định.
- Cả hai phương pháp thúc đẩy cải tiến liên tục, tối ưu hóa công việc và quá trình.
- Cả hai phương pháp đều tập trung vào dòng chảy công việc để khuyến khích các thành viên tham gia vào quy trình.
Điểm khác nhau giữa Kanban và Scrum
Kanban |
Scrum |
---|---|
Kanban cởi mở việc thực hiện thay đổi. Có nghĩa là giảm độ cứng nhắc và mọi thứ có thể thay đổi thường xuyên. | Scrum nhấn mạnh vào việc lập kế hoạch. Bắt đầu với Sprint Planning và kết thúc với Sprint Retrospective. Một số cuộc họp được tổ chức để giúp đảm bảo rằng team được liên kết với các bước tiếp theo, ưu tiên và học hỏi từ các sprint trước đó. |
Kanban dựa vào time-boxing và dự báo | Scrum yêu cầu sự cam kết về mục tiêu của sprint và dự báo |
Kanban không có yêu cầu bắt buộc để ước lượng. | Scrum nhấn mạnh vào việc lập kế hoạch, và vì vậy ước lượng có vai trò rất quan trọng trong Scrum. |
Không có vai trò nào thiết lập linh hoạt về mặt trách nhiệm cá nhân. | Mỗi cá nhân đều có vai trò và trách nhiệm của họ. |
Không có vòng lặp lại trong thời gian cố định ở bảng Kanban. Tất cả đều dựa vào cycle times. | Scrum phát triển sản phẩm bằng cách thiết lập một vòng lặp trong một thời gian cố định. Mỗi vòng lặp này được gọi là Sprint. Thông thường, mỗi lần chạy sprint cố định trong khoảng 1-4 tuần. |
Cam kết là không cần thiết. Nó không bắt buộc đối với team. | Team được yêu cầu phải cam kết một số lượng công việc cụ thể. |
Có đội ngũ chuyên môn là quan trọng. | Trong phương pháp này, các nhóm cross-functional rất quan trọng vì chúng có thể giải quyết bất kỳ sự gián đoạn nào có thể gây ra một sự cố trong việc phát triển phần mềm. |
Các mục mới có thể dễ dàng thêm nếu khả năng bổ sung khả dụng. | Không thể thêm các mục vào các lần lặp liên tục |
Nhiều đội có thể chia sẻ bảng Kanban. | Một sprint backlog được sở hữu bởi một nhóm duy nhất. |
Các sản phẩm và quy trình được phân phối liên tục trên cơ sở cần thiết. Vì vậy, quá trình kiểm tra và đánh giá diễn ra đồng thời. | Việc phân phối được xác định bởi sprint, một bộ công việc phải được hoàn thành và sẵn sàng để xem xét. |
Phương pháp Kanban hoàn toàn tập trung vào bảng điều khiển quy trình. | Phương pháp phát triển phần mềm Scrum tập trung vào backlog. |
Không có vai trò được xác định trước cho một nhóm. Tuy nhiên, vẫn có thể có một Project Manager; nhóm được khuyến khích cộng tác và làm việc cùng nhau. | Mỗi thành viên trong nhóm có một vai trò cụ thể: Scrum master, Product Owner và Đội Developers of team (Nhóm phát triển). Thực hiện các công việc như phân tích, thiết kế, phát triển, thử nghiệm, tài liệu… |
Các nhóm làm việc để đạt được các mục tiêu và giảm thời gian hoàn thành toàn bộ quá trình. Do đó, việc giảm chu kỳ thời gian là những chỉ số thành công lớn nhất ở đây | Trong Scrum, toàn bộ nhóm tập trung vào cộng tác và hoàn thành nhiệm vụ để cung cấp công việc phát triển chất lượng. |
Chỉ hoạt động tốt với các đội nhỏ vì vậy không phù hợp với nhóm kích thước lớn. | Các dự án lớn có thể dễ dàng chia thành các sprint dễ dàng quản lý. |
Một số công ty lựa chọn Scrum, số khác chọn Kanban. Đôi khi, chúng ta có thể kết hợp cả 2 với nhau với tên gọi là Scrumban.
Tham khảo nguồn: viblo.asia