1. 6 Điều kiện để áp dụng
2.3.1. Truyền thống với khách hàng
Khi mọi ngƣời xem xét các yêu cầu đƣợc thu thập bằng các phƣơng pháp lập trình cực hạn XP, họ thƣờng không thấy đƣợc tầm quan trọng của chu trình phản hồi. Thƣờng thì quá trình yêu cầu đƣợc thấy khi các nhà phân tích cung cấp các yêu cầu, và các nhà phát triển nhận yêu cầu và thực hiện các chức năng. Cuối cùng, một ngƣời kiểm tra để xem các nhà phát triển đã thực hiện đƣợc những gì họ đƣợc yêu cầu chƣa. Trên một dự án áp dụng XP, sự gần gũi chặt chẽ giữa khách hàng và phát triển cho phép các khách hàng theo dõi tiến độ thƣờng
xuyên hơn, cho phép họ phát hiện những hiểu lầm sớm hơn và nhanh hơn. Ngoài ra một hệ thống phát triển một phần cũng có thể giúp khách hàng hiểu có sự khác biệt giữa những gì của yêu cầu và những gì cần thiết - và thƣờng là không đƣợc thể hiện rõ ràng ra cho đến khi có một vài phần mềm làm việc.
Việc xây dựng tích hợp thông xuyên cho phép một khách hàng có thể lấy về và sử dụng thử. Mặc dù điều này không hoàn toàn nhƣ là ngay lập tức nhƣ việc cùng làm ở một địa điểm, nhƣng nó vẫn cho phép các khách hàng để sửa bất kỳ sự hiểu lầm nào một cách nhanh chóng, và cũng giúp họ hiểu biết sâu sắc hơn về các yêu cầu của mình.
Để làm công việc này, điều quan trọng là cần phân loại các vấn đề môi trƣờng để các đội và khách hàng có cùng bản môi trƣờng. Không có gì tệ hơn việc khách hàng hay đội khác lấy chƣơng trình xuống từ kho chứa mã nguồn và xây dựng trên hệ thống của họ, họ phát hiện vấn đề, và các đội còn lại lại không có khả năng lặp lại các vấn đề mà khách hàng hay đội khách gặp phải do các vấn đề môi trƣờng cấu hình. Cần đảm bảo chắc chắn rằng vấn đề môi trƣờng đƣợc loại ra sớm nhất có thể, và đảm bảo một ngƣời nào đó xung quanh để sửa chữa bất kỳ vấn đề môi trƣờng nếu chúng xuất hiện. Vấn đề môi trƣờng đặc biệt nghiêm trọng khi mà yêu cầu phát triển phần mềm cần phải đáp ứng đƣợc trên nhiều hệ thống khác nhau ví dụ nhƣ trên các hệ điều hành khác nhau, trên các trình duyệt (browser) khác nhau...
Cần đảm bảo rằng mọi ngƣời có thể nhìn thấy đƣợc những gì đƣợc thƣờng xuyên xây dựng, thậm chí nếu nó chỉ là một phần chức năng. Càng sớm thấy đƣợc các phần của công việc, chúng ta càng sớm phát hiện ra bất kỳ thiếu sót nào trong quá trình trao đổi. Thƣờng mọi ngƣời thích chờ đợi cho đến khi một cái gì đó là hoàn thành trƣớc khi thể hiện nó cho ngƣời khác xem. Tuy nhiên, trong tình huống này, nó không đáng để chờ đợi, chúng ta nên tìm cách thể hiện cái mà chúng ta định làm và kết quả chúng ta làm đƣợc để khách hàng, các đội khác cũng nhƣ mọi ngƣời trong đội có thể nắm bắt đƣợc càng tốt.
Phƣơng pháp lập trình cực hạn luôn khuyến khích nhóm phát triển có một bản thử nghiệm cho khách hàng vào cuối mỗi lần lặp. Chúng tôi đã sử dụng cách thức này khá rộng rãi và hiện nay, chúng tôi gọi nó là một bản giới thiệu. Với đội ở xa chúng tôi muốn làm một trình diễn từ xa, nơi mà các nhà phát triển ở đó cho thấy các tính năng mới trong phần mềm với sự trợ giúp của phần mềm máy tính từ xa. Để nhóm nghiên cứu ở xa làm điều này là một ví dụ khác của việc
mọi cơ hội để xây dựng mối liên kết giữa các đội ở cùng địa điểm và ở xa, giữa các nhà phát triển và khách hàng.