Vai trò của một Agile Developer (Nhà Phát triển Phần mềm Linh hoạt) không được hiểu rõ và rất nhiều nhà phát triển có thể gặp khó khăn khi thực hiện việc chuyển đổi sang làm việc theo Agile.
Trong môi trường hướng-kế hoạch truyền thống (còn gọi là “Waterfall” – mô hình thác nước), một nhà phát triển gần như chỉ ngồi cố định tại khoang của mình trong văn phòng, đeo tai nghe “lắc lư” theo nhạc và tách biệt với thế giới còn lại để làm môt việc đơn giản là viết ra các dòng mã. Điều đó là không thể trong một môi trường Agile thực sự.
Vai trò của một nhà phát triển trong môi trường Agile được mở rộng hơn đáng kể, họ cần phải:
- Chịu trách nhiệm ước tính, lên kế hoạch, quản lý tất cả các công việc của mình và báo cáo tiến độ. Vai trò này về cơ bản là những gì mà một nhà quản lý dự án có thể làm ở quy mô rất nhỏ.
- Cộng tác chặt chẽ với tất cả các thành viên khác của nhóm để chia sẻ trách nhiệm với những mục tiêu chung của nhóm. Vai trò này cũng tương tự như những gì một nhà quản lý dự án (PM) phải làm nhưng thay vì chỉ “Nhà Quản trị Dự án” phải làm thì trách nhiệm được phân chia cho tất cả các thành viên trong nhóm.
- Chịu trách nhiệm về chất lượng của phần mềm mà nhóm phát triển tạo ra. Thay vì chuyển mã nguồn cho một nhóm riêng biệt và độc lập kiểm thử, toàn bộ nhóm phát triển chịu trách nhiệm về chất lượng của sản phẩm do mình làm ra. Nhà phát triển có hoặc không thể tự mình kiểm thử nhưng điểm mấu chốt là chất lượng của mã nguồn không phải là trách nhiệm của một vài cá nhân nào đó.
- Tương tác với người dùng khi cần thiết để làm rõ các yêu cầu. Các nhà phát triển thường không được cung cấp các yêu cầu cụ thể, chi tiết. Thông thường, nhà phát triển sẽ nhận được một số user story khá chung chung kiểu như là “một tài liệu sơ giản để thảo luận về sản phẩm” và họ được mong đợi sẽ tương tác với Product Owner và người dùng khi cần thiết để xác định rõ hơn về những yêu cầu này. Về cơ bản, khi đó nhà phát triển có vai trò tương đương với vai trò Chuyên viên Phân tích Nghiệp vụ (BA) trên quy mô rất nhỏ.
Vai trò của một nhà phát triển trong môi trường Agile là khác biệt đáng kể và một số nhà phát triển có thể gặp khó khăn khi quyết định chuyển đổi sang mô hình này.
Author: Nguyễn Việt Khoa
Đăng ký nhận bộ tài liệu học Java trên 2 trang giấy tại đây
Xem thêm: Java Coding Bootcamp là gì? Tổng quan về Java Coding Bootcamp
0 Lời bình