07/09/2018, 08:46

Sự khác biệt giữa Scrum và Kanban trong Agile

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 và có thể được áp dụng đa dạng ở nhiều dự án khác nhau. Đô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à 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 và có thể được áp dụng đa dạng ở nhiều dự án khác nhau. Đô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? Nếu phân biệt được rõ ràng 2 phương pháp, mình nghĩ chắc chắn các bạn sẽ có nhận định đúng đắn hơn về việc áp dụng phương pháp nào vào dự án là phù hợp đối với những bạn còn đang phân vẫn giữa việc áp dụng Scrum hay Kanban.

Trước khi đánh giá 2 phương pháp này, chúng ta cần phải biết chúng là gì đã ^^

1. 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 việc thực hiện 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. Mục tiêu của Kanban là 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 (bao gồm nhiều task trên một thẻ Kanban và trên To do list – chỉ định rõ phải nhận bộ phận, chi tiết hay task nào từ trạm trước nó với số lượng bao nhiêu)

2. Phương pháp Scrum là gì?

Scrum là một quá trình giúp phân phối giá trị kinh doanh trong thời gian ngắn nhất. Nó nhanh chóng và liên tục kiểm tra phần mềm làm việc thực tế. Nó nhấn mạnh vào tinh thần đồng đội và tiến bộ lặp lại của phần mềm.

Về cơ bản, phương pháp Scrum là bộ khung làm việc (framework) giúp các công ty, tổ chức chia nhỏ công việc thành những phần nhỏ hơn, để quản lý dễ dàng hơn và đượ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 2-4 tuần). Scrum dựa trên ba vai trò chính:

  • Product Owner (PO) (chịu trách nhiệm lập kế hoạch ban đầu, thiết lập các ưu tiên và phối hợp với các bộ phận khác của công ty)
  • Scrum Master (chịu trách nhiệm giám sát công việc trong suốt quá trình thực hiện)
  • 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 (dòng chảy công việc – flow of work). Mỗi nhiệm vụ (task) được chia thành các đoạn nhỏ gọi là “stories”, mỗi stories 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).

3. Đ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.

4. Điểm khác nhau giữa Kanban và Scrum

Kanban Scrum
Kanban cởi mở việc thực hiện thay đổi. Nó 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. Nó bắt đầu với sprint planning và kết thúc với sprint retrospective. Có rất nhiều 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 đề xuất các đồ thị để có cái nhìn tổng quan về tiến bộ của team theo thời gian. Scrum đề xuất tập hợp các phép đo thời gian được thực hiện trong suốt sprint
Kanban dựa vào time-boxing và dự báo Scrum không còn yêu cầu cam kết từ các đội nữa. Thay vào đó, đó là về các 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 2 tuần đến 1 tháng.
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 chịu trách nhiệm trên quy trình công việc, lập kế hoạch sprint, đánh giá, cuộc họp hàng ngày. Product Owner là người chịu trách nhiệm chính cho phát triển sản phẩm. Đội Development: Đội phát triển và vận hành sản phẩm vào cuối mỗi kỳ Sprint. 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...
Tốt nhất cho các dự án có ưu tiên thay đổi. Rất lý tưởng cho các đội có ưu tiên ổn định mà không thay đổi theo thời gian.
Kanban không cho phép thay đổi mạnh mẽ trong dự án. Scrum đòi hỏi một sự thay đổi hoàn toàn từ mô hình truyền thống sang mô hình Agile Scrum sẽ được triển khai thực hiện dự án.
Phù hợp nhất cho các đội có ưu tiên ổn định. Nó là một phương pháp lý tưởng cho các dự án với các ưu tiên thay đổi rộng rãi.
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.
Kanban có tính chất lặp đi lặp lại nhiều hơn vì nó không có khung thời gian cụ thể. Vì vậy, các mục mới có thể được liên tục bổ sung bất cứ khi nào có thêm dung lượng Scrum nhấn mạnh vào lịch trình của nó; không thể thêm các mục mới vào các lần lặp liên tục.
Toàn bộ dự án được thực hiện trên sự chuyển động của các luồng công việc đơn luồng. Tổng số công việc được thực hiện theo batches/Sprints.
Kanban khuyến khích mọi thành viên trong nhóm là một nhà lãnh đạo và chia sẻ trách nhiệm với tất cả mọi người. Scrum master hoạt động như một người giải quyết vấn đề.
Kanban tập trung vào việc lập kế hoạch thời gian khác nhau cho lặp lại cá nhân. Scrum quy định thời gian lặp đi lặp lại.
Phương pháp Kanban tập trung vào cải tiến liên tục, năng suất và hiệu quả. Scrum giúp các công ty tiết kiệm thời gian và tiền bạc
Các thành viên nhóm có nhiều khả năng hoàn thành mục tiêu của họ dễ dàng hơn nhiều vì bản chất trực quan của bảng Kanban. Đạt được thông tin liên lạc ổn định và nhất quán về hiệu suất ở mọi cấp độ.
Nếu một nhiệm vụ không được ước tính chính xác, tổng chi phí dự án sẽ không bao giờ chính xác. Trong những trường hợp như vậy, nhiệm vụ có thể được trải rộng qua một vài sprint Tổng chi phí của dự án là tối thiểu có thể dẫn đến kết quả nhanh hơn và rẻ hơn.
Không có khung thời gian cụ thể nào được phân bổ theo từng giai đoạn, do đó các thành viên trong nhóm không bao giờ có được ý tưởng về thời gian họ có thể thực hiện trong mỗi giai đoạn. Phương pháp này chỉ yêu cầu các thành viên trong nhóm có kinh nghiệm. Vì vậy, nếu đội bao gồm những người không phải là một chuyên gia, dự án không thể được hoàn thành trong thời gian.
Nó được thiết kế cho một sản lượng ổn định, thường xuyên, những thay đổi lớn trong nhu cầu của khách hàng có thể khiến Kanban fail Trong phương pháp Agile Scrum này, việc cung cấp một sản phẩm chất lượng vào thời gian đã lên lịch sẽ dễ dàng hơn.
Nếu bất kỳ thành viên nào trong nhóm rời đi trong quá trình phát triển, nó có thể làm ảnh hưởng đến sự phát triển của dự án. Kế hoạch dự án sẽ không bao giờ bị ảnh hưởng ngay cả khi một thành viên trong nhóm rời khỏi nhóm.
Ban Kanban lỗi thời có thể dẫn đến các vấn đề trong quá trình phát triển. Các cuộc họp hàng ngày đôi khi làm phiền các thành viên trong nhóm.
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ý.

Như chúng ta đã thấy trong các mô tả bên trên, về mặt tính chất của hai bảng đều như nhau. Nhưng cách làm việc trong cả hai quá trình này là khác nhau.

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.

0