Agile Là Gì? Tìm hiểu những nội dung liên quan đến phương pháp Agile

Mình là sinh viên đang theo học ngành công nghệ thông tin, sắp tới mình chuẩn bị học về phương pháp Agile. Nên mình muốn tìm hiểu trước để có kết quả tốt hơn lúc học, chính vì vậy, có bạn nào biết về Agile hoặc đã từng học qua Agile có thể tóm lược cho mình biết Agile Là Gì? và những kiến thức liên quan đến Agile giải thích giúp mình với ạ. Mình cảm ơn.


Agile Là Gì? Tìm hiểu những nội dung liên quan đến phương pháp Agile

Agile Là Gì?

Thực chất, Agile là một phương thức hay còn gọi là mô hình dùng để phát triển phần mềm, dựa trên hai phương thức chính là tăng trưởng (incremental) và lặp (iterative). Nó có vai trò quan trọng trong việc kết nối khách hàng với quy trình phát triển của phần mềm, những sản phẩm luôn được cố gắng để cho ra càng nhanh càng tốt. 

Sau đó các phần mềm này được đưa ra để cho khách hàng dùng thử và để lại các nhận xét về ưu và nhược điểm của phần mềm này. Sau đó, khi thu thập tất cả các nhận xét từ phía những người dùng thử này và phát triển để hoàn thiện phần mềm. Thời gian để thực hiện giai đoạn dùng thử và thu hồi ý kiến tùy thuộc vào dự án phần mềm là lớn hay nhỏ, phức tạp hay đơn giản, mà có thể kéo dài giai đoạn release từ 2 tuần cho đến 1 tháng hoặc hơn,..

Phương pháp này là phương pháp linh hoạt chú trọng vào việc kiểm thử phần mềm xuyên suốt quá trình mà nó hình thành, từ đó phát triển và hoàn thiện phần mềm từng bước một. Hoạt động này lặp đi lặp lại cho đến khi kết thúc dự án phần mềm. 

Một phần mềm được phát triển theo phương pháp Agile phải có 4 giá trị sau: 
Có sự hợp tác từ phía khách hàng dựa trên hợp đồng đảm bảo
Phần mềm phải làm việc những tài liệu có sẵn và đầy đủ
Khi có thay đổi, phần mềm này vẫn có thể đáp ứng và phát triển trong điều kiện thay đổi.
Thông qua các công cụ và quy trình, cá nhân và nhóm có sự tương tác với nhau. 

Các phương pháp Agile

Cần phải hiểu rằng Agile là một mô hình được phác họa trên lý thuyết, để thực hiện chúng ta có những phương pháp để thực hiện. Cùng với sự phát triển của khoa học công nghệ, các phương pháp của mô hình này được phát triển ngày càng nhiều và đều có những hiệu quả vô cùng rõ rệt khi đưa vào áp dụng.

agile là gì

Các phương pháp trong mô hình Agile


Cùng điểm qua những phương pháp nổi bật và hiệu quả nhất của mô hình này.

Scrum

Scrum là một phương pháp điển hình trong mô hình Agile, hoạt động theo nguyên tắc tập trung vào cách quản lý công việc trong môi trường làm việc nhóm. Scrum sử dụng việc trao quyền cho từng nhóm phát triển và làm việc theo nhóm để có hiệu quả tốt, các hoạt động của nhóm được thực hiện theo một vòng tuần hoàn liên tục. Phương pháp này gồm những trách nhiệm và vai trò sau:
Scrum Master : Master hay còn gọi là trưởng nhóm, là người thiết lập ra nhóm cũng như tổ chức các cuộc họp với nhóm trong các giai đoạn phát triển phần mềm, cũng như đưa ra các phương án loại bỏ các sai sót của dự án. 
Product owner : Người sản xuất backlog sản phẩm, chịu trách nhiệm đối với các hoạt động liên quan đến backlog như đưa ra thứ tự ưu tiên hay phát hành các tính năng ở mỗi thời kỳ phát triển. 
Scrum Team : Là nhóm thực hiện, chịu trách nhiệm thực hiện, quản lý, tổ chức công viên và đảm bảo hoàn thành các công việc đúng giai đoạn phát triển của phần mềm.
Luồng xử lý tóm tắt của phương pháp Scrum như sau:
Giai đoạn lặp lại phương pháp thì gọi là  Sprint
Danh sách mô tả các nội dung để hoàn thành sản phẩm phần mềm cuối cùng là Product backlog
Các mục đầu của Product backlog thường được chuyển thành Sprint backlog
Các công viên được thiện hiện trên sprint backlog bởi nhóm làm việc
Nhóm kiểm tra công việc theo tần suất hàng ngày. 
Cuối mỗi giai đoạn lặp lại sprint, những tính năng sản phẩm sẽ được phát hành.

Phương pháp eXtreme Programming (XP)

Đây là phương pháp được tạo ra để đáp ứng những yêu cầu thay đổi từ phía người dùng, khi họ có những phản ánh về tình trạng phần mềm hay có vấn đề không hài lòng  eXtreme Programming (XP) sẽ là phương pháp hữu hiệu nhất để giải quyết vấn đề. Phương pháp này giúp cho nhà phát hành thực hiện mục tiêu phát hành sản phẩm thường xuyên, không ngừng cải thiện chức năng để đáp ứng tất cả các nhu cầu của người dùng. 

agile là gì

Phương pháp eXtreme Programming (XP)

Phương pháp được lực hiện dựa trên cơ sở các vòng lặp lại của các bản phát hành theo thời hạn 2 tuần. Mỗi giai đoạn lặp lại sẽ bao gồm các bước theo trình tự: lập trình, kiểm thử ở quy mô đơn vị, kiểm thử ở quy mô hệ thống để hoàn thiện sản phẩm.

Tổng cộng có 6 giai đoạn trong 1 kỹ thuật lập trình eXtreme Programming (XP) là : Lập kế hoạch, phân tích, thiết kế, thực thi, đóng gói và kết thúc, chi tiết từng giai đoạn mình sẽ đề cập ở một bài viết sau, mời bạn cùng đón đọc. 

Phương pháp Crystal Methodologies

Phương pháp này được tạo ra dựa trên 3 khái niệm: 
a.Chartering: Nhóm phát triển được hình thành dựa trên việc thực hiện các hoạt động khác nhau gồm: phân tích khả năng ứng dụng và sự hữu ích của phần mềm, xây dựng kế hoạch, lựa chọn phương pháp thực hiện. 
b.Cyclic delivery : Đây là giai đoạn phát hành gồm nhiều chu kỳ, đó là:
Nhóm tiếp nhận các sai sót và chỉnh sửa lại kế hoạch dự kiến phát hành
Thực hiện kiểm thử tích hợp để triển khai các yêu cầu
Sản phẩm sau đó được phát hành và sử dụng bởi người dùng thực
Cuối cùng là thực hiện rà soát lại các dự án và phương pháp dùng để phát triển phần mềm.
c.Wrap Up: Thực hiện các đánh giá sau khi người dùng đưa vào sử dụng phần mềm.

Phương pháp Dynamic Software Development Method (DSDM)

DSDM là một trong những ứng dụng cực kỳ hiệu quả và giải quyết vấn đề khá nhanh chóng trong mô hình agile. Trong dự án, các phần mềm được hoàn thiện khá nhanh vì phương pháp khuyến khích những người dùng tích cực tham gia đồng thời quyền quyết định thay đổi phần mềm thuộc về nhóm phát triển - Những người hiểu rõ nhất về phần mềm, vì họ là người sáng tạo ra chúng. 

Một dự án được thực hiện bằng phương pháp DSDM gồm có 7 giai đoạn sau:
1. Giai đoạn tiền dự án 
2. Giai đoạn nghiên cứu tính khả thi
3. Giai đoạn nghiên cứu khả năng thu lợi nhuận từ kinh doanh
4. Giai đoạn lặp lại mô hình
5. Thiết kế và xây dựng 
6. Giai đoạn thực hiện 
7. Giai đoạn hoàn tất dự án

Đến đây chắc hẳn bạn đã hiểu được agile là gì và những phương pháp trong mô hình agile rồi phải không nào, hi vọng những chia sẻ này sẽ giúp ích cho bạn trong học phần sắp tới, cảm ơn bạn đã đón đọc.