Khi mà Tuyên ngôn Agileđược tạo ra, đã có khá nhiều quy trình phát triển “nhẹ nhàng”; Các phương pháp khác như vậy đã xuất hiện kể từ đó. Chúng hiện nay được gọi chung là các phương pháp “linh hoạt”.
- Linh hoạt là một cách suy nghĩ và hành động.
- Linh hoạtlà một trạng thái tâm trí, một tập hợp các giá trị và nguyên tắc.
- Linh hoạt liên quan đến các chu kỳ ngắn, giao hàng lặp đi lặp lại và gia tăng, thất bại nhanh, nhận phản hồi, cung cấp giá trị kinh doanh cho khách hàng sớm, và về con người, sự hợp tác và tương tác.
Linh hoạt là một cách suy nghĩ về sự minh bạch, kiểm tra và thích ứng. Tuy nhiên, linh hoạt không chứa bất kỳ vai trò, sự kiện hoặc hiện vật nào. Đây là một trạng thái tâm trí.
Ví dụ
Scrum là một trong những khung phương pháp được sử dụng rộng rãi dưới sự bảo trợ của các phương pháp linh hoạt.

Nó có thể giúp bạn trở nên linh hoạt hơn, nhưng còn nhiều khung phương pháp khác trong phong trào linh hoạt, chẳng hạn như Kanban, XP, crystal, v.v., như được thể hiện trong hình dưới đây:
1. Scrum
Đây là một phương pháp rất phổ biến mượn tên từ bóng đá scrumvà sử dụng nó như một phép ẩn dụ cho:
- Cuộc họp đứng hàng ngàycuộc họp,
- Scrumcó các vòng lặp ngắn. Mỗi vòng lặp tập trung vào việc cung cấp phần mềm hoạt động được phát triển bởi nhóm Scrum,
- Sprintvà các sản phẩm có một danh sách ưu tiên “backlog” nghiêm ngặt, và
- Một “người sở hữu sản phẩmvai trò được giao để thiết lập ưu tiên.
- Một “Scrum Masterđể duy trì các thực hành tốt nhất trong linh hoạt

2. Lập trình cực đoan (XP)
XPlà một tập hợp các thực hành kỹ thuật. Các nhà phát triển phải vượt qua khả năng của họ để thực hiện những thực hành này. Nhóm lập kế hoạch một lượng công việc nhỏ và xây dựng trong một khoảng thời gian ngắn gọi là vòng lặp 1–4 tuần.
Sự khác biệt chính giữa XP và các khung lặp khác là XP tập trung vào các thực hành kỹ thuật phần mềm cần đạt đến mức độ cực đoan. Ví dụ, XP coi việc xem xét mã là cực đoan và khuyến khích việc xem xét đồng nghiệp 100% thời gian thông qua lập trình cặp.

3. Phát triển ứng dụng nhanh (RAD)
Rapkhông chỉ là tên chung của một loạt các phương pháp linh hoạt và lặp đi lặp lại, mà còn là một phương pháp được mô tả bởi James Martin (1991). Rad chịu trách nhiệm cho các giai đoạn phân tích, thiết kế, xây dựng và kiểm tra, và phát triển lặp đi lặp lại các nguyên mẫu và phiên bản với các chức năng gia tăng.

4. Phương pháp phát triển hệ thống động (DSDM)
DSDM là một phương pháp phát triển phần mềm linh hoạt. Đây là một phương pháp lặp đi lặp lại và gia tăng, chủ yếu dựa trên phương pháp phát triển ứng dụng nhanh (RAD).
Tuy nhiên, phương pháp RAD thường không có cấu trúc và không có quy trình chung giữa các nhóm rad. Kết quả là, mỗi tổ chức đã thiết lập các phương pháp và khung riêng của mình và chia sẻ các tiêu chuẩn, khiến việc tuyển dụng các thực hành viên rad có kinh nghiệm trở nên khó khăn. Để giải quyết vấn đề này, DSDM đã ra đời.
Phương pháp này cung cấp một khung bốn giai đoạn, bao gồm:
- Nghiên cứu khả thi và kinh doanh
- Mô hình chức năng / vòng lặp nguyên mẫu
- Thiết kế và xây dựng các vòng lặp
- triển khai

5. Quy trình thống nhất (UP)
UPlà một khung lặp đi lặp lại và gia tăng với nhiều triển khai, bao gồm RUP, Open-UP và Agile-UP. Một khung có thể tùy chỉnh cao với phương pháp rad tập trung vào kiến trúc và rủi ro. Mỗi giai đoạn của UP được gọi là giai đoạn khởi đầu, giai đoạn phát triển, giai đoạn xây dựng và giai đoạn chuyển tiếp, và mỗi giai đoạn có những nhấn mạnh khác nhau.

6. Phương pháp Lean
Leanxuất phát từ ngành công nghiệp sản xuất vào những năm 1970. Mary và Tom Popendieck (2003) đã áp dụng các nguyên tắc Lean vào phát triển phần mềm trong cuốn sách phát triển phần mềm Lean của họ. Lean tập trung vào việc cung cấp giá trị cho khách hàng và loại bỏ lãng phí trong các quy trình.

7. Bảng Kanban
Kanban: là một phương pháp bắt nguồn từ sản xuất tinh gọn và đã được David Anderson phát triển thêm (2010). Kanban dựa trên việc trực quan hóa quy trình làm việc, thường trên một bảng vật lý, giải quyết các vấn đề gây ra khó khăn, giới hạn khối lượng công việc đang tiến hành của nhóm và cân bằng các yêu cầu đối với nhóm.

Tóm tắt
Phát triển linh hoạt là một trong những từ hot trong ngành phát triển phần mềm. Đây là một cách khác để quản lý các dự án phát triển phần mềm. Nó không phải là một phương pháp phát triển phần mềm cụ thể, mà là một thuật ngữ chung cho một tập hợp các phương pháp và thực tiễn dựa trên các giá trị và nguyên tắc được thể hiện trong Tuyên ngôn Agile. Các giải pháp được phát triển thông qua sự hợp tác giữa các nhóm tự tổ chức, đa chức năng, sử dụng các thực tiễn phù hợp với môi trường của họ.
Hiện nay có nhiều phương pháp linh hoạt khác đang được sử dụng. Điều này bao gồm các phương pháp lai như scrumban, crystal, BDD, TDD, FDD và nhiều phương pháp khác, cũng như nhiều tùy chỉnh nội bộ được phát triển bởi các công ty khác nhau.
This post is also available in Deutsch, English, Español, فارسی, Français, Bahasa Indonesia, 日本語, Polski, Portuguese, Ру́сский, 简体中文 and 繁體中文.