XP – Extreme Programming

XP (Extreme Programming) là một phương pháp phát triển phần mềm hướng đến việc nâng cao chất lượng phần mềm và khả năng đáp ứng với thay đổi yêu cầu người dùng. XP là một trong các phương pháp thuộc họ Agile, nó chủ trương đưa ra các bản phát hành thường xuyên thông qua các chu trình phát triển ngắn. Việc này là để nâng cao năng suất và tạo ra những thời điểm để tiếp nhận những yêu cầu người dùng mới. Tác giả của XP là Ken Beck, một kỹ sư phần mềm người Mỹ.

XP tập trung vào việc áp dụng tốt nhất những kỹ thuật lập trình, giao tiếp rõ ràng và làm việc nhóm để tạo những sản phẩm tốt nhất. Một số thành phần và đặc điểm của XP: Lập trình cặp, Rà soát mã nguồn, Kiểm thử đơn vị, Giữ mã nguồn đơn giản và rõ ràng, Sẵn sàng đón nhận các thay đổi, Trao đổi thường xuyên với khách hàng, Trao đổi thường xuyên giữa các nhà phát triển.

Tên gọi Extreme Programming (Lập trình Cực đoan) xuất phát từ ý tưởng phương pháp này đưa các hoạt động lập trình hữu ích lên một mức cao nhất có thể. Ví dụ, việc rà soát mã nguồn là một hoạt động hữu ích, và trong XP thì việc này được diễn ra liên tục, chẳng hạn là thông qua Lập trình cặp.

Các hoạt động trong XP:

  • Viết mã: XP coi mã nguồn là thành phần quan trọng nhất trong quá trình phát triển phần mềm. Không có mã nguồn thì không có sản phẩm chạy được.
  • Kiểm thử: XP nói về việc kiểm thử như sau: “Nếu một vài bài kiểm thử có thể loại bỏ được một ít lỗi thì nhiều bài kiểm thử sẽ loại bỏ được nhiều lỗi”. Do vậy XP khuyến khích việc tiến hành kiểm thử ở tất cả mọi mức độ. Từ Kiểm thử đơn vị cho đến Kiểm thử chấp nhận, Kiểm thử tích hợp,…
  • Lắng nghe: Các lập trình viên cần lắng nghe khách hàng của họ để biết được họ thực sự cần gì.
  • Thiết kế: Cố gắng thiết kế một kiến trúc cho phép loại bỏ phần lớn sự phụ thuộc trong hệ thống, cho phép thay đổi và mở rộng dễ dàng.

Các giá trị trong XP:

  • Giao tiếp: XP chủ trương tạo ra một cách hiểu chung giữa các nhà phát triển về hệ thống mà họ đang xây dựng, tránh các hiểu lầm. XP khuyến khích thiết kế đơn giản, cộng tác giữa người dùng và lập trình viên, giao tiếp thường xuyên và phản hồi liên tục.
  • Đơn giản: XP khuyến khích việc bắt đầu với một giải pháp đơn giản nhất. Các tính năng khác được thêm vào khi cần thiết.
  • Phản hồi: XP khuyến khích các phản hồi đa chiều:
    • Phản hồi từ hệ thống: Thông qua việc kiển thử.
    • Phản hồi từ khách hàng: Thông qua kiểm thử chấp nhận được viết bởi khách hàng và kiểm thử viên.
    • Phản hồi từ nhóm: Nhóm ước tính mỗi khi có các hạng mục mới mà khách hàng muốn đưa vào.
  • Tinh thần dũng cảm: Tinh thần này được khuyến khích thông qua các hoạt động khác nhau.
  • Tôn trọng: Tôn trọng người khác và tôn trọng chính mình.

 

Xem thêm: Giới thiệu eXtreme Programming