agile-software-development

Agile Software Development là gì?

17/07/2022

TECHVIFY

Agile là một triết lý được nhắc tới rất nhiều trong tin học và một số lĩnh vực khác. Vậy Agile Software Development là gì và các phương pháp trong đó là gì?

Trong lĩnh vực công nghệ thường xuất hiện từ ngữ Agile và được mọi người đánh giá khá cao, có thể thay thế tối ưu cho các mô hình quản lý dự án truyền thống. Vậy thực sự thì Agile Software Development là gì? Bài viết sau đây sẽ giúp bạn giải đáp thắc mắc cũng như cung cấp thông tin về khái niệm và phương pháp của Agile.

Agile là gì?

Agile thực chất là một triết lý hoặc một khung tư duy để nhanh chóng thích ứng và phản hồi với các thay đổi nhằm đạt được thành công trong một môi trường liên tục có biến động và không chắc chắn. Triết lý Agile xuất phát từ ngành công nghệ, được mô ta qua 4 giá trị và 12 nguyên lý cốt lõi trong “Tuyên ngôn phát triển phần mềm linh hoạt” hoặc “Tuyên ngôn Agile”

The Manifesto for Agile Software Development cho tới ngày nay không chỉ làm thay đổi diện mạo công nghệ thế giới mà còn lan tỏa mạnh mẽ và thể hiện giá trị trong một số các lĩnh vực như: Marketing (với Agile Marketing), nhân sự (với Agile HR và Agile People), Quản lý dự án (với Agile Project Management), quản trị và lãnh đạo ( Agile Management, Agile Leadership),…

Agile Software Development

Định nghĩa Agile Software Development là gì?

Agile Software Development là thuật ngữ chỉ tất cả các kỹ thuật và phương pháp phát triển phần mềm được xây dựng theo triết lý Agile. Triết lý Agile đã được mô tả trong bản Tuyên ngôn Agile và thông qua các giá trị cốt lõi cùng nguyên tắc có tính tổng quát nhưng không ghi rõ làm sao để thực hiện các giá trị và nguyên tắc ấy.

Vì thế, các phương pháp Agile sẽ làm nhiệm vụ định nghĩa rõ hơn để cá nhân và tập thể có thể dễ dàng vận dụng chúng vào trong bối cảnh công việc thực tế của mình. Các phương pháp này đều khuyến khích người dùng việc lập kế hoạch phát triển tăng dần và chuyển giao sớm, cải thiện liên tục nhằm thích ứng nhanh với sự thay đổi.

Các phương pháp Agile

Như đã đề cập, Agile có thể có nhiều phương pháp để có thể áp dụng thực hành khác nhau nhưng triết lý chung giống nhau. Cùng điểm qua một số các phương pháp Agile phổ biến nhất và được ứng dụng nhiều nhất hiện nay:

Phương pháp Scrum

The Scrum Guide là phương pháp được 2 nhà sáng lập là Ken Schwaber and Jeff Sutherland định nghĩa. Đây là một khung làm việc để phát triển một cách bền vững các sản phẩm phức tạp. Có thể nói, Scrum là một trong những phương pháp Agile có vai trò quan trọng nhất sử dụng cơ chế lặp (Iterative) và tăng trưởng (Incremental) để tối ưu hoá hiệu quả và kiểm soát rủi ro.

Phương pháp Kanban

Đây là phương pháp Agile được xây dựng dựa trên phương thức sản xuất Toyota với 4 nguyên lý như sau:

  • Trực quan hóa công việc.
  • Giới hạn công việc đang làm.
  • Tập trung vào luồng làm việc.
  • Cải tiến liên tục
Kanban

Phương pháp Kanban được sử dụng rất nhiều

Phương pháp Scrumban

Đây là phương pháp được Corley Ladas giới thiệu vào năm 2009 trong một cuốn sách có tựa đề Scrumban – Essays on Kanban Systems for Lean Software Development. Scrumban là sự kết hợp giữa ưu điểm của Scrum và Kanban cho phép cải tiến liên tục các quy trình và khả năng xử lý công việc.

Phương pháp LSD (Lean Software Development)

Là phương pháp phát triển phần mềm tinh gọn, một hình thức tư duy tinh gọn và các nguyên lý đặc trưng của Tinh gọn cho lĩnh vực phát triển phần mềm. Thuật ngữ Lean Software Development có nguồn gốc từ cuốn sách cùng tên của Mary Poppendieck và Tom Poppendieck. Trong đó, 7 nguyên lý diễn giải tư duy tinh gọn bao gồm:

  • Loại bỏ lãng phí.
  • Khuếch trương việc học.
  • Quyết định càng muộn càng tốt.
  • Chuyển giao với tốc độ càng nhanh càng tốt.
  • Trao quyền cho nhóm.
  • Tạo ra tính toàn vẹn tự thân.
  • Thấy toàn cảnh là linh hồn của quá trình phát triển phần mềm tinh gọn.
agile software development la gi anh dai dien TECHVIFY Careers

Phương pháp XP

Đây là phương pháp lập trình cực hạn, viết tắt của Extreme Programming, một phương pháp phát triển phần mềm được phát minh bởi kỹ sư Ken Beck người Mỹ. XP hướng tới nâng cao chất lượng phần mềm và khả năng đáp ứng thay đổi yêu cầu người dùng. Phần mềm này chủ trương đưa ra các bản phát hành thường xuyên thông qua những chu trình phát triển ngắn. Một số các thực hành của XP có thể kể đến như:

  • Pair programming.
  • Refactoring
  • Unit Testing
  • Continuous Integration
  • Small Release

Phương pháp phổ biến nhất trong Agile là gì?

Có thể nhận thấy dễ dàng rằng, trong các phương pháp Agile thì Scrum là phương pháp phổ biến nhất nhờ sự hiệu quả và tối ưu hoá của nó. Nhiều khảo sát đã được tiến hành về Scrum và các phương pháp lai với Scrum như Scrumban.

Kết quả cho thấy, Scrum và XP chiếm tới 3/4 mức độ phổ biến trong ứng dụng. Đây chính là lý do khiến rất nhiều nhóm đã bắt đầu quá trình tiếp nhận Agile với việc sử dụng phương pháp Scrum trong các dự án phát triển phần mềm.

Như vậy, những thông tin hữu ích trên đây đã giúp bạn giải đáp được câu hỏi Agile Software Development là gì? Đồng thời, bạn cũng đã được cung cấp những phương pháp Agile thường được sử dụng trong quá trình phát triển một dự án công nghệ. Với tính tiện dụng cao và lợi ích lâu dài, bạn đừng bỏ qua cơ hội ứng dụng sản phẩm công nghệ chất lượng này nhé.

Đánh giá