Làm việc với Kanban - Đơn giản hơn, hiệu quả hơn
This post hasn't been updated for 3 years
Tuần vừa qua, tôi có tham gia 1 khóa học Agile do công ty tổ chức. Tôi cảm thấy rất may mắn khi được tham gia khóa học này, khóa học tuy chỉ kéo dài vỏn vẹn có 2 ngày nhưng để lại trong tôi những kiến thức thật sự ấn tượng. Khóa học không hề nhàm chán bởi lý thuyết mà chúng tôi còn được chơi, được thực hành, điều đó làm mớ lý thuyết khô khan kia ngấm vào đầu 1 cách dễ dàng hơn. Điều ấn tượng trong khóa học tôi hiểu được rõ hơn về Agile là gì, tôi cũng biết đến Scrum
, Kanban
, Scrumban
... và nhiều thứ khác nữa, những điều mà trước đây tôi dường như chỉ tự đọc, được nghe ở mọi nơi có công ty IT. Nhưng thực chất tôi lại không biết gì. Qua khóa học tôi rất ấn tượng với 1 cách làm việc đó là làm việc với Kanban, dường như nó gần gũi với những kế hoạch xung quanh tôi nên tôi thấy nó đặc biệt chăng, hay là bởi vì nó dễ dàng như thế mà giờ người ta lại áp dụng vào mô hình của từng dự án, từng công việc và áp dụng được ngay cả trong cuộc sống.
Vậy để hiểu rõ hơn về Kanban hôm nay tôi muốn chia sẻ với các bạn những kiến thức cơ bản nhất về nó. Tôi cũng hy vọng nhờ đó mà công việc của bạn sẽ hiểu quả hơn.
1. Kanban là gì
Kanban là một thuật ngữ bắt nguồn từ công ty chế tạo xe hơi Toyota. Nơi có phương thức quản lý xí nghiệp thông minh, tạo đòn bẩy phát triển kinh tế của Nhật bản và là tiêu chuẩn quản lý của các tập đoàn sản xuất lớn của Nhật hiện tại. -> Cắt nghĩa từ Kanban trong tiếng Nhật ta có Có nghĩa là bảng thông tin, bảng Trực quan, hay bảng Quảng cáo, bảng Trưng bày... Mỗi nơi một thuật ngữ khác nhau, nhưng hiểu đại khái nó chỉ là 1 cái bảng chứa thông tin thôi Kanban được sinh ra để xử lý công việc theo thứ tự ưu tiên (Pull System) theo thời điểm phát triển. Hẳn cái tên Pull System cũng mang đầy đủ ý nghĩa là 1 hệ thống "Kéo về" , tức là khi làm việc với Kanban ngoài tinh thần teamwork thì bạn còn phải là người chủ động. Sẽ không ai giao task hay bắt bạn phải làm 1 công việc cụ thể nào đó. Với Kanban việc chủ động được đánh giá cao hơn cả. Ví dụ như bạn là dev bạn sẽ phải kéo task về code. Bạn là tester bạn sẽ kéo task về test, bạn log bug => dev kéo bug về fix ... Cứ 1 vòng tuần hoàn liên tục như thế Vậy lý do gì mà chúng ta nên sử dụng Kanban.
Chúng ta không phát triển tính năng mà không ai cần
Chúng ta không mô tả nhiều tính năng hơn những gì chúng ta có thể viết
Chúng ta không viết phát triển nhiều hơn những gì chúng ta có thể kiểm thử
Chúng ta không kiểm thử nhiều hơn những gì chúng ta có thể phát triển
Phương pháp Kanban đưa ra 8 mục tiêu:
Mục tiêu 1: Tối ưu hoá quy trình hiện có
Mục tiêu 2: Giao hàng với chất lượng cao
Mục tiêu 3: Nâng cao khả năng dự báo chính xác về thời gian phát triển sản phẩm
Mục tiêu 4: Nâng cao độ hài lòng của chuyên gia phát triển
Mục tiêu 5: Cung cấp độ mềm dẻo trong việc đối phó với các yêu cầu khẩn cấp
Mục tiêu 6: Cung cấp cơ chế thiết lập độ ưu tiên nhanh
Mục tiêu 7: Cung cấp cơ chế đảm bảo thông tin phát triển sản phẩm trong suốt với các bên liên quan
Mục tiêu 8: Cung cấp để nâng cao mức độ trưởng thành của doanh nghiệp.
Tuy nhiên với Kanban chỉ nên áp dụng với các dự án có yêu cầu rõ ràng không quá phức tạp. Nếu dự án của bạn khá rối lắm thì phương pháp được khuyên nên sử dụng là Scrum hoặc Scrumban Hôm nay tôi chỉ giới thiệu về lợi ích của Kanban thôi, chứ không đi sâu về các phương pháp khác. Cùng tôi xem nó có gì thú vị và có đúng là nó đơn giản và hiệu quả như tiêu đề bài viết không nào.
2. Kanban - 3 Rule 1 Tool
Nói đến Kanban thì ta chỉ cần nhớ là phương pháp 3 Rule và 1 Tool. Tất nhiên dựa theo từng tổ chức và mô hình quản lý công việc khác nhau mà người ta có thể phân chia các rule nhỏ hơn để dễ dàng cho việc quản lý cũng như tiện lợi trong công việc. Tuy nhiên cũng dựa trên 3 rule cơ bản sau:
Visualize your work
Có nghĩa là "Trực quan hoá các công đoạn sản xuất" cũng có thể là "Hình dung công việc 1 cách rõ ràng"
Hình dung sự vật giúp mọi thứ dễ đọc và dễ hiểu hơn. Hình dung chính xác chi tiết công việc sẽ cho phép bạn nắm bắt được tình trạng dự án trong vài giây. Bằng cách sử dụng các stick trực quan được xếp màu sắc sẽ làm cho não của bạn có thể nhớ ngay lập tức.
Một bảng Kanban điển hình sẽ sử dụng các cột để xác định tiến độ của một nhiệm vụ hay một công việc. Cột trái nhất là nơi vòng đời của một công việc bắt đầu, và cột phải nhất là nơi nó kết thúc. Bạn có thể sử dụng màu sắc hoặc thẻ tên để phân công nhiệm vụ cho các thành viên trong nhóm.
Điều này cho bạn cái nhìn tổng quan rõ ràng về ai đang làm gì, tính năng tiếp theo của nhóm sẽ là gì và họ sẽ làm gì sau đó. Hơn nữa, nó tránh một tình huống mà hai người làm việc trên cùng một nhiệm vụ.
Không cần phải có phần mềm phức tạp để bắt đầu, bạn có thể sử dụng một cái gì đó đơn giản như một bảng thông thường trên tường, hoặc 1 bảng giấy với các ghi chú sau đó thể hiện các nhiệm vụ. Bảng Kanban cơ bản nhất sẽ có 3 cột Todo
, Doing
, Done
. Tuy nhiên tùy theo tùng cách thể hiện của từng người, từng teướ, từng công ty mà việc quy ước đặt tên, thêm cột sẽ khác nhau. Tuy nhiên nền tảng chính vẫn dựa trên 3 cột cơ bản nhất của Kanban để phát triển:
Nếu quá trình phát triển của bạn liên quan đến thử nghiệm hoặc đảm bảo chất lượng, bạn có thể dễ dàng phản ánh điều đó trên bảng bằng cách thêm một cột:
Nếu bạn đã sử dụng scrum trong nhóm của mình, bạn có thể điều chỉnh các cột, để bạn có thể tiếp tục làm việc trong quá trình chạy nước rút(deadline) và bảng cũng phản ánh được:
Bảng Kanban rất linh hoạt và cần được điều chỉnh để phù hợp với nhu cầu của dự án. Bạn nên thử 1 vài cách về bố trí và chọn ra các bố trí làm việc thuận tiện nhất cho nhóm của bạn.
Bảng vật lý không phải lúc nào cũng có thể tiện dụng, đặc biệt là khi bạn làm việc trong nhóm phân phối hoặc cần nhóm của bạn để làm việc từ xa trên cơ sở thường xuyên. May mắn thay, có rất nhiều giải pháp bạn có thể sử dụng, như AgileZen hoặc Jira Agile (một plugin Jira) hay như tôi thường sử dụng với Trello. Nếu có thể, tôi khuyên bạn nên bắt đầu sử dụng với một bảng vật lý và chuyển sang các giải pháp sử dụng trên phần mềm khi bạn có cảm giác tốt về tính linh hoạt của bảng vật lý.
Limit work in progress
Có nghĩa là "Giới hạn số lượng công việc đưa vào phát triển" Khi đã làm dự án có thể bạn đã quen thuộc với kịch bản sau: version mới dự án của bạn gần như đã hoàn thành, team bạn chỉ cần fix 1 số bug nhỏ trong version này.
Không có nhiệm vụ chính, nhưng sản phẩm của bạn vẫn thiếu sự chạy trơn chu và ổn định. Bạn vẫn còn một vài ngày trước khi deadline đến, vì vậy bạn cảm thấy khá tự tin. Nhưng sau đó, ngày deadline đã đến và nhóm của bạn chỉ khắc phục được một nửa các vấn đề bị tồn đọng.
Mọi người bắt đầu phải OT, ON hiệu quả công việc của họ gần như bị quá tải và không hiệu quả, bằng cách nào đó bạn phải đẩy nhanh tiến độ để sản phẩm hoàn hảo và kịp bàn giao cho khách hàng. Trong khi đó, nhóm của bạn đang làm việc dưới áp lực bắt đầu xây dựng một số lỗi kỹ thuật để kịp tiến độ, và nó sẽ phản tác dụng dù sớm hay muộn.
Cách dễ nhất để tránh điều này là rất đơn giản, nếu không rõ ràng - không làm nhiều việc khác nhau tại một thời điểm. Đặt một giới hạn người làm task được bắt đầu, để nhóm của bạn cần phải tập trung vào làm 1 phần công việc trước khi họ bắt đầu làm việc về nhiệm vụ tiếp theo. Điều đó thật dễ dàng khi thêm một số vào mỗi cột đại diện cho giới hạn người, như sau: Ví dụ ta giới hạn chỉ 2 người trong team phát triển. Vậy khi 1 người khác trong team muốn làm thì bắt buộc 2 task của 2 người đang phát triển phải chuyển trạng thái khác Development (có thể là Test hoặc Done). Vậy khi 2 member trong team chưa hoàn thành task thì nhiệm vụ của các member khác là gì nhỉ? Ngồi chơi! Không, nhiệm vụ của họ chính là support đồng đội của mình hoàn thành task nhanh và hiệu quả nhất => đó chính là tư tưởng của Agile - Nâng cao tinh thần teamwork. Thủ thuật đơn giản này sẽ giúp nhóm của bạn tập trung vào việc hoàn thành công việc và bạn sẽ thấy sự gia tăng đáng kể về năng suất.
Maximize throughput (or measure lead time/cycle time)
Có nghĩa là "Đo lường và quản lý dòng công việc" hay trừu tượng hơn là "Tối đa hóa thông lượng" Thông lượng là tốc độ trung bình mà nhóm của bạn có thể cung cấp các tính năng làm việc. Bằng cách tối ưu hóa thông lượng, bạn sẽ nhận được thời gian phản hồi nhanh hơn so với nhu cầu của thị trường và phản hồi nhanh hơn để đưa ra quyết định. Bước đầu tiên để cải tiến điều gì đó là bắt đầu đo nó. Có hai chỉ số quan trọng đáng chú ý. Lead time là thời gian cần thiết để nhóm đưa ra một tính năng từ thời điểm nó được đưa vào backlog. Nó phản ánh tốc độ mà team của bạn có thể đáp ứng các yêu cầu và yêu cầu mới. Đây là những gì người dùng thấy.
Cycle time là thời gian của công việc thực tế dành cho một nhiệm vụ - ngay từ khi nhóm bắt đầu làm nhiệm vụ cho đến khi nó đã sẵn sàng để bàn giao. Đo hai thước đo theo cách thủ công có thể là tẻ nhạt và đòi hỏi một số kỷ luật. Cách dễ nhất để tiếp cận cách này là ghi lại thời gian của các sự kiện quan trọng (khi nào nó được đưa vào backlog, khi nào công việc đã bắt đầu, khi nào nó đã sẵn sàng, khi nào nó được vận hành) trên bảng ghi chú và tính toán Lead time và Cycle time dựa trên những giá trị đó. Để tiết kiệm không gian và tránh mất thời gian đọc, bạn có thể đặt ngày ở mặt sau của stick note.
3. Tạo và sử dụng Kanban
- Tạo bảng Kanban vật lý Như đã có ở trên nhìn vào mấy hình ảnh, chắc các bạn cũng dễ dàng tạo 1 bảng Kanban vật lý rồi nhỉ? Chuẩn bị: 1 bảng vật lý có thể là 1 tờ giấy A1, stick note và bút. Bảng Kanban hôm nay tôi tạo sẽ là 1 bảng đơn giản nhất gồm 3 cột TODO, DOING và DONE. Tùy theo sở thích hay yếu tố công việc mà bạn có thể đổi tên, thêm cột cho phù hợp. Tạo các stick note với tên task và thời gian cần hoàn thành. Sơ bộ 1 bảng Kanban có hình dáng như sau: Từ đây, khi bạn muốn làm task nào thì di chuyển stick note từ cột TODO dán sang cột DOING để thực hiện chúng, khi đã hoàn thành thì di chuyển từ TODO dán về cột DONE Trong 1 dự án, danh sách các task (TODO) sẽ được tạo vào buổi họp hàng sáng. Mỗi member có nghĩa vụ kéo task từ TODO sang DOING và chuyển về DONE. Cuối ngày team lead tổng hợp các task đã hoàn thành, các task đang làm và các task chưa làm được để đưa ra plan cho ngày kế tiếp phù hợp hơn.
- Tạo bảng Kanban với tool Bạn có thể xem cách tạo bảng trên Trello như đây Nó cũng dễ tạo như tạo bảng vật lý vậy thôi. Lời cuối cùng để đúc kết lại bài viết ngày hôm nay cũng là châm ngôn của Kanban
Stop starting -> Start finishing
Tham khảo
https://blog.elpassion.com/the-3-most-important-kanban-rules-b4b74314f69d
All Rights Reserved