Case study: Quản lý công việc theo phương pháp Agile trên phần mềm Base Wework

Agile là cách nhóm công việc thành từng vòng ngắn và thực hiện liên tục, mỗi vòng sau lại cố gắng hoàn thiện, tối ưu hơn lần trước.  Phương pháp luận Agile đã được áp dụng từ rất lâu trong hoạt động phát triển phần mềm. Agile đặc biệt phù hợp với các loại hình đội nhóm, dự án thay đổi liên tục. Khi áp dụng Agile, khả năng hợp tác trong team, năng lực thích nghi và khả năng “ra sản phẩm cuối cùng” sẽ liên tục được cải thiện.

Trong bài viết này, Base sẽ giúp bạn hiểu về cách tổ chức công việc theo phương pháp Agile và quản lý trên phần mềm Base Wework. Để hiểu rõ hơn về case study này, chúng ta sẽ tìm hiểu sâu về cách một công ty phát triển game quản lý công việc theo phương pháp Agile. 

1. Tổng quan về công ty phát triển game

Tại các công ty phát triển game, một team gồm có:

  • Developer: Viết code logic game, gắn kết các thành phần resource theo đúng thiết kế game
  • Artist: Vẽ nhân vật, bối cảnh, giao diện, hiệu ứng…
  • Game designer: Thiết kế cốt truyện và nội dung game, cân bằng thông số, thiết kế giao diện…
  • Tester: Chơi game, kiểm tra lỗi, cảm nhận và đánh giá game

Một sản phẩm game trước khi đưa ra thị trường cần trải qua rất nhiều công đoạn và sự góp sức của nhiều bộ phận khác nhau, nhưng cốt lõi quy trình làm game chung sẽ theo thứ tự sau: 

  • Designer mô tả ý tưởng, nêu ra điểm hấp dẫn trong gameplay
  • Developer phát triển nhanh bản demo gameplay để chơi thử và cảm nhận
  • Developer phát triển hoàn chỉnh song song với Artist và Game Designer
  • Làm hoàn hảo với các chi tiết nhỏ

Trên thực tế, bộ phận developer không chỉ phát triển một sản phẩm game trong cùng một giai đoạn, mà phát triển/ duy trì nhiều sản phẩm cùng lúc. Một sản phẩm game có thể cần phát triển và hoàn thiện trong nhiều năm, khó có thể “xong” trong một thời gian ngắn. Thách thức đặt ra cho người quản lý dự án (Product Manager) là làm sao có thể quản lý được quá trình làm sản phẩm của team dev và đảm bảo team “ra sản phẩm cuối cùng” đúng tiến độ mà công ty đặt ra. 

2. Cách tổ chức công việc theo phương pháp Agile

Có rất nhiều loại framework hay chu trình trong phương pháp Agile, nhưng thường gặp nhất là Scrum (quản lý công việc dựa trên những vòng lặp cố định về mặt thời gian, được gọi là sprint – khoảng chạy nước rút), Kanban hoặc sự kết hợp của 2 chu trình này gọi là Scrumban.

Trong case study này, công ty phát triển game tổ chức công việc theo chu trình Modified Scrum, một dự án được chia thành từng block công việc, một block việc được chia tiếp thành nhiều đầu việc nhỏ, thử – sai – sửa liên tục theo mô hình Scrum. Các block được liệt kê và di chuyển trên bảng tiến độ tương tự như trong Kanban.

Cách thức vận hành theo phương pháp Agile

Bước 1: Bắt đầu với Sprint Planning

Sprint Planning diễn ra vào đầu chu trình sprint để vạch sẵn mục tiêu của sprint đó.

Một buổi sprint planning có thể kéo dài từ một đến vài ba tiếng, với sự tham gia của quản lý dự án và các thành viên. Sau buổi sprint planning này, cả team sẽ thống nhất được mục tiêu cần đạt trong sprint, những đầu việc cần làm để hoàn thành mục tiêu của sprint và phân công nhiệm vụ.

Cụ thể, nội dung của buổi sprint planning sẽ như sau:

  • Đánh giá backlog (một danh sách dự án và yêu cầu công việc được giao cho team Agile)
    • Ước lượng khoảng thời gian cần thiết và mức độ ưu tiên của các đầu việc.
    • Xác định những đầu việc nào sẽ được xử lí trong sprint.
  • Lên kế hoạch cho sprint (một quãng thời gian mà trong giai đoạn đó, team Agile sẽ phối hợp cùng nhau để hoàn thành hết các công việc được giao trong backlog)
    • Thu thập các thông tin: số giờ xử lí công việc của từng thành viên team, số giờ team có thể dành cho các công việc chung.
    • Quyết định về khoảng thời gian cho sprint.
  • Phân công các công việc cho các thành viên
  • Thảo luận các mục tiêu liên quan hoặc các khó khăn có thể gặp phải trong sprint. Đặt mục tiêu cụ thể hơn cho sprint (sprint kéo dài trong 1 tuần)

Trong một buổi sprint planning, chính các thành viên cũng được tham gia thảo luận và nói rõ khối lượng công việc mình có thể đảm nhận. Chính vì vậy, Agile thúc đẩy độ cam kết công việc hơn của các thành viên: họ tự cam kết, thay vì để cấp trên cam kết cho họ. 

Bước 2: Quản lý sprint qua Stand-up Meeting

Một đặc trưng của Sprint là các buổi họp hàng ngày, và thường là họp đứng, bởi nó chỉ kéo dài tối đa 15 phút. Trong 15 phút này, các cá nhân sẽ lần lượt báo cáo về 3 vấn đề:

  • Họ đã làm được gì ngày hôm trước?
  • Họ sẽ làm gì hôm nay?
  • Có vấn đề gì cản trở khả năng hoàn thành công việc của họ hay không?

Cùng với đó, Scrum Master (tên gọi của người quản lý chu trình Scrum) sẽ có sự điều chỉnh các đầu việc tùy theo báo cáo của các thành viên.

Bước 3: Tổng kết thành quả vào cuối chu trình Sprint

Vào cuối chu trình Sprint, sẽ có 2 buổi họp. 

Buổi thứ nhất gọi là Sprint review, kéo dài trong tối đa 2 tiếng. Mục tiêu của buổi này là tổng kết những gì đã đạt được trong sprint, đồng thời xác định những đầu việc còn sót lại hoặc cân nhắc bổ sung các đầu việc với vào backlog trong buổi Sprint Planning kế tiếp. Buổi Sprint Review rất quan trọng vì nó đảm bảo rằng mọi người đều nắm được team đang làm gì và đem lại kết quả gì.

Khác với buổi Sprint Review tập trung vào việc “làm được gì”, buổi thứ 2 Sprint Retrospective sẽ đi sâu vào câu hỏi “làm như thế nào”. Buổi này sẽ chỉ kéo dài trong tối đa 1 tiếng, tập trung trả lời 2 câu hỏi:

  • Sprint vừa rồi chúng ta đã làm tốt những điểm nào?
  • Còn điểm nào trong Sprint vừa rồi chúng ta cần cải thiện?

3. Tổ chức công việc theo phương pháp Agile trên Wework

Phân tầng công việc trong Wework được chia thành 5 tầng:

  • Department (bộ phận)
  • Project (dự án/ phòng ban)
  • Group task (nhóm công việc)
  • Task (công việc)
  • Sub-task (công việc con)

Để vận hành công việc theo phương pháp Agile, Base gợi ý bạn thiết lập công việc như sau: 

  • Thiết lập mỗi department là một sản phẩm. Cụ thể với công ty phát triển game, mỗi department sẽ là một sản phẩm game. 
  • Trong department, thiết lập mỗi dự án (project) là 1 sprint, ví dụ: Tên dự án sẽ là Sprint tuần 2 tháng 9, sprint tuần 3 tháng 9…
  • Trong dự án, thiết lập nhóm công việctrạng thái của mỗi task. Ví dụ: Thiết lập các nhóm công việc “To do – Doing – Done”
  • Thiết lập giao diện mặc định (default view) của dự án là dạng bảng.
  • Trong mỗi department, tạo riêng 1 dự án làm backlog.

Sau khi thiết lập, giao diện của một sprint sẽ như sau:

Các công việc trong một sprint được hiển thị theo giao diện bảng

Danh sách toàn bộ các sprint và backlog theo từng sản phẩm được hiển thị ở cột menu bên trái. Khi hết 1 sprint thì quản lý dự án sẽ đóng dự án (sprint cũ) và tạo 1 dự án mới (sprint mới), copy các task từ backlog hoặc sprint cũ vào sprint mới để tiếp tục quản lý.

Hy vọng với những gợi ý trên, các nhà quản lý đã có thêm ý tưởng để quản lý công việc và dự án hiệu quả. Nếu bạn cần hỗ trợ trong việc thiết lập và sử dụng các phần mềm của Base, hãy liên lạc với Đội ngũ hỗ trợ của Base nhé!

Tagged: