Nhóm của tôi đã thực hiện lập trình cặp kể từ khi thành lập, rất lâu trước khi tôi làm việc ở đó, như là một phần của cửa hàng kiểu "lập trình cực đoan". Lập trình cặp là trạng thái mặc định ; mọi người chỉ thực sự đi đơn lẻ nếu có một số lẻ, hoặc đôi khi để điều tra, đặc biệt là những người sẽ liên quan đến việc gây rối với các thiết bị thù địch và cố gắng làm cho nó hoạt động.
"Thiếu niên / cao cấp" không phải là cách duy nhất để đi. "Trung cấp / thiếu niên" là hữu ích; nó giúp anh chàng trình độ trung cấp tổng hợp kiến thức anh ta có được bằng cách buộc anh ta truyền đạt nó cho người khác. "Trung cấp / Trung cấp" thách thức hai người làm việc cùng nhau để chia sẻ kiến thức, giao tiếp và làm việc như một phần của một nhóm. Và ngay cả khi bạn có hai người thực sự cao cấp, rất có thể họ có các lĩnh vực chuyên môn khác nhau và có thể đưa ra các phương pháp khác nhau. Các khía cạnh chia sẻ kiến thức không kết thúc một khi mơ hồ "tăng tốc" cho một dự án. Thay vào đó, lập trình cặp là mẫu mực của một tổ chức học tập . Các kỹ thuật mới và thực hành tốt nhất lan truyền nhanh chóng.
Lập trình cặp cũng giúp duy trì chất lượng của mã (ít lỗi hơn) và sự tỉnh táo của mã (nó không chỉ làm những gì nó dự định, mà là làm những gì nó nên ... lý tưởng mà không phải đi xuống một con thỏ nhiều tuần- lỗ làm sai, hoặc hai điều đúng khác nhau sẽ xung đột dữ dội). Nó giúp các lập trình viên duy trì sự tập trung của họ: ở trung tâm Thung lũng Silicon, ngôi nhà của tuần làm việc 80 giờ, chúng tôi có thể làm việc chỉ 40 giờ một tuần vì chúng tôi đang thực hiện mã hóa mạnh mẽ trong tám giờ mỗi ngày, chuyển đổi mọi thứ tắt với nhau. (Ngoài ra, nếu bạn mất nhiều thời gian hơn để lập trình cặp, có lẽ bạn sẽ bỏ đi. Hoặc ít nhất là kiệt sức.) Điều này rất tốt cho cân bằng công việc / cuộc sống và nó cũng giúp tổ chức của bạn khi điều quan trọng là phải quay vòng nhanh (đặc biệt là quay vòng có độ trễ thấp).
Đó không phải là tất cả, hoàn toàn, 100% đào và kem; Tôi thấy rằng lập trình cặp đôi khi là một trở ngại đối với việc tôi áp dụng các quy trình não trực quan rất hữu ích cho một số vấn đề nhất định. Gần đây nhất, trong một nhiệm vụ rò rỉ bộ nhớ, tôi đã dành thời gian cả có và không có cặp; không có ai, tôi cảm thấy tự do hơn khi loay hoay và thử các thí nghiệm mà không thực sự biết chính xác làm thế nào để giải thích những gì tôi đang làm bất cứ lúc nào. Ngoài ra còn có một số lợi thế khi làm việc đơn lẻ, có thể đi tiếp tuyến và thực hiện các phép tái cấu trúc hoang dã nhất định (có giá trị trong phương pháp XP) một cách bất chợt.
Nhưng tất cả đã nói, lợi ích vượt xa chi phí và việc ghép đôi đã mang lại kết quả tốt cho chúng tôi: từ giai đoạn khởi nghiệp cho đến khi mua lại bởi một công ty lớn hơn và sự hội nhập sau đó của chúng tôi. (Nói về điều đó, lập trình cặp đã hỗ trợ chúng tôi duy trì sự liên tục của văn hóa thông qua việc mở rộng và mặc dù có một ít doanh thu).
(Chúng tôi phát triển một thiết bị phần mềm trong Perl, ~ $ 4.000 - $ 40.000 giá niêm yết.)