MÔ HÌNH AGILE VÀ THỰC TIỄN ÁP DỤNG
Khái niệm Agile
Agile là phương pháp phát triển phần mềm nhanh và linh hoạt, cho phép doanh nghiệp mang đến sản phẩm chất lượng cao cho người sử dụng trong thời gian ngắn.
Agile là phương pháp được sử dụng phổ biến bởi những ưu điểm vượt trội so với các phương pháp cũ. Các điểm ưu việt của Agile có được nhờ 4 điểm khác biệt:
- Cá nhân và sự tương tác hơn là quy trình và công cụ;
- Sản phẩm tốt hơn là tài liệu đầy đủ;
- Hợp tác với khách hàng hơn là đàm phán hợp đồng;
- Thích ứng với thay đổi hơn là theo đúng kế hoạch.
12 nguyên lý khi sử dụng mô hình Agile
Mặc dù các yếu tố quy trình, công cụ, tài liệu, hợp đồng, kế hoạch đều có ý nghĩa quan trọng, nhưng những yếu tố bên trái được coi trọng và mang lại giá trị, hiệu quả cao hơn. Bên cạnh đó, Agile có 12 nguyên lý để đạt được hiệu quả trong thực tiên, bao gồm:
- Thỏa mãn khách hàng thông qua chuyển giao sớm và liên tục các sản phẩm có giá trị là ưu tiên hàng đầu
- Sẵn sàng tiếp nhận, xử lý những thay đổi theo yêu cầu của khách hàng một cách linh hoạt dù trong giai đoạn nào của quá trình sản xuất
- Thường xuyên chuyển giao sản phẩm chất lượng tốt tới khách hàng trong thời gian ngắn
- Bộ phận kinh doanh và sản xuất phải làm việc hằng ngày cùng nhau trong suốt dự án
- Các dự án được đảm nhận bởi những cá nhân có động lực, được tin tưởng và cung cấp các nguồn lực cần thiết để hoàn thành công việc
- Đối thoại trực tiếp là phương pháp truyền đạt thông tin hiệu quả nhất
- Phần mềm hoạt động tốt là thước đo chính của tiến bộ
- Các quy trình linh hoạt thúc đẩy phát triển bền vững không ngừng
- Liên tục chú ý tới kỹ thuật suất sắc và thiết kế tốt
- Sự đơn giản – nghệ thuật tối đa hóa lượng công việc chưa hoàn thành – là cần thiết
- Kiến trúc, yêu cầu và thiết kế tốt nhất xuất phát từ các nhóm tự tổ chức
- Thường xuyên nghiên cứu cách nâng cao hiệu quả và điều chỉnh phù hợp
Đặc trưng của Agile
Tính lặp (Iterative), tiệm tiến (Incremental) và tiến hóa (Evolutionary)
Các phương pháp Agile thường phân rã mục tiêu thành các phần nhỏ với quá trình lập kế hoạch đơn giản và gọn nhẹ nhất có thể, mỗi phân đoạn (được gọi là Iteration hoặc Sprint) này thường có khung thời gian ngắn (từ 1 – 4 tuần). Trong mỗi phân đoạn này, nhóm phát triển thực hiện đầy đủ các công việc cần thiết để cho ra các phần nhỏ của sản phẩm cuối cùng. Mỗi phần nhỏ này đều có khả năng chạy tốt. Theo thời gian, phân đoạn này tiếp nối phân đoạn kia cho tới khi hoàn thiện sản phẩm cuối cùng.
Điều này giúp quá trình sản xuất có tính linh hoạt và thích ứng rất cao, đáp ứng tốt các yêu cầu thay đổi của khách hàng.
Giao tiếp trực diện (face-to-face communication)
Giao tiếp mặt đối mặt được khuyến khích giữa nhóm sản xuất và khách hàng, cũng như giữa các thành viên trong nhóm. Việc giảm bớt các văn bản, thay vào đó là nói chuyện trực tiếp sẽ giúp hiểu rõ yêu cầu khách hàng và thông tin chính xác.
Nhóm tự tổ chức (self-organizing) và liên chức năng (cross-functionality)
Các nhóm này làm việc không dựa trên mô tả chức danh hay phân cấp rõ ràng mà theo phân công công việc. Nhóm có khả năng tự đảm trách công việc và ra quyết định để tổ chức công việc đạt hiệu quả cao nhất.
Vòng phản hồi rất ngắn (very feedback life cycle)
Vòng đời phản hồi được rút ngắn, gần như hằng ngày để dễ dàng thích nghi và gia tăng tính linh hoạt. Trong một phiên họp ngắn, các thành viên trong nhóm báo cáo với nhau những gì họ đã làm vào ngày hôm trước về mục tiêu lặp lại của đội mình, những gì họ dự định làm hôm nay hướng tới mục tiêu, và bất kỳ cản trở nào họ có thể thấy được. Nhờ đó, nhóm có thể kiểm soát được tiến trình, và nâng cao năng suất lao động.
Phát triển dựa trên giá trị (value-based development)
Một trong các nguyên tắc cơ bản của Agile là “phần mềm chạy tốt chính là thước đo của tiến độ”. Để vận hành được cơ chế “làm việc dựa trên giá trị”, nhóm Agile thường làm việc trực tiếp và thường xuyên với khách hàng (hay đại diện của khách hàng), cộng tác trực tiếp với họ để biết yêu cầu nào có độ ưu tiên cao hơn, mang lại giá trị hơn sớm nhất có thể cho dự án.
Nhờ đó các dự án Agile thường giúp khách hàng tối ưu hóa được giá trị của dự án. Một cách gần như trực tiếp, Agile gia tăng đáng kể độ hài lòng của khách hàng.
Những điều kiện áp dụng mô hình Agile trong doanh nghiệp Việt Nam
Các giai đoạn trong mô hình Agile phù hợp với phát triển và kiểm thử phần mềm. Áp dụng mô hình Agile giúp nâng cao tính linh hoạt và thích ứng của doanh nghiệp, đáp ứng yêu cầu cao của khách hàng. Đi kèm với điều đó là nâng cao chất lượng, tốc độ cung cấp sản phẩm, giúp quản lý các nguồn lực hiệu quả.
Tuy nhiên, không phải doanh nghiệp nào cũng phù hợp với mô hình Agile. Để áp dụng thành công mô hình này cần một số điều kiện tiên quyết trong tổ chức:
Thứ nhất, các thành viên phối hợp, giao tiếp hiệu quả trong nội bộ. Kỹ năng giao tiếp tốt giúp nhóm làm việc thấu hiểu khách hàng, hợp tác tốt với nhau đảm bảo chất lượng và tốc độ.
Thứ hai, tính tự chủ của mỗi thành viên phải được đảm bảo để các nhóm tự quản lý có thể vận hành một cách chủ động, trơn tru thay vì chỉ tuân thủ theo chỉ dẫn cấp trên như trong các mô hình truyền thống.
Thứ ba, các hoạt động được modul hóa thông qua những nhóm liên chức năng. Những nhóm này có khả năng làm việc với tốc độ và chất lượng cao, với khách hàng là trung tâm.
Vai trò của lãnh đạo
Để xây dựng bộ máy hoạt động trơn tru và hiệu quả theo mô hình Agile, lãnh đạo có vai trò quan trọng trong việc truyền cảm hứng, xây dựng văn hóa và môi trường làm việc tích cực. Nhà lãnh đạo không những là người định hướng mà cần hỗ trợ nhân viên của mình có được những nguồn lực để thực thi công việc.
Ngày nay, triết lí Agile đã vượt xa khỏi khu vực truyền thống của mình là phát triển phần mềm để đóng góp sự thay đổi trong cách thức làm việc, quản lí, sản xuất ở các ngành khác như sản xuất (manufacturing), dịch vụ, sales, marketing, giáo dục và đạt được hiệu quả cao.
Tài liệu tham khảo:
https://itviec.com/blog/agile-la-gi-scrum-la-gi/
https://www.guru99.com/agile-scrum-extreme-testing.html