Phương phương pháp tiếp cận toàn đội trong Agile (Whole-team approach)

Đội ngũ tham gia vào việc xây dựng, phát triển phần mềm theo mô hình Agile bao gồm các thành viên với các kỹ năng, kiến thức cần thiết như lập trình, kiểm thử, phân tích, quản trị cơ sở dữ liệu… các nhóm khác như khách hàng, và các bên liên quan khác. Với hướng tiếp cận toàn đội (Whole team approach) với mục tiêu đảm bảo tham gia đóng góp của toàn đội sẽ góp phần tạo nên sự thành công của dự án. Tuy nhiên, cũng khuyến khích xây dựng các nhóm không quá lớn, thông thường là từ 3 đến 9 người, được sắp xếp trong cùng một không gian làm việc, tạo điều kiện thuận lợi cho việc tương tác trực tiếp trong team.

Những ưu điểm của việc áp dụng Whole team approach này bao gồm:

Đảm bảo chất lượng của dự án là trách nhiệm chung của tất cả thành viên trong team.
Với các mô hình truyền thống, các vai trò và trách nhiệm được phân chia gần như tách biệt. Điển hình là hai nhóm developer (dev) và tester. Dev code xong bàn giao cho tester, lúc này tester chịu trách nhiệm kiểm thử sản phẩm, khi tìm thấy lỗi thì trách nhiệm lại được chuyển sang lại cho dev… việc đẩy qua đẩy lại này dễ hình thành việc chia rẽ trong team.
Agile mang đến một hướng tiếp cận khác, việc bàn giao sản phẩm đúng hạn là trách nhiệm của cả đội phát triển. Agile team cũng bao gồm các các kỹ năng cần thiết giống với mô hình truyền thống. Tuy nhiên, loại bỏ bức tường ngăn cách và cộng tác hiệu quả trong team, chia sẻ trách nhiệm đối với chất lượng của sản phẩm là mục tiêu của hướng tiếp cận toàn đội trong Agile.

Tăng cường hoạt động giao tiếp và cộng tác trong team
Trong Agile, hợp tác, cộng tác là yếu tố then chốt trong sự thành công của phương pháp tiếp cận toàn đội. Do đó, để việc cộng tác hiệu quả, Agile team thường được tổ chức chung tại một địa điểm, và ưu tiên việc khách hàng or đại diện có thể onsite làm việc cùng team.
Giảm bớt các cuộc họp và tài liệu, giúp cho dev, test, và các thành viên trong team có thể giao tiếp thường xuyên hơn với nhau. Tiêu biểu, có thể biết đến cuộc họp ngắn (daily-meeting hoặc stand-up meeting) họp hàng ngày hoặc họp đứng để các thành viên chia sẻ các thông tin, hiện trạng mới nhất một cách ngắn gọn.
Giao tiếp trong team giúp chia sẻ những hiểu biết về sản phẩm phát triển và chia sẻ trách nhiệm của từng thành viên trong team.

Tận dụng các bộ kỹ năng khác nhau để mang lại lợi ích cho dự án
Trong Agile team, tester làm việc với đại diện khách hàng để tạo và thực hiện kiểm thử chấp nhận người dùng (UAT). Phần lớn các test case UAT được thực hiện tự động, hoặc viết thành tool.
Bên cạnh đó, tester cũng sẽ làm việc cùng với developer, hỗ trợ dev tự động hóa các unit test, hoặc có thể thực hiện tích hợp liên tục (CI), kế hợp mở rộng hoạt động tự động hóa việc kiểm thử hồi quy.
Ngoài ra việc hợp tác cũng giúp chia sẻ, nâng cao kiến thức giữa các đội ngũ trong team với nhau, thống nhất quan điểm và hiểu rõ các tính năng của hệ thống.

Tham khảo: Agile testing foundation/Edited by Rex Black

Bình luận về bài viết này