ฉันได้ลองการเขียนโปรแกรมคู่หลายครั้งรวมถึงในองค์กรที่ (สั้น ๆ ) คิดว่าการเปิดตัวเป็นกระบวนการบังคับสำหรับวิศวกรทุกคน (คุณสามารถเดาได้ว่าความคิดนั้นแพนออกมาดีแค่ไหน) ส่วนตัวฉันเกลียดมัน
เหตุผลที่ฉันแสดงรายการด้านล่างเป็นเพียงประสบการณ์ส่วนตัวของฉันและฉันไม่สามารถ 'วัด' ผลกระทบของพวกเขาในแง่ที่เป็นรูปธรรม แต่ที่นี่พวกเขาเหมือนกันทั้งหมด:
1 - การมี 'เนวิเกเตอร์' และ 'ไดรเวอร์' จะช่วยได้ก็ต่อเมื่ออดีตเป็นแกนนำและคนหลังจะฟัง
เราทุกคนได้พบกับนักพัฒนาที่มีความดื้อรั้นกระตือรือร้นเกี่ยวกับความกังวลในเชิงทฤษฎีหรือทางจิตวิทยาไม่สามารถ - ทางจิตวิทยา - เพื่อ 'ทิ้ง' งานเก่าเมื่อมีคนแนะนำปัญหาให้กับมัน และเราทุกคนรู้ดีว่าบุคคลนั้นขี้อายหรือขี้กลัวเกินไปที่จะหยิบยกข้อกังวลหรือเสนอแนะเรื่องมุม
เมื่อนักพัฒนาประเภทนี้จับคู่กันเนวิเกเตอร์จะมีบทบาทแฝงอย่างรวดเร็วและสิ่งที่คุณต้องจบลงคือการเขียนโปรแกรมเพียงอย่างเดียวพร้อมการตรวจสอบโค้ดอัตโนมัติ นี่คือการสูญเสียทรัพยากรที่ยิ่งใหญ่
2 - การจับคู่ช่วยป้องกันความคิดสร้างสรรค์
ขัดกับสิ่งที่เคยเป็นความรู้สึกเกี่ยวกับคุณค่าของ 'กลุ่มระดมความคิด' ที่ฉันทามติในวันนี้ก็คือว่าการทำงานความรู้ความคิดสร้างสรรค์ต้องมีความเป็นอิสระและความเป็นอิสระ เมื่อคุณทำงานคนเดียวคุณสามารถแฮ็คไอเดียที่บ้าคลั่งได้อย่างรวดเร็วเพื่อดูว่าเป็นไปได้จริงหรือไม่ คุณสามารถรวบรวมคอแข็งบางต้นแบบที่แปลกและถ้าคุณล้มเหลวก็ไม่ได้เรื่องเพราะไม่มีใครรู้ว่า
เปรียบเทียบกับการจับคู่: เมื่อฉันต้องการลองแนวคิดใหม่ฉันต้องโน้มน้าวให้คู่ของฉันพูดคุยกับพวกเขาผ่านการใช้งานทีละขั้นตอนและหวังว่าพวกเขาจะไม่ตัดสินฉันหากมันล้มเหลว สภาพแวดล้อมแบบนั้นเป็นพิษต่อการสร้างแนวคิดใหม่
3 - การออกแบบตัวหารร่วมที่ต่ำที่สุด
เมื่อทั้งคู่ไม่สามารถหมุนความคิดใหม่ ๆ ข้างต้นหรือเมื่อบุคคลไม่สามารถเห็นด้วยกับหลักการพื้นฐานบางประการของวิธีการออกแบบคุณสมบัติสิ่งที่ออกมาคือการออกแบบที่ยุ่งเหยิงที่พยายามประนีประนอมและทำให้ไม่มีใครพอใจ
หากคุณจับคู่นักพัฒนาที่สร้าง abstractions การเขียนโปรแกรมเชิงฟังก์ชั่นที่ยอดเยี่ยมคมกริบท้องฟ้าด้วยความรวดเร็วและสกปรกประสิทธิภาพประหลาดรหัสที่พวกเขาจะผลิตร่วมกันโดยทั่วไปจะไม่สง่างามมากหรือเร็วเป็นพิเศษ
4 - ขาดความอิสระและความโปร่งใสรุนแรง
ความโปร่งใสที่รุนแรงนั้นเป็นวลีที่ฉันได้ถอนมาจากการทะเลาะโต้เถียงที่มีชื่อเสียงในระดับปานกลาง (และค่อนข้างแย้ง) กับวิธีการแย่งชิงกัน มันอธิบายถึงวิธีที่บางองค์กรให้ความช่วยเหลือแก่นักพัฒนาและปฏิบัติต่อพวกเขาด้วยความสงสัยที่สงวนไว้สำหรับคนงานที่ไม่ใช่มืออาชีพ
สิ่งที่คุณคิดเกี่ยวกับ 'อันตราย' ในการทำให้งานของนักพัฒนาโปร่งใสอย่างสิ้นเชิง (และคุณอาจไม่เห็นด้วยว่ามันเป็นอันตรายจริง ๆ ) หลายคนให้ความสำคัญกับความเป็นอิสระและความสามารถในการทำงานคนเดียว มันเป็นความต้องการทางด้านจิตใจที่สำคัญและการบังคับให้นักพัฒนาจับคู่ (อย่างที่ฉันเคยเห็นเกิดขึ้นในร้านค้าอย่างน้อยหนึ่งแห่ง) จะทำให้พนักงานผิดหวังอารมณ์เสียและแปลกแยก
5 - นักพัฒนาบางคนไม่เล่นเป็นคู่
บางคนไม่สามารถหรือไม่สามารถปฏิบัติตนได้อย่างเหมาะสมในสภาพแวดล้อมที่จับคู่กัน พวกเขาอาจมีสุขอนามัยที่ไม่ดีนิสัยการทำงานที่ไม่ดีบุคลิกภาพที่มีการเสียดสีลักษณะ 'ดัง' และ 'รุนแรง' หรือโฮสต์ทั้งหมดของคุณลักษณะอื่น ๆ ที่ทำให้พวกเขาแต่ละคนทำงานดี แต่โปรแกรมเมอร์คู่ที่ยากจน
คุณสามารถแก้ปัญหานี้ได้หรือไม่ ไม่ได้จริงๆ การเปลี่ยนพฤติกรรมส่วนตัวเป็นเรื่องยาก ร้านเขียนโปรแกรมคู่ต้องระวังอย่างมากเกี่ยวกับการจ้างงานและการลงทุนเป็นจำนวนมากเพื่อดูว่ามีคนทำงานอย่างไรและพวกเขาจะสามารถทำงานได้ดีกับเพื่อนร่วมงานของพวกเขาหรือไม่ อย่างไรก็ตามการแบ่งแยกบุคลิกภาพให้ยากขึ้นหมายความว่าการจ้างงานจะใช้เวลานานขึ้นเว้นแต่คุณจะคลายมาตรฐานด้านทักษะและความเชี่ยวชาญ