22. Phương pháp Kanban

Phương pháp Kanban

Phương pháp Kanban có nguồn gốc từ Hệ thống sản xuất tinh gọn [Lean production system] do hãng Toyota phát triển. “Kanban” tiếng Nhật có nghĩa là “Biển chỉ dẫn” [Signboard]. Kanban board, tức Biển chỉ dẫn, đóng vai trò quan trọng trong phương pháp Kanban. Kanban board thể hiện các hạng mục công việc [work item] ở từng công đoạn của quá trình phát triển.

Phương pháp Kanban hoạt động trên 5 nguyên tắc cốt lõi sau đây:

  1. Visualize the workflow [Hiển thị qui trình công việc] Các dự án về sản phẩm trí tuệ có kết quả là thứ không sờ chạm hay nhìn thấy rõ được. Vì thế hiển thị được qui trình công việc là rất quan trọng để tổ chức, tối ưu hóa và theo dõi qui trình công việc.
  2. Limit WIP [Giới hạn lượng công việc đang xử lý] Giới hạn khối lượng công việc đang xử lý trong qui trình công việc sẽ cải thiện năng suất lao động, tăng khả năng nhìn thấy được vấn đề và điểm nghẽn cổ chai, và hỗ trợ cho việc liên tục cải tiến. Nó giúp cho team nhận diện vấn đề tốt hơn và giảm thiểu được sự lãng phí cũng như chi phí phát sinh do thay đổi. Nó đồng thời là một hệ thống kéo việc [pull system] đều đặn đi suốt quá trình phát triển, vì một mục công việc mới chỉ được đẩy sang công đoạn tiếp theo khi một đầu mục công việc khác đã thực hiện xong.
  3. Manage flow [Quản lý qui trình] Theo dõi thường xuyên cả qui trình công việc cho phép làm nổi rõ vấn đề phát sinh cũng như các thay đổi được triển khai được đo đếm mức độ hiệu quả.
  4. Make process policies explicit [Tường minh hóa các chính sách của qui trình] Một điều quan trọng là có sự giải thích tường minh các chính sách đang vận hành để team có thể bàn bạc công khai về các cải tiến một cách khách quan, thay vì chỉ đưa ra ý tưởng dựa vào cảm tính chủ quan.
  5. Improve collaboratively [Cải thiện thông qua hợp tác] Bằng các phép đo và thử nghiệm khoa học team có thể hợp tác cùng nhau để cải thiện qui trình và cải thiện năng suất của chính các thành viên.

Hệ thống kéo Kanban [Kanban pull system]

Kanban có một số đặc trưng khác biệt hoàn toàn so với Scrum, XP và các phương pháp agile khác. Bạn cần hiểu điểm khác biệt lớn nhất ở Kanban là team sử dụng một hệ thống kéo [pull system] để chuyển các hạng mục công việc lần lượt đi qua tất cả các công đoạn của qui trình phát triển, mà không lập kế hoạch công việc theo các vòng lặp có thời gian cố định [timeboxed iteration] như của phương pháp Agile. Mỗi khi team Kanban làm xong một hạng mục, thì sẽ lập tức “kéo” một hạng mục tiếp theo từ hàng đợi xuống để bắt đầu xử lý. Như bạn thấy trên hình, ứng với mỗi cột của Kanban board sẽ chỉ có một số lượng “chỗ đỗ” nhất định cho các hạng mục đi vào, và mỗi khi có một “chỗ đỗ” được giải phóng thì đó là chỉ dấu báo cho team biết cần phải kéo một hạng mục công việc tiếp theo “đỗ” vào đó để thực hiện. Nhờ vậy mà luồng hạng mục công việc được kéo liên tục từ trái qua phải của Kanban board.

[Thoạt nhìn thì tưởng như sự chuyển dịch từ trái sang phải các hạng mục trên Kanban board cũng giống như sự dịch chuyển task trên các task board của phương pháp agile. Thực ra thì không phải! Ở Kanban thì dung lượng còn trống (“chỗ đỗ” còn trống) mới là chỉ dấu cho team kéo vào một hạng mục tiếp theo để xử lý. Còn trên các task board sự dịch chuyển từ cột nọ qua cột kia của một tác vụ chỉ đơn thuần là để cập nhật trạng thái của tác vụ đó mà thôi.]

Hệ thống kéo Kanban không hề đề cập đến việc áp dụng các iteration như phương pháp Agile. Dù rằng team Kanban có thể sử dụng iteration nếu như họ muốn, nhưng hệ thống kéo Kanban như kể trên thì chỉ ra rằng không cần phải áp dụng iteration. Các công ty và tổ chức rõ ràng đòi hỏi team Kanban phải tuần tự bàn giao kết quả dự án – các product increment – theo một lịch trình nhất định. Nhưng lịch trình của qui trình phát triển sản phẩm của team Kanban thì không nhất thiết phải ăn khớp với lịch trình bàn giao các increment.

Ví dụ một team Kanban có thể cam kết định kỳ hằng quí sẽ phát hành một release mới cho khách hàng trên môi trường production của họ. Thế nhưng nội tại qui trình phát triển sản phẩm thì team Kanban không hề cần đến các iteration. Thay vì iteration, bất cứ gói công việc nào đã được team hoàn thành và được khách hàng nghiệm thu [accepted] thì đều sẵn sàng được phát hành ở quí tiếp theo. Để lên kế hoạch và đo lường quá trình phát triển trong một release thì tem Kanban, thay vì sử dụng khái niệm velocity như ở phương pháp agile, sẽ dùng các thước đo là “cycle time”, “lead time” và “throughput”.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

error: