5 phương pháp Agile phổ biến trong phát triển phần mềm

1. Scrum

Trong số các framework (khung) của phương pháp Agile, Scrum được sử dụng phổ biến nhất. Tuy nhiên, nhiều người vẫn còn nhầm lẫn giữa hai khái niệm này, dù chúng không phải là một.

Đặc trưng của Scrum là tách quá trình phát triển thành từng chu kỳ hoặc giai đoạn, được gọi là “sprint” (chạy nước rút). Các thành viên trong nhóm sẽ chia công việc của mình thành những mục tiêu cần đạt được trong mỗi lần chạy nước rút. Thời gian cho mỗi lần “sprint” diễn ra không quá một tháng, phổ biến nhất là hai tuần.

Nhóm Scrum sẽ theo dõi tiến độ trong các cuộc họp hàng ngày, giới hạn trong 15 phút. Cuối mỗi lần chạy nước rút, họ sẽ tổ chức để nhìn lại, đánh giá và chứng minh công việc, để tiếp tục cải thiện trong tương lai.

Scrum được thiết kế cho nhóm gồm mười thành viên trở xuống. Nó thường được dùng trong việc quản lý phát triển phần mềm, nhưng cũng có thể dùng trong những bối cảnh liên quan đến kinh doanh.

Mô hình của Scrum theo phương pháp Agile (Nguồn: Scrum.org)
Mô hình của Scrum theo phương pháp Agile (Nguồn: Scrum.org)

2. Kaban

Cụm từ Kaban có nguồn gốc từ Nhật Bản. Ý nghĩa của nó ám chỉ đến một khái niệm về thời gian, đó là “sự đúng lúc”.

Trong thực tế, phương pháp Kaban sẽ được thể hiện thông qua một bảng, gọi là bảng Kaban. Nó được chia thành các cột khác nhau, hiển thị mọi luồng của quá trình sản xuất phần mềm. Theo tiến trình phát triển, thông tin trong bảng sẽ liên tục thay đổi. Nếu có một nhiệm vụ mới được thực hiện, sẽ có một “thẻ” (card) mới được tạo ra.

Phương pháp Kaban đòi hỏi sự giao tiếp và minh bạch trong công việc. Mục đích của nó là giúp thành viên trong nhóm có thể biết chính xác quá trình phát triển đang ở giai đoạn nào. Đồng thời, họ có thể nhìn thấy tình trạng của dự án bất cứ lúc nào.

Kaban dùng bảng để cho các thành viên làm việc nhóm (Nguồn: Unsplash)
Kaban dùng bảng để cho các thành viên làm việc nhóm (Nguồn: Unsplash)

3. Extreme Programming

Phương pháp này còn được gọi tắt là XP (lập trình cực đoan). Đây cũng là một framework điển hình của phương pháp Agile. Nó được phát triển bởi Kent Beck, và có thể được điều chỉnh cho phù hợp với từng công ty khác nhau.

Phương pháp này nhấn mạnh các giá trị như Giao tiếp (Communication), Tính đơn giản (Simplicity), Phản hồi (Feedback), Lòng dũng cảm (Courage) và Sự tôn trọng (Respect).

Trong XP, làm việc nhóm là yếu tố cực kỳ quan trọng. Bởi vì khi có vấn đề phát sinh, nó sẽ được giải quyết bởi cả đội ngũ quản lý, nhà phát triển lẫn khách hàng.

XP cũng ưu tiên sự hài lòng của khách hàng lên trên hết. Thế nên, đây cũng là phương pháp mang lại niềm tin cho các nhà phát triển phần mềm. Nó thúc đẩy họ chấp nhận thay đổi theo yêu cầu của khách hàng, ngay cả ở những giai đoạn trễ của quá trình phát triển.

4. Lean Development

Tên gọi Lean xuất phát từ thuật ngữ Lean Manufacturing (Sản xuất tinh gọn) do Toyota tạo ra và áp dụng cho phát triển phần mềm. Phương pháp này cũng là một framework bao gồm các giá trị, nguyên tắc có thể áp dụng cho phương pháp Agile.

Đúng như tên gọi, phương pháp Lean tập trung vào việc phát triển phần mềm tinh gọn. Nó đề cao việc xác định và loại bỏ những yếu tố lãng phí. Từ đó, các nhà phát triển có thể tăng tốc độ phát triển của dự án. Giá trị của sản phảm được tối đa hóa và những thứ thừa thải sẽ được giảm thiểu.

Nó bao gồm 7 nguyên tắc cơ bản là:

  • Xóa bỏ những thứ không quan trọng.
  • Mở rộng việc học hỏi.
  • Quyết định càng trễ càng tốt.
  • Cung cấp càng sớm càng tốt.
  • Trao quyền cho nhóm.
  • Xây dựng toàn vẹn từ bên trong.
  • Tối ưu hóa toàn bộ.
Lean đề cao sự đơn giản trong phát triển phần mềm (Nguồn: Unsplash)
Lean đề cao sự đơn giản trong phát triển phần mềm (Nguồn: Unsplash)

5. Crystal

Đây thực ra là một nhóm các phương pháp Agile gọi chung là Crystal (Pha lê). Chúng bao gồm các biến thể như: Crystal Clear (tối đa một nhóm 8 người), Crystal Yellow (tối đa một nhóm 10 đến 20 người), Crystal Orange (tối đa một nhóm 20 đến 50 người), Crystal Red (dành cho các nhóm lớn từ 50 đến 1000 người).

Phương pháp Crystal tập trung vào các nguyên tắc như: Con người (People), Interactions (Sự tương tác), Community (Cộng đồng), Skills (Kỹ năng), Talent (Tài năng) và Communication (Giao tiếp). Mục đích của Crystal là đưa ra một quy trình phát triển phần mềm tốt nhất có thể. Theo đó, vấn đề cốt lõi phải là sự tương tác và cộng sinh giữa những người liên quan đến dự án.

Người sáng lập ra Crystal là Alistair Cockburn. Theo ông, nó là “là một nhóm các phương pháp phát triển phần mềm, hoạt động bằng sức mạnh của con người, cực kỳ nhẹ và co giãn để phù hợp”. Về cơ bản, Cockburn tin rằng chính tài năng và cách tương tác giữa các thành viên trong nhóm sẽ mang lại lợi ích cho cả dự án.

Tóm lại, có nhiều cách tiếp cận khác nhau theo phương pháp Agile. Mỗi cách tiếp cận lại có những đặc điểm khác nhau. Hy vọng qua bài viết, các bạn đã biết được những phương pháp Agile phổ biến, để có thể vận dụng vào công việc của mình.

Tham khảo: Xpand-it.com

Category

Tags