Lập trình cực độ (Extreme Programming)

Một phần của tài liệu Bài giảng quản lý dự án phần mềm công nghệ thông tin (nghề công nghệ thông tin) (Trang 35 - 36)

3. Phương pháp giảng dạy môn quản lý dự án CNTT

3.2.5.Lập trình cực độ (Extreme Programming)

Qui trình này mới xuất hiện gần đây. Nó nhấn mạnh việc tổ chức nhóm nhỏ, nhanh; xây dựng hệ thống được tiếp cận theo lối làm việc cộng tác. Lập trình cực độ có các đặc trưng sau:

- Nhóm sẽ họp trực diện, ngắn gọn mỗi ngày thay vì mỗi tuần.

- Lập trình đôi, nghĩa là 2 người sẽ cùng lập trình trên một máy tính chứ không phải một cá nhân đơn độc.

- Mã nguồn sẽ được giao nộp theo cá nhân, nhưng là tài sản của tòan nhóm nghĩa là mã nguồn được sở hữu và phát triển bởi cả nhóm.

- Dùng “câu chuyện người dùng ‟ (user stories) để mô tả yêu cầu ở dạng phi hình thức. - Rất nhấn mạnh kiểm thử, trong đó kế hoạch kiểm thử được xây dựng ở giai đoạn đầu phát triển chứ không phải ở cuối.

Lập trình cực độ là qui trình lặp. Nó được lặp trong kế hoạch phát hành (release) tổng thể. Ở mỗi vòng lặp, nhóm sẽ review các câu chuyện của người dùng và, cùng với người dùng

30

quyết định câu chuyện nào sẽ được phát triển ở vòng lặp kế. Người dùng có hợp tác chặt chẻ trong qui trình phát triển: tinh chỉnh các câu chuyện,chuẩn bị, phê duyệt các kế hoạch kiểm thử, và review, kiểm thử, phê duyệt các kết quả. Mỗi vòng lặp, có thể ngắn vài tuần, sẽ phải giao những bản phát hành nhỏ để người dùng có thể cài đặt dùng ngay.

Lập trình cực độ có vẻ như gồm những qui trình về sự cộng tác giữa nhóm và khách hàng, hai bên hợp tác chặt chẻ và kết hợp năng lực cao độ để tạo ra kết quả cuối cùng mà không bị giới hạn bởi một khái niệm qui ước nào về phát triển ứng dụng.

Tóm lại, lập trình cực độ gồm lên kế hoạch chiến lược phát hành tổng thể, lên kế hoạch mỗi vòng lặp, và trong mỗi vòng lặp, các giai đoạn quen thuộc như xác định yêu cầu, rút ra từ câu chuyện người dùng; thiết kế rút ra từ các kế hoạch kiểm thử; phát triển rút ra từ lập trình đôi; và cài đặt rút ra từ các kiểm thử của người dùng. Đó là các phần cốt lõi của qui trình.

Câu hỏi: sự khác biệt giữa các qui trình phát triển lặp, prototype và xoắn ốc, lập trình cực độ?

Một phần của tài liệu Bài giảng quản lý dự án phần mềm công nghệ thông tin (nghề công nghệ thông tin) (Trang 35 - 36)