Agile là gì?
Agile là một cách tiếp cận lặp đi lặp lại nhằm quản lý dự án và phát triển phần mềm, giúp các nhóm mang lại giá trị cho khách hàng một cách nhanh chóng và đỡ vất vả hơn. Thay vì đặt cược mọi thứ vào một vụ nổ lớn, các nhóm nhanh nhẹn sẽ thực hiện công việc theo các đơn vị nhỏ nhưng hoàn chỉnh ở một mức độ nhất định và có thể sử dụng được. Các yêu cầu, kế hoạch và kết quả được đánh giá liên tục để các nhóm xây dựng cơ chế phản ứng tự nhiên nhằm phản hồi và thay đổi một cách nhanh chóng.
Trái ngược với cách tiếp cận Waterfall truyền thống – một nhóm thực hiện đầy đủ vai trò của mình trong dự án, sau đó chuyển cho nhóm khác để tiếp tục đóng góp trong giai đoạn tiếp theo, Agile thúc đẩy sự hợp tác trong nội bộ các nhóm liên chức năng (cross-functional teams). Giao tiếp cởi mở, hợp tác, thích ứng và sự tin tưởng giữa cách thành viên trong nhóm là trọng tâm của Agile. Mặc dù người dẫn dắt dự án hoặc chủ sở hữu sản phẩm thường quyết định độ ưu tiên cho các công việc, nhưng nhóm sẽ giữ vai trò chủ động trong cách hoàn thành công việc – nhóm tự tổ chức, phân công và vận hành để thực hiện các nhiệm vụ chi tiết.
Agile không được tạo nên từ một tập hợp các nghi thức hay kỹ thuật phát triển cụ thể. Thay vào đó, Agile là một nhóm các phương pháp thể hiện cam kết tuân thủ các chu kỳ phản hồi chặt chẽ và cải tiến liên tục.
Tuyên ngôn Agile ban đầu không quy định rằng các vòng lặp phải kéo dài trong 2 tuần hay quy mô lý tưởng của một nhóm, mà chỉ đơn giản là đặt ra một tập hợp các giá trị cốt lõi với trọng tâm là con người. Cách bạn và nhóm của bạn làm việc với giá trị đó ngày hôm nay – cho dù bạn thực hiện scrum theo hướng dẫn trong sách hay kết hợp các yếu tố của kanban và XP – hoàn toàn phụ thuộc vào bạn.
Tại sao nên áp dụng Agile?
Các nhóm chọn Agile để có thể đáp ứng những thay đổi trên thị trường hoặc phản hồi của khách hàng một cách nhanh chóng mà không làm hỏng kế hoạch của một năm. Việc lập kế hoạch và chuyển giao vừa đủ với số lượng nhỏ và thường xuyên giúp nhóm của bạn thu thập phản hồi về từng thay đổi và tích hợp chúng vào các kế hoạch trong tương lai với chi phí tối thiểu.
Tuy nhiên đó không chỉ là một trò chơi số – trước hết, Agile nói về con người. Như được mô tả trong Tuyên ngôn Agile, các tương tác đích thực của con người quan trọng hơn các quy trình cứng nhắc. Việc hợp tác với khách hàng và đồng đội quan trọng hơn những sắp xếp được chỉ định trước. Tương tự, việc cung cấp giải pháp hiệu quả cho vấn đề của khách hàng chắc chắn quan trọng hơn so với một tài liệu siêu chi tiết.
Sự đoàn kết của một nhóm Agile được tạo nên từ một tầm nhìn chung, từ đó nhóm sẽ hiện thực hoá nó theo cách mà họ cho là tốt nhất. Mỗi nhóm đặt ra các tiêu chuẩn riêng về chất lượng, tính khả dụng và tính đầy đủ. Sau đó, định nghĩa hoàn thành (Definition of Done) của họ cho biết họ sẽ hoàn thành công việc như thế nào. Mặc dù ban đầu có thể khó khăn, nhưng các nhà lãnh đạo công ty nhận thấy rằng khi họ đặt niềm tin vào một nhóm nhanh nhẹn, nhóm sẽ cảm thấy có quyền sở hữu hơn và thường có khả năng đáp ứng mong đợi của ban quản lý cao hơn, hoặc thậm chí là mang đến kết quả hơn cả mong đợi.
Agile hôm qua, hôm nay và ngày mai
Tuyên ngôn Agile được xuất bản vào năm 2001 đã đánh dấu sự ra đời của phương pháp Agile. Kể từ đó, nhiều framework nhanh nhẹn đã xuất hiện, có thể kể đến Scrum, Kanban, Lean và Extreme Programming (XP). Mỗi framework thể hiện các nguyên tắc cốt lõi của việc lặp đi lặp lại thường xuyên, học hỏi liên tục và tiêu chuẩn chất lượng cao theo những cách riêng. Scrum và XP được các nhóm phát triển phần mềm ưa chuộng, còn Kanban lại là lựa chọn yêu thích của các nhóm định hướng dịch vụ như nhóm IT hoặc nhóm nhân sự.
Ngày nay, nhiều nhóm Agile kết hợp các phương pháp thực hành từ nhiều framework khác nhau, thậm chí áp dụng thêm cả các phương pháp độc nhất của nhóm. Một số nhóm áp dụng các nghi thức Agile (như stand-ups thường xuyên, retros, backlogs), cũng có những nhóm tạo ra một phương pháp thực hành Agile mới (chẳng hạn như các nhóm tiếp thị Agile tuân thủ Tuyên ngôn Agile Marketing).
Các nhóm Agile trong tương lai chắc hẳn sẽ xem trọng hiệu quả của chính họ hơn là việc tuân thủ học thuyết. Cởi mở, tin tưởng và tự chủ đang nổi lên như một loại tiền tệ văn hoá cho các công ty muốn thu hút những người giỏi nhất và tận dụng tối đa khả năng của họ. Những công ty như vậy đã chứng minh rằng các phương pháp có thể khác nhau giữa các nhóm, miễn là họ tuân thủ các nguyên tắc đúng đắn.
Chìa khoá để áp dụng đúng Agile là thúc đẩy tư duy cải tiến liên tục. Hãy thử nghiệm với các phương pháp khác nhau và thảo luận một cách cởi mở, trung thực về các phương pháp đó với nhóm của bạn. Hãy giữ những điều hữu ích và loại bỏ những điều không cần thiết.
Đọc thêm các bài viết về quy trình phát triển phần mềm linh hoạt trên blog của DevSamurai: #Agile
Theo Atlassian