Quản trị dự án

Kanban – phương pháp giúp cải tiến quy trình làm việc của dự án

Để quá trình sản xuất hoạt động một cách trôi chảy, suôn sẻ, giúp doanh nghiệp mang lại hiệu suất tối đa, chúng ta không thể không nhắc đến Kanban. Trong bài viết này, chúng ta sẽ cùng khám phá các khía cạnh của Kanban như cơ chế, nguyên tắc hoạt động… từ đó hiểu rõ lý do tại sao Kanban lại có giá trị như vậy.

Kanban là gì?

Phương pháp Kanban có nguồn gốc từ hệ thống sản xuất tinh gọn được phát triển tại Toyota. “Kanban” là một từ tiếng Nhật có nghĩa là “bảng hiệu” – “signboard”. Bảng Kanban đóng một vai trò quan trọng trong phương pháp Kanban. Bảng này hiển thị các hạng mục công việc trong từng giai đoạn của quá trình sản xuất. Đây là một ví dụ đơn giản về một bảng Kanban:

Kanban’s Pull System

Kanban là một phương pháp giúp cải tiến quy trình làm việc của bạn tốt hơn, Kanban dựa trên Lean thinking (chúng ta sẽ tìm hiểu Lean ở bài viết khác). Kanban có một số đặc điểm khác biệt so với Scrum, XP hay Agile nói chung, ở chỗ Kanban không quy định vai trò thành viên trong nhóm hay các phương pháp quản lý/ phát triển dự án cụ thể nào cả. Thay vào đó, Kanban giúp chúng ta xem xét cách công việc đang được triển khai, thấy được luồng công việc đang chạy ra sao, sau đó thử nghiệm với những thay đổi nhỏ và giới hạn WIP (work in progress – công việc đang làm) để giúp nhóm thiết lập “pull-system” và loại bỏ lãng phí. Pull system đề cập đến việc liên tục di chuyển công việc từ trạng thái này sang trạng thái khác trong quá trình thực hiện dự án, thay vì lập kế hoạch công việc cần làm trong một iteration. Mỗi khi một nhóm Kanban hoàn thành một hạng mục công việc, đó cũng là lúc kéo – ”pull” một công việc tiếp theo từ trạng thái sẵn sàng sang bắt đầu làm.

Sẽ chỉ có một số chỗ (slot) nhất định có sẵn cho mỗi cột trên bảng Kanban, thể hiện năng lực tối đa của nhóm có thể làm tại một giai đoạn cụ thể, và bất cứ khi nào có chỗ trống trên mỗi cột, đó là tín hiệu cho nhóm thực hiện việc kéo công việc từ trạng thái trước đó sang trạng thái hiện tại (ví dụ từ To do sang Developing, từ Developing sang Testing,…). Vì vậy, công việc liên tục được kéo từ trái qua phải của bảng Kanban. Điều này có thể giống như việc di chuyển các hạng mục công việc trên Task board (sẽ tìm hiểu trong bài viết khác) của Agile nhưng không phải vậy. Đối với Task board, nhóm chỉ cần di chuyển các mục công việc từ trái sang phải để hiển thị trạng thái của chúng trong quy trình mà không cần quan tâm đến năng lực giới hạn của nhóm tại từng giai đoạn (ví dụ tại một thời điểm thì nhóm chỉ có thể TEST tối đa 5 tính năng). 

Với pull system, Kanban ít nhấn mạnh hơn vào các lần lặp so với các phương pháp Agile khác (mặc dù nhóm Kanban có thể sử dụng các iteration nếu muốn). Ví dụ: một nhóm Agile có thể quyết định sử dụng iteration với timeboxed là 2 tuần, mỗi quý (3 tháng, 13 tuần) nhóm thường sẽ hoàn thành 6 iterations. Vì vậy, nhóm biết rằng sẽ có 6 lần lặp lại giữa mỗi bản phát hành (release), giúp nhóm sắp xếp lên kế hoạch cho các tính năng và stories sao cho phù hợp. 

Nhóm Kanban có thể vẫn có các bản release hàng quý cho khách hàng, nhưng có thể sẽ không sử dụng bất kỳ iteration nào. Thay vào đó, bất kỳ gói công việc/tính năng nào đã được chấp thuận trong một quý vừa qua thì cũng sẽ trở thành một phần cho bản release. Nhóm vẫn có thể lập kế hoạch và theo dõi công việc của mình cho các bản release, nhưng thay vì sử dụng các chỉ số velocity, họ sẽ sử dụng các chỉ số về cycle time (thời gian từ lúc bắt đầu cho tới lúc hoàn thành công việc), lead time (thời gian từ lúc công việc được đưa vào dự án cho tới lúc hoàn thành) và throughput (khối lượng công việc hoàn thành trong một khoảng thời gian).

Sử dụng bảng Kanban để trực quan hóa quy trình làm việc

Bảng Kanban là một công cụ mà các nhóm Lean / Kanban sử dụng để trực quan hóa quy trình làm việc. Nó bao gồm một bảng – được chia thành các cột, với các story cards trong mỗi cột để thể hiện các hạng mục công việc trong suốt quá trình.

Bảng Kanban trông rất giống task board, nhưng có một số điểm khác nhau:

Tham khảo:   Agile là gì? Scrum là gì? Tổng quan về Agile scrum

  • Hiển thị trạng thái của tất cả các nhiệm vụ trên bảng
  • Có thể được sử dụng để theo dõi tiến độ và điều chỉnh khi mọi thứ diễn ra không như kế hoạch
  • Làm cho công việc trong Sprint hoặc dự án rõ ràng và minh bạch đối với nhóm
  • Thể hiện mức độ ưu tiên và giúp các thành viên trong nhóm tự tổ chức công việc
  • Hiển thị trạng thái của tất cả các tính năng trên bảng
  • Hiển thị rõ ràng WIP limits để công việc mới không bị đưa vào khi một giai đoạn đã đạt đến giới hạn của nó
  • Căn chỉnh để phù hợp với trạng thái quy trình làm việc do nhóm xác định
  • Hiển thị quy trình và giúp các thành viên trong nhóm thử nghiệm với những thay đổi nhỏ đối với quy trình của họ

 

Sáu nguyên tắc của Kanban giúp cải thiện quy trình làm việc

Kanban phát triển, vận hành dựa trên 6 nguyên tắc cốt lõi:

1. Visualize the workflow: 

Việc tìm ra một số cách để trực quan hóa quy trình làm việc là rất quan trọng để nhóm tối ưu hóa và theo dõi quy trình đó. Visualize the workflow sẽ tạo ra một bức tranh về quy trình bạn đang sử dụng. Ví dụ gồm 5 giai đoạn như sau: 

2. WIP Limit (work in progress) – Giới hạn WIP:

Việc giới hạn khối lượng công việc đang thực hiện trong mỗi giai đoạn cho đến khi công việc trôi chảy sẽ giúp cải thiện năng suất, tăng khả năng phát hiện ra các vấn đề, các điểm nghẽn trong quy trình, đồng thời tạo điều kiện cải tiến liên tục.

3. Manage flow – Quản lý luồng công việc:

Đo lường lead time và xem WIP limits nào cho chúng ta thời gian ngắn nhất để cung cấp các tính năng cho khách hàng. Cố gắng giữ tốc độ không đổi.

4. Make process policies explicit – Đưa ra các chính sách quy trình rõ ràng:

Điều quan trọng là phải giải thích rõ ràng mọi thứ hoạt động như thế nào để nhóm có thể thảo luận cởi mở về những cải tiến theo hướng khách quan, thay vì cảm tính hay chủ quan.

Đối với mỗi bước trong quy trình, chúng ta cần có khâu kiểm tra để đảm bảo quy trình đang hoạt động hiệu quả. Đo lường lead time và cycle time để đảm bảo quá trình không bị chậm lại.

Thông qua việc đo lường và thử nghiệm hợp lý, nhóm nên chia sẻ với nhau những gì đã thu thập được và khuyến khích các thành viên đưa ra các đề xuất, cải tiến các quy trình mà nhóm sử dụng.

Hãy cùng xem xét kỹ hơn các nguyên tắc ngay bên dưới đây:

Visualize workflow – Nhóm tạo quy trình làm việc

Bước đầu tiên trong việc cải thiện quy trình làm việc là trực quan hóa luồng công việc của quy trình đó và những gì đang diễn ra. Nhóm sẽ cùng nhau thảo luận về các bước mà nhóm sẽ làm mỗi khi họ xây dựng một tính năng mới. Mặc dù quy trình không phải lúc nào cũng được tuân thủ chính xác theo thứ tự, nhưng nhóm cần tạo ra một cái nhìn về các giai đoạn mà một tính năng phải trải qua khi nhóm xây dựng và cung cấp nó.

Chúng ta có thể tuân theo một quy trình làm việc (a) => (b) => (c) => (d) => (e)

Tiếp theo, nhóm tạo vạch ra quy trình của mình trên bảng Kanban để các thành viên có thể xem các tính năng nào ở trạng thái quy trình công việc nào. Nhóm vẽ ra các cột trên task board phù hợp với các trạng thái mà nhóm đã xác định và sau đó tìm ra trạng thái của từng tính năng. Đối với mỗi tính năng, nhóm cần tạo ra một sticky note và đặt nó vào cột tương ứng  trên bảng.

Mọi người trong nhóm nên tham gia cập nhật bảng Kanban – nhiều thông tin được cập nhật hơn sẽ tạo ra nhiều cơ hội giúp các thành viên khám phá các trạng thái mà từng cá nhân không nhận ra, từ đó giúp nhóm hình dung quy trình làm việc chính xác hơn.

WIP Limits (Giới hạn WIP) trong Kanban

WIP Limits – về cơ bản, thuật ngữ này đề cập đến việc giới hạn số lượng hạng mục công việc tại một trạng thái nhất định (các trạng thái được xác định bởi các cột trên bảng Kanban). Khi đạt đến con số giới hạn được ghi ở đầu mỗi cột, không có công việc mới nào có thể được chuyển vào cột đó cho đến khi một công việc khác được chuyển ra ngoài. Dưới đây là một ví dụ về bảng Kanban với WIP Limits:

Tham khảo:   Lean - Tinh gọn hóa quy trình một cách hiệu quả

Trong ví dụ này, chúng ta sẽ thấy backlog trong cột đầu tiên. Cột thứ hai cho thấy có 3 user stories hiện được chọn để phát triển, rất hợp lý vì WIP Limits của cột là 4. Cột Phát triển và Chấp thuận cũng có WIP Limits tương ứng là 3 và 2.

Tại sao việc hạn chế WIP lại quan trọng như vậy? Lý do là việc giảm WIP (work in progress – công việc đang triển khai) thực sự làm tăng năng suất của nhóm – nó tăng tốc độ hoàn thành công việc. Định luật Littles Law chứng minh rằng thời gian của một hàng đợi (mất bao lâu để hoàn thành các công việc) tỷ lệ thuận với kích thước của nó (bao nhiêu công việc đang được thực hiện).

 

Phải mất một vài lần thì mọi người mới có thể quen dần với việc đặt ra WIP Limits, sau đó mọi người mới có thể thấy sự cải thiện thực sự. Đầu tiên nhóm đặt ra một giới hạn, có thể khiến tốc độ thực hiện chậm lại một chút. Lúc này, mọi người cần tập hợp lại, thảo luận và đưa ra quyết định thử tăng con số cao hơn một chút cho lần tiếp theo. Khi nhóm đã có WIP Limits phù hợp, các thành viên sẽ thấy rằng họ đang bắt đầu và hoàn thiện nhiều tính năng hơn so với trước kia. Đặc biệt hơn, các thành viên sẽ bắt đầu biết giúp đỡ, hỗ trợ nhau khi gặp khó khăn. Việc đặt ra WIP limits sẽ giúp cho công việc đã được kiểm soát nhiều hơn bao giờ hết.

Manage flow – Quản lý luồng công việc

Sơ đồ luồng tích lũy (Cumulative flow diagrams – CFD) giúp các nhóm Kanban tìm ra nguyên nhân làm gián đoạn luồng công việc của nhóm. Nhóm lập biểu đồ số lượng các mục công việc ở mỗi trạng thái theo thời gian và sử dụng biểu đồ đó để tìm kiếm các yếu tố có thể ảnh hưởng đến throughput của nhóm (khối lượng công việc được hoàn thành trong một khoảng thời gian). CFD cung cấp cho nhóm một cách trực quan để theo dõi hệ thống đang hoạt động như thế nào. Khi nhóm đã quen với việc đọc CFD, thì tất cả các thành viên đều hiểu được các đề xuất và thay đổi của họ ảnh hưởng như thế nào đến khối lượng công việc mà nhóm có thể hoàn thành.

Make process policies explicit – Đưa ra các chính sách quy trình rõ ràng

Chúng ta cần viết ra các bước trong quy trình của mình, đồng thời cũng cần nắm rõ tất cả các quy tắc mà thành viên trong nhóm đang tuân theo khi họ thực hiện các công việc hàng ngày.  

Khá phổ biến khi mọi người tự đặt ra các quy tắc của riêng mình trong quá trình làm việc và khi đưa ra các quyết định. Từ đó, các thành viên trong nhóm sẽ có nhiều hiểu lầm và thông tin bị sai lệch. Vì vậy, nhóm cần hợp tác, thảo luận với nhau về các chính sách chung và toàn bộ nhóm phải cùng nhau tuân thủ chính sách đã thống nhất để tránh nhiều hiểu lầm về sau. Dưới đây là một ví dụ cho thỏa thuận làm việc, các chính sách mà nhóm đã đưa ra một cách rõ ràng:

  • Tất cả các thành viên trong nhóm tham gia vào ước lượng và sử dụng thang điểm story point đã thống nhất.
  • Khi một thành viên trong nhóm hoàn thành một hạng mục công việc, họ sẽ lấy mục công việc tiếp theo có xếp hạng cao nhất từ ​​backlog để làm tiếp.
  • Không kéo thêm hạng mục công việc khi đã đạt đến WIP limit.
  • Tất cả các hạng mục công việc phải thỏa mãn “Điều kiện hoàn thành” để được coi là hoàn thành.
  • Không làm các hạng mục công việc không nằm trong backlog

Implement Feedback Loops – Thực hiện các vòng lặp phản hồi cho ta biết quy trình đang hoạt động như thế nào

Các nhóm Kanban cần tập trung vào việc hiểu những cải tiến mà họ thực hiện đối với quy trình của mình, từ đó tạo ra “Vòng phản hồi” – Feedback loops một cách rõ ràng để đo lường tác động của mọi thay đổi mà nhóm thực hiện. Nhóm có thể làm điều này bằng cách thực hiện các phép đo, sau đó sử dụng dữ liệu từ các phép đo đó để thay đổi cách thức hoạt động. Khi nhóm thay đổi quy trình của mình, các phép đo của họ thay đổi, nhóm sử dụng để thực hiện nhiều thay đổi hơn đối với quy trình của mình và lặp đi lặp lại…

Tham khảo:   Technical debt (Nợ kỹ thuật) là gì?

Các nhóm sử dụng feedback loops để thiết lập văn hóa cải tiến liên tục, đảm bảo rằng mọi người đều có thể đo lường và đề xuất các thay đổi. Khi tất cả mọi người đều tham gia vào việc đo lường, thay đổi và lặp lại, cả nhóm có thể xem mỗi quá trình thay đổi như một thử nghiệm của riêng mình.

Các nhóm Kanban cần thống nhất về cách họ sẽ đo lường tất cả các thay đổi họ thực hiện và sử dụng dữ liệu họ thu thập được về quy trình để đưa ra các quyết định tiếp theo. Và một trong những cách phổ biến nhất mà nhóm Kanban tạo ra feedback loops là đo lead time, thực hiện các thay đổi – ví dụ bằng cách thiết lập WIP limits (hoặc bằng những cách khác). Sau đó xem liệu những thay đổi đó có làm giảm lead time của nhóm hay không. Ví dụ: giả sử họ muốn thử một chính sách là nâng WIP Limit cho cột Doing từ 4 lên 5. Nhóm có thể chạy thử nghiệm bằng cách thực hiện nó cho hai bản releases, sau đó tìm tác động của chính sách này đối với throughput của họ bằng cách đo lường lead time trước và sau khi chính sách có hiệu lực.

Improve collaboratively – Cải thiện một cách hợp tác giúp hoàn thành công việc tốt hơn

CFD và lead time cần được chia sẻ với cả nhóm, các thành viên cần đưa ra các đề xuất để làm cho mọi thứ hoạt động tốt hơn sau mỗi lần cải thiện. Không phải tất cả đều hiệu quả, nhưng không sao, chỉ cần nhóm cùng nhau học hỏi các bài học kinh nghiệm đã trải qua. Quá trình này sẽ giúp nhóm cải thiện đáng kể về lead time, đồng thời mọi người đều cảm thấy mình làm được nhiều việc hơn, có đóng góp, tham gia vào quá trình làm việc và có nhiều quyền kiểm soát những gì đã thực hiện.

Tổng kết

Với việc mang lại các lợi thế trong quá trình lập kế hoạch và cải thiện throughput, Kanban trở thành một trong những phương pháp phổ biến nhất được các nhóm Agile áp dụng ngày nay. Để nâng cao vị thế cạnh tranh trên thị trường, đòi hỏi các nhóm, các doanh nghiệp cần có sự đổi mới nhanh, tối ưu hóa quy trình xử lý công việc – vì vậy hãy ứng dụng Kanban vào quy trình sản xuất của doanh nghiệp ngay hôm nay để mang lại hiệu quả tối đa.


Kiến thức tổng hợp bởi Masterskills (PMP, PMI-ATP Instructor)

References: PMI ACP Exam Prep Mike Griffiths 2nd Edition, Head First Agile

 

12 nguyên tắc của Agile

Trong dự án Agile, công việc ước tính có thật sự cần thiết?

Scrum of Scrums

User stories – Công cụ lên kế hoạch của Agile

Story points – Công cụ ước lượng của Agile

Velocity là gì – Công cụ đo lường tốc độ hoàn thành công việc của nhóm Agile

Story Map – Lập kế hoạch tổng quát trong Agile

Agile Retrospectives – Nhìn lại và cải tiến hiệu quả công việc dự án

Personas – Công cụ xây dựng hình tượng khách hàng trong Agile

Hướng Dẫn Scrum – The Scrum Guide

Bóng đá có 3-5-2, Scrum có 3-5-3

Bắt đầu với Scrum từ đâu đây ta?

Một số cách chạy Daily scrum hiệu quả

 

  Viện Đào Tạo Kỹ Năng Masterskills chuyên Đào Tạo tại Doanh Nghiệp (In-house) trên Toàn Quốc  
G

0903966729

1
Hỗ trợ bạn qua Zalo