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ọ.
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:
- 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.
- Đồ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.
- 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.
- 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:
- 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
- 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.
- 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.
- 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.
- 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.
- 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.