12 thg 3, 2019

Nắm vững Quản lý Dự án Agile

Avinash Priya

Mặc dù Agile giúp mọi người thoát khỏi nỗi sợ đầu tư quá nhiều vào một quyết định ngu ngốc, nhưng nó có thể khá khó khăn để áp dụng.

Trong bài viết này, bạn sẽ học được:

  • Những điểm khác biệt giữa Scrum và bảng Kanban

  • Hướng dẫn từng bước để thiết lập Agile trong đội của bạn

  • Mẹo để tránh những cạm bẫy ở mỗi bước.

Illustration of the Scrum lifecycle, detailing phases: Visioning, Planning, Sprint, Retrospective, and Shipping.

Quản lý dự án Agile khác biệt với phương pháp truyền thống do sự nhấn mạnh vào các chu kỳ phản hồi ngắn và các chu kỳ thích ứng. Bằng cách liên tục phát hành các bản increment, những người ủng hộ tin rằng quy trình Agile thích ứng tốt hơn với giá trị và nhu cầu của khách hàng.

Nó lần đầu tiên được giới thiệu vào những năm 1990 để thay thế các phương pháp waterfall nặng nề. Nó khuyến khích cải tiến liên tục. Đầu những năm 2000 chứng kiến một cột mốc đối với phương pháp Agile khi 10 chuyên gia nổi tiếng, bao gồm Jeff Sutherland, cùng nhau tạo ra Tuyên ngôn cho Phát triển Phần mềm Agile nổi tiếng.

Kể từ đó, nhiều phiên bản khác nhau đã phát triển. Scrum, Extreme Programming (XP), Feature-Driven-Development (FDD), và Test-Driven-Development (TDD) chỉ là một vài trong số đó. Tuy nhiên, bất kể tên gọi nào, các nguyên tắc cốt lõi vẫn giữ nguyên –> để 'giảm rủi ro' cho doanh nghiệp bằng phát triển theo từng phần, chu kỳ phản hồi ngắn và lập kế hoạch thích ứng.

Trong tất cả các khung làm việc đó, Scrum là phổ biến nhất. Một chu kỳ hoàn chỉnh bao gồm năm giai đoạn: tầm nhìn, kế hoạch sprint, cuộc họp sprint hàng ngày, kết quả và đánh giá lại. Bài viết này sẽ tập trung vào khung làm việc Scrum.

Nhưng trước tiên...

Những điểm khác biệt giữa Scrum và Kanban là gì

Trước khi hướng dẫn, hãy làm rõ hai thuật ngữ thường được sử dụng:

Scrum là một khung làm việc, một quy trình

Một khung Agile được thiết kế cho các đội nhỏ để chia công việc của họ thành các hành động có thể hoàn thành trong các vòng lặp giới hạn thời gian, gọi là sprints, thường là hai tuần. Đội theo dõi tiến độ và lập kế hoạch lại trong các cuộc họp đứng kéo dài 15 phút, gọi là daily scrums.

Kanban là một phương pháp trực quan hóa nhiệm vụ

Một phương pháp lean để quản lý và cải tiến công việc bằng cách trực quan hóa các hạng mục công việc để cho phép người tham gia có cái nhìn tổng quan về yêu cầu và khả năng hiện có. Tập hợp các hạng mục được trực quan hóa được gọi là Bảng Kanban. Bảng cũng được sử dụng trong Scrum.

Kanban và Scrum là hai phương pháp. Nhưng vì sự phổ biến và hiệu quả của Bảng Kanban, đôi khi khung làm việc Scrum cũng áp dụng công cụ này. Ngoài các thuật ngữ trên, bạn cũng có thể tham khảo thêm Từ điển Agile trong AgileAlliance.

Cách thiết lập thực hành Agile

Bước 1: Chuẩn bị - Xây dựng đội của bạn

Thông thường một đội Agile bao gồm ba vai trò: Scrum Master (SM), Product Owner (PO), và các nhà phát triển. Đội có khoảng 7(+/-2) người: 1 Scrum Master, 1 Product Owner, và 3-5 nhà phát triển.

Scrum Master đứng bên phía nhà phát triển để đảm bảo dự án diễn ra suôn sẻ và hy vọng nhanh hơn. Họ nên là một người hòa giải hoặc điều phối viên như một vai trò độc lập. Tuy nhiên, dựa trên lợi ích của đội, trưởng nhóm kỹ thuật hoặc QA cũng có thể đảm nhiệm vai trò Scrum Master bán thời gian.

Product Owner đứng bên phía dự án và người dùng. Product Owner là người kinh doanh và đại diện của khách hàng. Do đó, Product Owners thường là quản lý sản phẩm hoặc nhân viên tiếp thị.

Thực hành tốt nhất: Tránh các xung đột nghiêm trọng

Cộng tác nhưng không cạnh tranh.

Scrum Master và Product Owner có các mục tiêu khác biệt và có thể xảy ra các xung đột nghiêm trọng. Nhưng hãy nhớ, làm việc nhóm nên hướng tới hợp tác. Mục đích của ba vai trò này là làm cho đội hoạt động đầy đủ. Đó là lý do tại sao mọi người trong đội đều cùng nhau lên kế hoạch.

Bước 2: Hình dung - Chuẩn bị danh sách công việc sản phẩm

Product Owner là người đóng góp chính ở giai đoạn này. Họ giao tiếp với các bên liên quan và tổng hợp một danh sách tính năng sản phẩm. Các bên liên quan thường bao gồm các giám đốc điều hành, đội ngũ bán hàng và hỗ trợ, đội tiếp thị, người dùng hoặc khách hàng.

PO phải cải tiến danh sách công việc và ưu tiên các tính năng. Và từ danh sách công việc khổng lồ này, họ xác định tầm nhìn và các mục tiêu theo sau.

Thực hành tốt nhất: Tránh nhàm chán

Tự động hóa quy trình tẻ nhạt.

Việc cung cấp danh sách công việc sản phẩm đôi khi là một công việc nhàm chán. Quy trình thu thập và theo dõi có thể rất lặp đi lặp lại. Để sửa lỗi, PO có thể kết nối danh sách công việc với hệ thống theo dõi lỗi. Công cụ theo dõi nhận xét và nền tảng quản lý mạng xã hội cũng hữu ích.

Bước 3: Cuộc họp - Tổ chức họp lập kế hoạch sprint

Cuộc họp mang lại mục tiêu sprint rõ ràng và danh sách công việc sprint. Nó thường kéo dài dưới một giờ và xảy ra vào đầu tuần sprint. Dựa trên mục tiêu sản phẩm và danh sách công việc sản phẩm, đội cùng nhau chia nhỏ danh sách công việc thành các phần increment có thể giao hàng.

Các nhà phát triển quyết định số điểm câu chuyện thích hợp, cách chia nhỏ mục tiêu thành các nhiệm vụ và từ đó xác định danh sách công việc sprint. Vào cuối cuộc họp, đội phải tự tin về phạm vi và các sản phẩm cần giao trong sprint này.

Thực hành tốt nhất: Tránh mục tiêu mơ hồ

Đưa ra kỳ vọng rõ ràng về các sản phẩm giao hàng của sprint.

Mục tiêu sprint KHÔNG chỉ ngẫu nhiên là một hoặc hai câu, mà đưa ra kỳ vọng cho các bên liên quan về sản phẩm giao hàng. Nó hoạt động như một báo cáo nhanh cho các bên liên quan về hoạt động của đội. Một mục tiêu sprint rõ ràng sẽ mở đường để đo lường hiệu suất giao hàng.

Bước 4: Scrum hàng ngày - Kiểm tra trong quá trình

Cuộc họp Scrum hàng ngày (đứng hàng ngày) là để cập nhật trạng thái dự án. Tốt nhất nên sắp xếp cuộc họp vào cùng một thời điểm và cùng vị trí mỗi ngày trong suốt vòng lặp. Cuộc họp đứng hàng ngày thể hiện sự tập trung của Agile vào giao tiếp trực tiếp.

Scrum Master nên giải quyết các trở ngại để tạo điều kiện thuận lợi cho quá trình phát triển. Nếu có điều gì đó ảnh hưởng nghiêm trọng đến mục tiêu sprint, PO có mọi quyền biết ngay lập tức. Đổi lại, PO kiềm chế sự cám dỗ để thay đổi danh sách công việc sprint.

Thực hành tốt nhất: Tránh cuộc họp dài

Giữ mỗi cuộc họp đứng dưới 15 phút. Chú ý rằng cuộc họp giống như một sự đồng bộ thông tin trong đội, hơn là giải quyết vấn đề. Tốt hơn là để việc giải quyết vấn đề trong các quy trình khác.

Bước 5: Giao hàng - Phát hành và phản ánh

Kết quả của đội được thể hiện vào cuối vòng lặp. Các bên liên quan, trong hoặc ngoài tổ chức, tham gia cuộc họp đánh giá. Bằng cách so sánh mục tiêu sprint chung với các thành tựu, Product Owner có thể đánh giá mức độ thành công của sprint.

Sau cuộc họp đánh giá, đội Agile tổ chức cuộc họp tổng kết để phản ánh những gì cần cải thiện và tiếp tục. Đối với các nhà phát triển mới, đây cũng là thời điểm hoàn hảo để xem xét lại kỳ vọng về tốc độ và khả năng.

Thực hành tốt nhất: Không bao giờ bỏ qua phần tổng kết

Dù không có gì sai sót, đội cũng không nên bỏ qua cuộc họp tổng kết. Xác nhận những gì đúng một mình cũng có ích cho các sprint trong tương lai. Nếu SM muốn, họ có thể thậm chí tổ chức một cuộc bỏ phiếu cho các đề xuất cải tiến.

Những giới hạn của Agile là gì

Người ủng hộ cho rằng thực hành Agile là sự cân bằng giữa quản lý chi tiết và không quản lý. Tuy nhiên, các ý kiến chỉ trích xuất phát từ kinh nghiệm áp dụng. Một số nghiên cứu thực nghiệm đã không tìm thấy bằng chứng khoa học cho tính linh hoạt của đội.

Khi Agile nhấn mạnh tính linh hoạt, nó ảnh hưởng đến việc kiểm soát chất lượng liên tục. Thời gian dự án rút ngắn có nghĩa là hành động nhanh và gọn. Điều này thường đi kèm với sự thiếu tài liệu và nguồn lực cần thiết. Dự án có xu hướng thiếu tính liên tục và liêm chính, làm nguyên tắc tập trung vào chất lượng gần như bị bỏ sót.

Agile không phù hợp cho các tổ chức hoặc ngành công nghiệp rất không dám mạo hiểm, ví dụ như ngành dược phẩm. Các ngành công nghiệp thành lập lâu năm có các quy tru trình phức tạp, nhưng quan trọng phải tuân theo. Thay đổi quy trình khác với quản lý truyền thống là rất rủi ro, có thể không an toàn.

Điều đó nói rằng, vô số ví dụ thành công là bằng chứng rằng Agile hoạt động. Mặc dù có những cạm bẫy, các khung Agile luôn phát triển để cung cấp công cụ và kỹ thuật, chẳng hạn như Tích hợp liên tục (CI/CD), Kiểm tra đơn vị tự động, và Tái cấu trúc mã, để ít nhất khắc phục các vấn đề.

Điểm chính

Quy trình Agile khuyến khích các vòng lặp nhanh chóng, cải tiến liên tục và phản ứng nhanh với thay đổi. Nó chủ yếu bao gồm năm bước: hình dung, lập kế hoạch sprint, scrum hàng ngày, giao hàng, và tổng kết.

Phương pháp này nhằm mục đích cân bằng giữa các phương pháp truyền thống và quản lý lỏng lẻo. Mặc dù thiếu bằng chứng mạnh mẽ và có những cạm bẫy, quy trình Agile có những điểm đáng để thành công.

Còn ý kiến của bạn thì sao? Tweet cho tôi để chia sẻ bài học và mẹo của bạn trong việc áp dụng các phương pháp Agile :).

Xem thêm bài viết