Lưu Quang Triệu

Không ngừng sáng tạo thì sẽ không sợ bị diệt vong

Agile Development

Posted by millionking on August 29, 2012

Agile là một mô hình phát triển phần mềm kế thừa từ phát triển lặp.

Khái niệm: là phương pháp phát triển lặp cố định thời gian của từng vòng lặp, đưa ra các sản phẩm (release) theo hướng tiến hóa dần, có kế hoạch thích hợp (không phải cố định), sẵn sàng cho mọi sự thay đổi nếu có xảy ra.

(P/S: phát triển lặp có thể không cần cố định về thời gian.)

image

* 4 khái niệm (đặc điểm) quan trọng trong phát triển Agile:

– Con người và sự tương tác giữa người với người đặt lên trên quy trình và công cụ sử dụng: có nghĩa là quy trình hiện tại là như vậy, nhưng ta hoàn toàn có thể thay đổi nó một chút (thêm phần này, bớt phần kia).

– Phần mềm làm việc thay cho tài liệu phức tạp: trọng tâm của phát triển Agile đó là sản phẩm đưa ra (có thể nhảy vào coding vẫn được, miễn là code đúng, code chạy; không cần thiết kế vẫn được).

– Việc tương tác với khách hàng đặt lên trên các hợp đồng, thương thảo: như đã nói ở phần trên, thì sau mỗi vòng lặp chúng ta sẽ chuyển giao cho khách hàng sản phẩm để nhận phản hồi, đánh giá từ khách hàng.

– Sẵn sàng cho sự thay đổi thay vì theo như kế hoạch nhất định.

* Quá trình vận hành Agile:

Đầu tiên là phải xác định vấn đề phải giải quyết cho phần mềm, sau đó đưa ra các khái niệm, ý tưởng để giải quyết vấn đề đó. Tiếp theo, chúng ta đưa ra chứng minh cho khách hàng xem là ta có thể thực hiện được (proof of concept) – không nên thiên về kỹ thuật, nên hướng về phần nghiệp vụ nhiều hơn. Đây là bước quan trọng, bắt buộc khi phát triển theo Agile. Sau khi 2 bên đã đồng ý và ký kết hợp đồng xong, chúng ta sẽ bắt đầu đi vào quy trình phát triển phần mềm. Quy trình phát triển phần mềm trong Agile tương tự như khi phát triển lặp, nhưng không hoàn toàn là phát triển lặp.

Như đã trình bày ở trên thì Agile không tập trung vào các yêu cầu, tài liệu. Vậy làm sao chúng ta biết và nắm yêu cầu của khách hàng? Trong Agile có 1 khái niệm đó là Story.

image

Một dự án bao gồm rất nhiều story được xếp theo thứ tự mức độ ưu tiên. Khi phát triển phần mềm, chúng ta phải lấy theo thứ tự độ ưu tiên giảm dần.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
%d bloggers like this: