รู้จักกับ Pair programming
22 Aug 2023 05:40
Written by: Yosapol Jitrak
Pair Programming คือการเขียนโปรแกรมเป็นคู่ เป็นส่วนหนึ่งใน Extreme programming (XP) แล้วไอ้ XP นี้มันคืออะไร มันคือวิธีการพัฒนา Software รูปแบบหนึ่ง ที่ช่วยเพิ่มคุณภาพของ Software ตอบสนอง Requirement change ของลูกค้า มีรอบในการพัฒนาที่สั้น และมีความถี่ในการ Release ที่สูง ฟังแล้วดูคุ้น ๆ ไหมครับ Agile นั้นเอง
Credit image: Wikipedia Extreme programming
หลายคนมักคิดว่าว่าการทำ Pair programming เป็นสิ่งที่ดูทำให้ทำงานได้ช้าลง เพราะต้องเอา 2 คนมาทำงานเดียวกัน แต่จริง ๆ แล้วมันไม่ได้ช้ากว่าคนเดียวมากขนาดนั้นครับ มันมีข้อดีข้อเสียของมัน แต่เดี๋ยวจะลองเราประสบการณ์ตัวเองอีกที ตอนนี้ไปลองดูวิธีการทำ Pair programming กันก่อนครับ
ไม่ยากเลยครับ แค่คนนึงจับคีบอร์ด อีกคนนึงจับเมาส์ (WFH อาจจะไม่ได้จับเมาส์ แต่ใช้ Live share หรือดูผ่าน Share screen ก็ได้) โดยปกติจะให้คนที่ Senior กว่าเป็นคนจับเมาส์ และให้คนที่ Junior กว่า เป็นคนจับคีบอร์ด โดยที่คนที่ Junior กว่า จะเป็นคนที่เขียน Code จริง ๆ และคนที่ Senior จะเป็นคนที่คอย Review Code แนะนำวิธีการเขียนให้กับคนที่ Junior กว่า แต่ก็ไม่จำเป็นต้องเป็นแบบนี้เสมอไปนะครับ บางครั้งอาจจะผลัดกันก็ได้ครับ
ตอนผมทำงานบริษัทเอกชนแห่งนึง มีการทำ Pair rotate คือจะหมุน Developer สลับคู่กันทุกอาทิตย์ เพื่อที่จะได้แชร์ Knowledge กันทั้งทีม บางคนอาจจะเก่ง Frontend บางคนอาจจะเก่ง Backend บางคนอาจจะเก่ง Infra ก็วนกันไป
ผมทำการ Pair Programming มาหลายปีแล้ว ทั้งเคย Full-time และไม่ Full-time pair ข้อดีของการทำ Pair มีให้เห็นอยู่มากมาย โดยส่วนตัวเน้นเรื่อง Bus factor สามารถลาพักร้อน ลาป่วย ลาตายได้อย่างสบายใจ เคยไหมครับลาป่วย ลากิจ แต่สุดท้ายโดนตามงาน เพราะเราทำได้แค่คนเดียวของทั้งทีม หรือของทั้งบริษัท แต่ถ้าเราทำ Pair กัน ก็จะมีคนที่รู้จักเนื้องานเรา และสามารถพอทำต่อได้บ้าง
ข้อดีอย่างอื่นอีกเพียบ
ใช่ว่าจะมีแต่ข้อดี ทุกอย่างล้วนมีข้อดีข้อเสีย ต้อง Trade-off ด้วย
จบไปแล้วครับ กับบทความเรื่อง Pair programming หวังว่าจะนำไปลองใช้กันดูครับ