Skip to content

Dashboard

Kanban là gì? Card, Bảng, Nguyên tắc cốt lõi và Thực hành

Created by Admin

Kanban là gì?

Kanban là một framework rất phổ biến để phát triển trong phương pháp luận phát triển phần mềm linh hoạt. Nó cung cấp một cái nhìn minh bạch về các nhiệm vụ và năng lực làm việc của một nhóm. Nó chủ yếu sử dụng bảng vật lý và kỹ thuật số để cho phép các thành viên trong nhóm hình dung trạng thái hiện tại của dự án mà họ đang làm việc.

Kanban có nguồn gốc từ Toyota vào những năm 1940. Kanban nghĩa trong tiếng Nhật là "biển quảng cáo". Bảng Kanban có các columns và Story Cards. Các columns không có gì, nhưng trạng thái quy trình làm việc và Cards là sự thể hiện nhiệm vụ thực tế mà một thành viên trong nhóm đang thực hiện.

Khi nào thì sử dụng Kanban?

Đây là những lý do để sử dụng phương pháp phát triển Kanban:

  • Kanban có thể được sử dụng trong bất kỳ domain nào và nó có thể được sử dụng rất hiệu quả trong phát triển phần mềm. Quản lý dự án bằng Kanban giúp cải thiện hiệu quả công việc của nhóm.
  • Nó là một hệ thống pull-based. Các nhiệm vụ sẽ được thực hiện ngay khi một cá nhân rảnh rỗi.
  • Kanban nên được sử dụng khi bạn muốn bàn giao công việc của bạn bất cứ lúc nào.
  • Kanban nên được sử dụng khi bạn muốn thay đổi các ưu tiên một cách nhanh chóng. Đối với điều đó, tất cả những gì bạn cần làm là đặt Story Cards này lên đầu hàng đợi việc cần làm.
  • Nó nên được sử dụng khi bạn muốn trực quan hóa công việc của mình và bạn muốn xem trực quan tiến độ thực hiện các nhiệm vụ của mình.

Kanban Cards

Hệ thống Kanban khuyến nghị hình dung công việc. Nó gợi ý việc sử dụng bảng vật lý và bảng kỹ thuật số.

Các Kanban Cards là những phần thiết yếu trên bảng Kanban vì nó đại diện cho công việc mà nhóm đang làm việc. Những Card này sẽ có

  • Sự ưu tiên
  • Chủ nhân
  • Kiểu
  • Ngày đến hạn

Một column trong bảng Kanban đại diện cho giai đoạn công việc và bạn có thể đặt giới hạn WIP (Đang tiến hành) trên cột đó. Giới hạn WIP có nghĩa là số lượng thẻ tối đa có thể ở trên cột đó .

Vì quản lý dự án Kanban sử dụng hệ thống pull-based, nên khi một developer rảnh rỗi, họ có thể kéo thẻ từ cột việc cần làm sang cột developer.

Bảng Kanban

Kanban Board là một công cụ quản lý dự án nhanh nhẹn giúp triển khai Kanaban để quản lý các dự án cho mục đích cá nhân và kinh doanh. Đây là một bảng vật lý hoặc kỹ thuật số (JIRA) được thiết kế để giúp các nhóm hình dung công việc của họ ở các giai đoạn và quy trình khác nhau. Nó cũng giúp thể hiện các giai đoạn công việc với các columns bằng cách sử dụng cards.

Nó có các columns đại diện cho trạng thái của công việc như

  • To-do,
  • Dev
  • Test
  • Done.

Mỗi cột này có thể có các card <= giới hạn WIP. Các card đại diện cho công việc thực tế.

Bạn có thể sử dụng số dương để giới hạn công việc đang thực hiện và số giới hạn này có thể được đặt trên đầu các cột trong cả bảng Kanban vật lý và kỹ thuật số. Bất kỳ cá nhân nào trong nhóm đều có thể quản lý trạng thái card của mình và toàn bộ nhóm có thể trực quan hóa quy trình làm việc. Tiếp theo trong hướng dẫn Kanban này, chúng ta sẽ tìm hiểu về Quy trình làm việc Kanban.

Quy trình làm việc Kanban

Kanban Workflow là một tập hợp các bước giúp các nhóm xác định các chính sách và nguyên tắc rõ ràng ở Kanaban. Nó đại diện cho các quy tắc và thủ tục trong khi công việc đang diễn ra trong các giai đoạn phát triển và chu kỳ bàn giao khác nhau. Quy trình làm việc Kanban bao gồm các quy trình từng bước giữa bắt đầu và giao một nhiệm vụ cụ thể.

Nguyên tắc cơ bản mà Kanban làm theo là, "stop starting, start finishing". Với sự trợ giúp của các giới hạn WIP, nó sẽ hoàn thành nhiều công việc hơn. Các quy trình và trạng thái Kanban có thể tùy chỉnh bởi bất kỳ công cụ hiện đại nào như JIRA.

Dưới đây là các trạng thái cơ bản mà nhiều nhóm phần mềm tuân theo để quản lý quy trình làm việc của họ.

Trạng thái Hiểu biết về nhiệm vụ
To-do Nhiệm vụ đến đầu tiên sẽ ở trạng thái này.
Sẵn sàng để phân tích Phân tích nhiệm vụ và thêm các yêu cầu hoàn chỉnh.
Sẵn sàng để phát triển Phân tích đã hoàn thành và có thể bắt đầu phát triển.
Trong quá trình phát triển Nhiệm vụ đang được phát triển.
Sẵn sàng để test Quá trình phát triển đã hoàn tất và hiện có thể bắt đầu test.
Trong quá trình test Nhiệm vụ đang được thử nghiệm.
Sẵn sàng để bàn giao Kiểm tra hoàn thành; có thể bàn giao.
Đã bàn giao Bàn giao

Bốn nguyên tắc của Kanban

Dưới đây là Bốn nguyên tắc cốt lõi chính của Kanban:

  1. Bắt đầu với những gì bạn có bây giờ : Hệ thống Kanban đề xuất làm việc tăng dần và bắt đầu với những gì bạn hiện có. Vì một trong những cách thực hiện của nó là cải tiến liên tục, bạn phải cải thiện hệ thống dần dần.
  2. Đồng ý theo đuổi thay đổi gia tăng, tiến hóa: Kanban đề xuất thay đổi gia tăng trong quy trình và bạn không được tạo ra thay đổi lớn trong quy trình trong một lần.
  3. Tôn trọng Quy trình, Vai trò & Trách nhiệm hiện tại: Một lần nữa, hãy bắt đầu với những gì bạn có bây giờ và thay đổi quy trình, vai trò và trách nhiệm theo cách tăng dần.
  4. Khuyến khích hành vi lãnh đạo ở mọi cấp độ : Mọi cá nhân đều có thể hoạt động như một nhà lãnh đạo và cung cấp các ý tưởng để nâng cao hiệu quả của hệ thống Kanban tổng thể. Bạn không nên nghĩ rằng đây là hoạt động cấp quản lý và ngay cả thành viên nhỏ tuổi nhất trong nhóm cũng có thể đóng vai trò là nhóm trưởng.

Sáu thực hành cốt lõi của Kanban

Sau đây là Sáu thực hành cốt lõi chính của Kanban:

  1. Hình dung quy trình làm việc : Nguyên tắc này đề xuất có một bảng Kanban (vật lý hoặc kỹ thuật số) để hình dung quy trình làm việc. Mỗi cá nhân của một nhóm phải xem card của mình và card của các thành viên khác trong đội. Bạn có thể di chuyển các card của mình trong các column khác nhau theo hình ảnh trên. Nó mang lại nhiều sự minh bạch trong nhóm và cũng giúp giải quyết các resolve blockers dễ dàng hơn
  2. Hạn chế công việc đang thực hiện : Kanban là một hệ thống pull-based system và nó cải thiện hiệu quả của nhóm để hạn chế công việc đang thực hiện và có những nhiệm vụ mà nhóm có thể hoàn thành trong khung thời gian nhất định. Giới hạn WIP này áp dụng từ đầu đến cuối quy trình làm việc. Bạn có thể áp dụng giới hạn trên đầu cột bằng cách sử dụng một số nguyên dương.
  3. Focus on flow : Nguyên tắc này tập sử dụng cho các thời điểm gián đoạn bất kì. Nếu có sự gián đoạn hoặc bị chặn, chúng phải được khắc phục vĩnh viễn.
  4. Chính sách rõ ràng : Các chính sách có thể được thiết lập trong một nhóm để giảm bớt công việc làm lại và tập trung vào các lĩnh vực cần chú ý hoặc nơi nó hiệu quả hơn.
  5. Vòng lặp phản hồi : Vòng lặp phản hồi là rất cần thiết trong Kanban. Nó không chỉ trong đội mà giữa nhiều đội, huấn luyện viên, v.v. Điều này giúp cải thiện sức mạnh tổng thể của hệ thống Kanban.
  6. Cải tiến liên tục : Đây là nguyên tắc cốt lõi của hệ thống Kanban. Nó nói rằng bạn luôn có thể cải thiện quy trình và điều đó sẽ mang lại hiệu quả tốt hơn.

Hệ thống Pull Based

Kanban là một phương pháp Pull Based, trong đó các nhiệm vụ đang được kéo thay vì được đẩy. Ngay sau khi bạn hoàn thành card hiện tại của mình, bạn có thể rút card mới từ column trước đó của bảng Kanban.

Với giới hạn WIP, Kanban giúp cải thiện Lead Time và Thời gian chu kỳCycle Time. Giữa hai thời điểm này phải có khoảng cách ít nhất có thể. Ví dụ: chúng tôi có 5 developers và chỉ có 1 tester; điều gì sẽ xảy ra trong trường hợp này? Sẽ luôn có nhiều card yêu cầu test, và chúng sẽ hoạt động và không chờ đợi.

Để khắc phục các vấn đề nêu trên và nâng cao hiệu quả, Kanban thực hiện theo cách tiếp cận Pull Based với các giới hạn WIP, trong đó sẽ có một số card được kéo hạn chế.

Vì vậy, Tester sẽ kéo một nhiệm vụ từ giai đoạn "sẵn sàng để test" khi anh ta đã hoàn thành nhiệm vụ hiện tại của mình. Với giới hạn WIP trong các column (các giai đoạn phát triển), bạn sẽ không có nhiều card không cần giám sát trong quy trình làm việc Kanban.

Hệ thống Pull Based cũng giúp tìm ra tiến trình chính xác cho đội. Với tiến trình phù hợp tại chỗ, đội sẽ thực hiện tốt hơn.

Lead Time và Cycle Time

Trong phương pháp Kanban, Lead Time và Cycle Time được sử dụng rộng rãi, có sự khác biệt giữa hai phương pháp này, và điều quan trọng là phải hiểu điều đó để tránh nhầm lẫn.

Lead Time Cycle Time
Lead Time được đo bằng thời gian từ khi nhiệm vụ đến trong quy trình làm việc của bạn đến khi nó rời khỏi quy trình làm việc, nghĩa là nó đã được bàn giao. Cycle Time được đo bằng thời gian từ khi nhiệm vụ đến trạng thái "đang xử lý" đến khi nhiệm vụ đến ở trạng thái "sẵn sàng để bàn giao".

Ở đây, điều quan trọng cũng cần hiểu là không tính thời gian từ lúc sẵn sàng bàn giao đến khi bàn giao thực tế.

Cycle Time = Work in Progress/Throughput

Trong kịch bản lý tưởng, khoảng cách giữa Lead Time và Cycle Time phải ở mức tối thiểu và Kanban sử dụng sơ đồ luồng tích lũy (CFD) để đo lường dữ liệu lịch sử của khách hàng tiềm năng và Cycle Time.

Cumulative Flow Diagram (CFD)

CFD là một biểu đồ có sẵn trong tất cả các công cụ quản lý quy trình làm việc hàng đầu như JIRA. Biểu đồ này đo lường tổng số card công việc / nhiệm vụ đã tham gia vào quy trình làm việc và các card tích lũy/ nhiệm vụ đã hoàn thành theo thời gian.

Nó giúp bạn ước tính lead time và cycle time trung bình cho thời gian xác định trước.

Sơ đồ CFD sẽ cung cấp cho bạn các chỉ số hoặc các khu vực có vấn đề cần khắc phục. Nó sẽ cung cấp cho bạn một bức tranh rõ ràng và dựa trên sơ đồ này. Bạn có thể điều chỉnh lead time and cycle time của nhóm.

  • Lead Time : Là khoảng thời gian từ khi card mới xuất hiện trong quy trình làm việc của bạn đến khi card cuối cùng rời khỏi quy trình làm việc.

  • Cycle Time : Là khoảng thời gian từ khi card đến trạng thái hoạt động cho đến khi card sẵn sàng để bàn giao.

  • WIP : Công việc đang tiến hành (WIP) giới hạn số lượng tối đa của các hạng mục công việc trong các giai đoạn khác nhau của quy trình làm việc.

  • Thông lượng : Đây là hiệu suất thực tế và nó cho biết số lượng card thực tế được phân phối trong một khung thời gian nhất định.

    Throughput = WIP / Cycle Time

Giới hạn WIP (Đang tiến hành)

Trong phương pháp phát triển Kanban, WIP giới hạn số lượng nhiệm vụ / card có thể được thực hiện bởi một thành viên trong nhóm hoặc toàn bộ cùng một lúc.

Các giới hạn WIP đảm bảo rằng công việc của nhóm ổn định và tăng tính chất dự đoán, điều này rất cần thiết trong hệ thống pull-based. Thông thường, quyết định giới hạn WIP do nhóm tự thực hiện.

Lý do đặt Giới hạn WIP:

Dưới đây là các lý do để đặt Giới hạn WIP:

  • Nó tập trung vào việc hoàn thành công việc khi một cá nhân tập trung vào một nhiệm vụ duy nhất tại một thời điểm.
  • Nó giúp các đội hiểu rõ năng lực của họ.
  • Nó cải thiện năng suất lead và cycle time.
  • Nó giúp tránh các nhiệm vụ chồng chất (ở chế độ chờ).
  • Nó giúp quy trình làm việc và các nhiệm vụ thay đổi linh hoạt.
  • Nó cũng giúp giải quyết các trình chặn vì một cá nhân không chuyển đổi giữa các tác vụ khác nhau.

Scrum Vs. Kanban

Dưới đây là những khác biệt quan trọng giữa Scrum Vs. Kanban

Scrum Kanban
Scrum nhấn mạnh vào việc lập kế hoạch . Nó bắt đầu với việc lập kế hoạch chạy Sprints và kết thúc. Có rất nhiều cuộc họp được tổ chức để giúp đảm bảo rằng nhóm phù hợp với các bước tiếp theo, ưu tiên và học hỏi từ các lần chạy Sprints trước. Kanban sẵn sàng thực hiện các thay đổi khi đang tiến hành. Nó có nghĩa là có ít sự cứng nhắc hơn và mọi thứ có thể thay đổi thường xuyên .
Nó khuyến nghị thu thập các phép đo thời gian được thực hiện trong quá trình chạy Sprints Kanban đề xuất các biểu đồ để có cái nhìn tổng quan về sự tiến bộ của nhóm theo thời gian.
Scrum không còn yêu cầu sự cam kết từ các nhóm. Thay vào đó, nó là về các mục tiêu và dự báo. Kanban dựa vào time-boxing và các dự báo .
Nó nhấn mạnh vào việc lập kế hoạch vì vậy nên việc ước tính có một vai trò rất quan trọng trong Scrum Kanban không có yêu cầu bắt buộc nào đối với việc ước tính.
Mỗi cá nhân đều có vai trò và trách nhiệm của họ . Không có vai trò thiết lập nên sự linh hoạt về trách nhiệm cá nhân.
Các lần iterations / Sprints được cố định trong khoảng thời gian. Thời gian này thay đổi từ 2 tuần đến 1 tháng. Kanban không dựa trên thời lượng . Điều này được đo lường liên quan đến Cycle times.
Các nhóm được yêu cầu cam kết một lượng công việc cụ thể. Cam kết không cần thiết, nó là tùy chọn cho các nhóm.
Trong phương pháp này, các nhóm cross-functional rất quan trọng vì họ có thể đối phó với bất kỳ sự gián đoạn nào có thể gây ra tắc nghẽn trong quá trình phát triển phần mềm. Có đội ngũ chuyên trách là quan trọng.
Không thể thêm các mục vào các lần iterations đang diễn ra. Các mục mới có thể dễ dàng thêm vào nếu khả năng bổ sung có sẵn.
Công việc tồn đọng của sprint chỉ được sở hữu bởi một nhóm duy nhất . Nhiều nhóm có thể chia sẻ bảng Kanban.
Các sản phẩm được giao được xác định bằng các lần chạy Sprint , một bộ công việc phải được hoàn thành và sẵn sàng để review. 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 test và review diễn ra đồng thời.
Phương pháp phát triển phần mềm Scrum tập trung vào các công việc tồn đọng . Phương pháp Kanban hoàn toàn tập trung vào bảng điều khiển quy trình.
Mọi thành viên trong nhóm đều có vai trò cụ thể, Scrum master quyết định mốc thời gian, product owner đặt ra các mục tiêu, và các thành viên trong nhóm tiến hành công việc phát triển. 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.
Tốt cho các dự án có mức độ ưu tiên thay đổi . Lý tưởng cho các nhóm có mức độ ưu tiên ổn định và không thay đổi theo thời gian.
Xác định thời điểm bằng cách sử dụng năng suất thông qua Sprint. Xác định thời điểm cách sử dụng cycle time hoặc thời gian chính xác cần thiết để hoàn thành toàn bộ một phần của dự án.
Scrum yêu cầu một sự chuyển đổi hoàn toàn từ mô hình truyền thống sang mô hình Agile Scrum sẽ được triển khai dự án. Kanban không cho phép thay đổi mạnh mẽ trong dự án.
Đây là một phương pháp lý tưởng cho các dự án có mức độ ưu tiên khác nhau . Phù hợp nhất cho các đội có ưu tiên ổn định .
Trong Scrum, toàn bộ công việc tập trung vào việc cộng tác và hoàn thành nhiệm vụ để đảm bảo phát triển chất lượng. Các nhóm làm việc để đạt được mục tiêu và giảm thời gian hoàn thành toàn bộ quy trình. Do đó, giảm cycle time là chỉ số thành công lớn nhất ở đây.
Scrum nhấn mạnh vào schedules của nó ; các mục mới không thể được thêm vào các lần iterations đang diễn ra. Kanban có tính chất lặp lại nhiều hơn vì nó không có khung thời gian cụ thể . Vì vậy, các item mới có thể được bổ sung liên tục bất cứ khi nào có thêm khả năng.
Tổng công việc được thực hiện theo batches / Sprint . Toàn bộ dự án được thực hiện trên sự chuyển động của các luồng hạng mục công việc đơn luồng .
Scrum master hoạt động như một người giải quyết vấn đề. 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 giữa tất cả họ.
Scrum quy định time-boxed iterations . Kanban tập trung vào việc lập kế hoạch một khoảng thời gian khác nhau cho các lần iteration.
Scrum giúp các công ty tiết kiệm thời gian và tiền bạc . 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ả.
Đạ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 độ. Các thành viên trong nhóm có nhiều khả năng hoàn thành mục tiêu dễ dàng hơn nhiều vì tính chất trực quan của bảng Kanban.
Dự án được mã hóa và kiểm tra trong quá trình đánh giá Sprint Các thành viên trong nhóm có nhiều khả năng hoàn thành mục tiêu dễ dàng hơn nhiều vì tính chất trực quan của bảng Kanban.
Nó dễ dàng hơn để thích nghi với những thay đổi liên tục vì chạy Sprint ngắn và phản hồi thường xuyên. Nó được thiết kế để có sản phẩm đều đặn, ổn định , những thay đổi lớn về nhu cầu của khách hàng có thể khiến Kanban thất bại.
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 . 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 dài trong một số lần chạy sprint.
Phương pháp này yêu cầu các thành viên trong nhóm có kinh nghiệm . Vì vậy, nếu nhóm bao gồm những người không phải là chuyên gia, dự án sẽ không thể hoàn thành kịp thời. Không có khung thời gian cụ thể nào được phân bổ cho từng giai đoạn, vì vậy các thành viên trong nhóm không bao giờ biết được họ có thể mất bao nhiêu thời gian trong mỗi giai đoạn.
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 đã định sẽ dễ dàng hơn . Nó được thiết kế để có sản lượng đều đặn, ổn định, những thay đổi lớn về nhu cầu của khách hàng có thể khiến Kanban sa sút.
Các kế hoạch dự án sẽ không bao giờ cản trở ngay cả đối với bất kỳ thành viên nào trong nhóm . Nếu bất kỳ thành viên nào trong nhóm thoát ra trong quá trình phát triển, điều đó có thể ảnh hưởng đến sự phát triển của dự án .
Các cuộc họp hàng ngày đôi khi khiến các thành viên trong nhóm nản lòng . Bảng Kanban lỗi thời có thể dẫn đến các vấn đề trong quá trình phát triển.
Các dự án lớn có thể dễ dàng chia thành các sprint dễ quản lý.

Tóm lược:

  • Định nghĩa Kanban: Kanban được định nghĩa là một phương pháp luận phát triển nhanh để phát triển phần mềm, ô tô, hàng hóa, thuốc men, giày dép hoặc bất kỳ công việc sản xuất nào khác.
  • Kanban sử dụng bảng Kanban để hình dung sản phẩm. Nó sử dụng các column như các giai đoạn (việc cần làm, phát triển, thử nghiệm, v.v.) và các card như một mục công việc.
  • Phương pháp Kanban hỗ trợ bảng vật lý và bảng kỹ thuật số để trực quan hóa.
  • Kanban là một hệ thống pull-based, và các thẻ được các thành viên trong nhóm kéo từ giai đoạn trước sang giai đoạn hiện tại.
  • Phương pháp Kanban sử dụng biểu đồ CFD để hiểu lead time và cycle time của nhóm. Biểu đồ này giúp các nhóm khắc phục khoảng cách giữa hai thời điểm này và nâng cao hiệu quả.
  • Phương pháp luận phát triển Kanban, WIP giới hạn số lượng nhiệm vụ / card có thể được thực hiện bởi một thành viên trong nhóm hoặc toàn bộ cùng một lúc.
  • WIP giới hạn sự thay đổi tập trung vào việc hoàn thành công việc vì một cá nhân tập trung vào một nhiệm vụ duy nhất tại một thời điểm.

Bàn viết được dịch từ nguồn: https://www.guru99.com/kanban-cards-boards-methodology.html

Source: https://viblo.asia/p/kanban-la-gi-card-bang-nguyen-tac-cot-loi-va-thuc-hanh-RQqKLGbb57z