Tinh thần nhóm là một biến hoạt động trực tiếp: khi nhân viên cảm thấy được coi trọng và có động lực, sự gắn kết, giữ chân và chất lượng đầu ra cải thiện có thể đo lường được. Duy trì tinh thần cao đòi hỏi hành động có chủ ý và nhất quán trên nhiều khía cạnh — từ cách các giá trị được củng cố
Tuyên ngôn Agile là gì? Các giá trị và nguyên tắc
Năm 2001, Tuyên ngôn Agile đã thay đổi cách các nhóm phát triển nhìn nhận việc bàn giao phần mềm. Thay vì gò mọi thứ vào những bản kế hoạch dài hạn, tuyên ngôn đưa ra một ý tưởng giản dị hơn: yêu cầu luôn thay đổi, nên cách bàn giao cũng phải đủ linh hoạt, và điều quan trọng là phần mềm có dùng được hay không chứ không phải tài liệu trông trau chuốt đến đâu.
Điểm chính
Tuyên ngôn Agile đưa ra bốn giá trị, dời sự chú ý từ việc kiểm soát quy trình sang sự hợp tác thật sự. Khi các thành viên trao đổi trực tiếp và thường xuyên với nhau, vấn đề lộ ra sớm hơn và quyết định cũng được đưa ra nhanh hơn.
Các nguyên tắc của tuyên ngôn khuyến khích chia công việc thành những phần nhỏ hơn và phát hành thường xuyên hơn. Khi chu kỳ đủ ngắn, mỗi lần thay đổi không còn bị xem như một cuộc khủng hoảng.
Phát triển lặp nghĩa là sau mỗi chu kỳ, nhóm có trong tay một thứ cụ thể để trình bày và kiểm thử, đó là một phần sản phẩm đang chạy được chứ không dừng ở bản báo cáo hay bản kế hoạch.
Lịch sử và mục đích của Tuyên ngôn Agile
Tuyên ngôn được 17 người làm phần mềm soạn ra tại Utah vào tháng 2 năm 2001. Họ đã chứng kiến các mô hình truyền thống chia theo giai đoạn chật vật ra sao trong những môi trường thay đổi nhanh, khi khâu lập kế hoạch kéo dài khiến dự án trễ hẹn còn phản hồi lại đến quá muộn để có thể đổi hướng mà không tốn kém.
Mục tiêu của họ rất thực tế: giúp việc phát triển dễ thích ứng hơn và luôn bám sát việc bàn giao. Dần dần, cách nghĩ này định hình các framework như Scrum và Kanban, vốn chuẩn hóa những chu kỳ ngắn, backlog mà ai cũng nhìn thấy và các mốc rà soát đều đặn (tìm hiểu thêm trong bài Bảng Kanban).
Các giá trị cốt lõi của Tuyên ngôn Agile
Bốn giá trị dưới đây đi ngược hẳn với cách nghĩ của quản lý dự án truyền thống:
- Cá nhân và tương tác hơn quy trình và công cụ. Giao tiếp rõ ràng giúp bớt đi những giả định ngầm, và vấn đề lộ ra sớm hơn khi các thành viên nói chuyện thẳng với nhau thay vì chỉ trông vào tài liệu.
- Phần mềm chạy được hơn tài liệu đầy đủ. Một tính năng mà người dùng thật có thể dùng thử đã là tiến triển, còn tài liệu thì tự nó không chứng minh được thứ gì đang chạy.
- Hợp tác với khách hàng hơn đàm phán hợp đồng. Phản hồi đều đặn giúp sớm nhận ra một tính năng có thật sự giải quyết vấn đề của người dùng hay chỉ hợp lý trên bản đặc tả.
- Đáp ứng thay đổi hơn tuân theo kế hoạch. Kế hoạch vẫn có, nhưng được xem lại thường xuyên để có thể đổi ưu tiên mà không phải làm lại toàn bộ dự án từ đầu.
Các nguyên tắc của Tuyên ngôn Agile
12 nguyên tắc cụ thể hóa các giá trị trên thành cách làm việc hằng ngày, và trên thực tế chúng xoay quanh những chu kỳ ngắn hơn cùng dòng phản hồi ổn định:
- Sự hài lòng của khách hàng. Bàn giao sớm những chức năng dùng được rồi tiếp tục cải thiện, vì phản hồi sau mỗi lần phát hành cho biết nhóm có đang đi đúng hướng hay không.
- Đón nhận thay đổi. Phạm vi dự án luôn thay đổi theo thời gian, và nhóm xử lý điều đó bằng cách cập nhật backlog thay vì vội vàng thiết kế lại.
- Bàn giao thường xuyên. Phát hành từng phần nhỏ giúp lộ ra sai sót ngay lúc việc sửa còn rẻ.
- Hợp tác chặt chẽ. Bộ phận kinh doanh và đội phát triển làm việc song song nên ít hiểu sai yêu cầu hơn.
- Đội ngũ tự tổ chức. Nhóm tự quyết định cách chia việc, nhờ vậy chuỗi phê duyệt ngắn lại và công việc được triển khai nhanh hơn.
Khi việc bàn giao chỉ diễn ra ở cuối một chu kỳ dài, rủi ro nằm ẩn lâu hơn, còn làm theo vòng lặp thì giúp rủi ro lộ diện sớm và bớt đi đáng kể.
Tác động của Agile đến phát triển phần mềm
Nhờ Agile, các nhóm có thể kiểm chứng ý tưởng từ sớm thay vì đợi một lần triển khai trọn gói. Họ không phải chờ hàng tháng mới thấy kết quả mà phát hành những phần nhỏ hơn, sớm hơn, để các giả định được kiểm chứng trong điều kiện thực tế. Các framework như Scrum và Kanban hỗ trợ việc này bằng cách tổ chức công việc thành những chu kỳ ngắn hoặc một dòng chảy liên tục, nhờ đó các điểm nghẽn hiện ra rõ ràng.
Hãy làm việc theo từng phần nhỏ hơn, kiểm tra kết quả thường xuyên hơn và cập nhật thứ tự ưu tiên mỗi khi có thông tin mới.
Áp dụng nguyên tắc Agile trong các ngành khác
Các nhóm marketing chạy thử những chiến dịch nhỏ trước khi tăng ngân sách, nên nếu một thông điệp không hiệu quả thì thiệt hại vẫn nằm trong giới hạn. Trong nhân sự hay hành chính công, bảng công việc mà ai cũng xem được cùng cách lập kế hoạch theo từng phần giúp phân định trách nhiệm rõ hơn và phối hợp nhịp nhàng hơn.
Sự thật thú vị
Tuyên ngôn Agile được soạn thảo chỉ trong hai ngày, và nhiều người tham gia viết nó sau này đã góp phần định hình các framework thực hành như Scrum, biến những ý tưởng cốt lõi thành các cách bàn giao có thể lặp lại.
Để hiểu rõ hơn Agile được áp dụng thế nào trong thực tế, bạn có thể đọc bài Quy trình quản lý dự án, trong đó giải thích cách các giai đoạn có cấu trúc vẫn song hành được với cách làm lặp. Nếu đang cân nhắc giữa các cách tiếp cận, hãy xem Scrum hay Kanban để thấy nhịp làm việc và mức độ minh bạch của quy trình khác nhau ra sao. Bạn cũng có thể tìm hiểu cách phân vai trong Cấu trúc đội Agile.
Đọc tham khảo
"Agile Project Management"
Cẩm nang thực hành giúp quản lý dự án Agile thành công.
"Scrum: The Art of Doing Twice the Work in Half the Time" by Jeff Sutherland
Cuốn sách phân tích kỹ về Scrum, một trong những framework Agile được dùng rộng rãi nhất.
"Agile Principles, Patterns, and Practices in C#"
Tài liệu kỹ thuật hướng dẫn cách áp dụng Agile khi phát triển bằng C#.
"The Lean Startup" by Eric Ries
Một cuốn sách về việc áp dụng các nguyên tắc lặp vào phát triển sản phẩm. Thông tin chi tiết: Phần mềm Quản lý Dự án cho Đội nhóm.
Kết luận
Tuyên ngôn Agile đã đặt lại trọng tâm của việc phát triển phần mềm vào khả năng thích ứng và nhịp bàn giao đều đặn. Chu kỳ nhỏ giúp vấn đề lộ ra sớm hơn và việc điều chỉnh hướng đi cũng đỡ tốn kém hơn, còn nếu bỏ qua điều này thì nhóm thường phát hiện vấn đề muộn, lúc mọi thay đổi đều đã đắt đỏ. Agile chỉ phát huy tác dụng khi các bản phát hành ra đều đặn, mọi người đều thấy công việc đang diễn ra thế nào và các buổi rà soát không bị bỏ qua.