TÌM HIỂU VỀ MÔ HÌNH AGILE
  1.  Tổng quan về Agile
Agile là một cách làm trong phát triển phần mềm, được sử dụng để giúp nhóm làm việc linh hoạt hơn trong quá trình xây dựng sản phẩm. Điểm em thấy dễ hiểu nhất ở Agile là không nhất thiết phải làm toàn bộ dự án một lần rồi đến cuối mới kiểm tra, mà có thể chia công việc thành những phần nhỏ, làm từng phần và kiểm tra trong quá trình thực hiện.

Ví dụ, nếu một nhóm đang làm một website bán hàng, như web bán sữa của em, thì có thể chia ra làm trang sản phẩm, đăng nhập, giỏ hàng, thanh toán,... Nhóm có thể hoàn thành một phần trước, sau đó kiểm tra và cho khách hàng hoặc người phụ trách xem thử. Nếu có chỗ nào chưa phù hợp thì sửa lại ở những phần tiếp theo.

Agile cũng chú trọng đến việc các thành viên trong nhóm trao đổi với nhau và thường xuyên nhận phản hồi. Trong thực tế làm phần mềm, yêu cầu của khách hàng có thể thay đổi trong lúc đang làm nên việc có thể điều chỉnh kế hoạch sẽ thuận tiện hơn.

Trong đó có 4 giá trị chính: đề cao sự phối hợp giữa con người, phần mềm hoạt động được, sự hợp tác với khách hàng và khả năng phản hồi với thay đổi.

Agile không phải là một quy trình cố định mà là một cách tiếp cận trong phát triển phần mềm. Khi áp dụng Agile, mỗi nhóm có thể lựa chọn cách tổ chức công việc khác nhau, chẳng hạn như Scrum hoặc Kanban, miễn là vẫn hướng đến sự linh hoạt, hợp tác, nhận phản hồi và cải tiến liên tục.
  1.  Cách Agile được áp dụng
Theo em hiểu, một dự án áp dụng Agile thường không làm theo một đường thẳng từ đầu đến cuối mà sẽ chia thành nhiều vòng làm việc.

Có thể hiểu đơn giản như sau: Lên kế hoạch → Chia công việc → Thực hiện → Kiểm tra → Nhận phản hồi → Điều chỉnh → tiếp tục thực hiện

Ví dụ nhóm được giao làm một website bán hàng. Thay vì chờ làm xong tất cả các chức năng mới đưa cho khách hàng xem, nhóm có thể làm trước phần trang chủ và sản phẩm. Sau khi hoàn thành thì kiểm tra và cho khách hàng xem.

Nếu khách hàng thấy phần tìm kiếm sản phẩm chưa thuận tiện hoặc muốn thay đổi cách hiển thị thì nhóm có thể ghi nhận lại và thực hiện trong những phần tiếp theo.

Như vậy, sản phẩm được cải thiện dần trong quá trình làm chứ không nhất thiết phải hoàn chỉnh ngay từ đầu.
  1.  Một số đặc điểm của Agile
Theo em, có một số điểm khá dễ nhận thấy khi tìm hiểu về Agile:
  • Công việc thường được chia thành những phần nhỏ để dễ thực hiện và theo dõi.
  • Các thành viên trong nhóm trao đổi với nhau thường xuyên.
  • Sản phẩm được kiểm tra trong quá trình phát triển.
  • Khách hàng hoặc người phụ trách có thể đưa ra phản hồi trong quá trình làm.
  • Khi yêu cầu thay đổi thì nhóm có thể điều chỉnh kế hoạch.
  • Sau mỗi giai đoạn, nhóm có thể nhìn lại những gì chưa tốt để cải thiện.
Điểm quan trọng là Agile không có nghĩa là làm việc không theo kế hoạch. Vẫn cần có kế hoạch và phân chia công việc, nhưng kế hoạch có thể được điều chỉnh khi dự án có thay đổi.
  1.  Ưu điểm của Agile
Một ưu điểm em thấy khá rõ của Agile là khả năng thích ứng với thay đổi. Khi làm phần mềm, đôi khi yêu cầu ban đầu của khách hàng chưa hoàn toàn rõ hoặc sau khi nhìn thấy sản phẩm thì khách hàng mới phát hiện ra mình muốn thay đổi một số chỗ.

Ngoài ra, do công việc được chia nhỏ và kiểm tra thường xuyên nên nhóm có thể phát hiện vấn đề sớm hơn. Các thành viên cũng dễ theo dõi được mình đang làm gì và còn những công việc nào chưa hoàn thành.
  1.  về nhược điểm
Vì agile có tính đặc thù phải giao tiếp tốt, Yêu cầu các thành viên trong team phải giao tiếp tốt với nhau, có kỹ năng thuyết trình, trình bày giải quyết các vấn đề một cách rõ ràng, mối quan hệ cũng phải tốt thì làm việc mới không bị căng thẳng

Bài viết khác

TÌM HIỂU VỀ SCRUM

Scrum là gì? Scrum là một framework được sử dụng để tổ chức và quản lý công việc theo cách tiếp cận Agile. Scrum thường được sử dụng trong phát triển phần mềm, đặc biệt là những dự án có nhiều công việc và yêu cầu có thể thay đổi trong quá trình thực hiện. […]

TÌM HIỂU VỀ MÔ HÌNH WATERFAL

Waterfall là gì? Waterfall hay còn gọi là mô hình Thác nước, là một mô hình phát triển phần mềm dựa trên quy trình tuần tự và liên tiếp. Các giai đoạn trong dự án được thực hiện theo một trình tự nhất định, giai đoạn sau chỉ bắt đầu khi giai đoạn trước đã […]

TÌM HIỂU VỀ MÔ HÌNH KANBAN

TÌM HIỂU VỀ MÔ HÌNH KANBAN Kanban là gì? Kanban là một phương pháp quản lý và cải tiến công việc, trong đó công việc được trực quan hóa để các thành viên có thể dễ dàng theo dõi trạng thái và tiến độ của từng công việc. Trong phát triển phần mềm, Kanban thường […]

Git

1. Git là gì? Git là một hệ thống quản lý phiên bản phân tán (Distributed Version Control System – DVCS) được sử dụng để quản lý, theo dõi và kiểm soát các thay đổi trong mã nguồn của một dự án. Git giúp lập trình viên lưu lại lịch sử phát triển của project, […]

Kanban

Kanban là gì? Kanban là một phương pháp quản lý công việc tập trung vào việc trực quan hóa công việc, kiểm soát lượng công việc đang thực hiện và cải thiện dòng chảy của công việc. Kanban giúp team nhìn thấy toàn bộ công việc đang ở trạng thái nào, công việc nào đang […]

Scrum

Scrum là gì? Scrum là một framework được sử dụng để tổ chức và quản lý quá trình phát triển sản phẩm, đặc biệt phổ biến trong phát triển phần mềm. Scrum giúp một team biến những nguyên tắc của Agile thành một cách làm việc cụ thể hơn. Nếu Agile là tư duy, thì […]