Pair Programming คือวิธีการเขียนโปรแกรมรูปแบบหนึ่งโดยให้โปรแกรมเมอร์ 2 คน
ช่วยกันทำงานบนเครื่องคอมพิวเตอร์เครื่องเดียว โดยคนหนึ่งจะทำหน้าที่เป็นผู้เขียน
ส่วนอีกคนจะเป็นผู้คอยตรวจสอบ
ในครั้งแรกที่ผมได้อ่านบทความเกี่ยวกับวิธีการทำงานแบบนี้ ซึ่งอยู่ใน Extreme Programming Method
ในใจผมแย้งขึ้นมาทันทีว่า เอ... มันจะมีประสิทธิภาพดีกว่าแยกกันเขียนหรือ?
และในบทความเดียวกันนั้นก็ได้ตอบคำถามผมในทันทีว่า
การที่ให้ 2 คนช่วยกันทำงานนั้น ทำให้หาบัคได้เร็วขึ้น งานที่ออกมาดีขึ้น
ทำให้ประสิทธิภาพโดยรวมสูงกว่าการแยกโปรแกรมเมอร์ 2 คนออกจากกัน
ทั้งนี้การใช้ Pair Programming ไม่ได้จำกัดว่าโปรแกรมเมอร์ 1 คนจะต้องเป็นคนเขียนไปตลอด
ในงานหนึ่ง ๆ เราอาจจะรับหน้าที่ในการเขียน แต่อีกงานหนึ่ง เราต้องเป็นผู้ตรวจสอบบ้างก็ได้
และการจับคู่กันทำงานก็ไม่ควรจะจับกันแต่คู่เดิม ๆ ควรเปลี่ยนคู่บ้างเพือเพิ่มประสบการณ์หรือเทคนิคใหม่ ๆ
จากเพื่อนร่วมงานคนอื่น และยังช่วยให้มีผู้เข้าใจ code ในแต่ละโครงการมากขึ้นอีกด้วย
นอกจากประสิทธิภาพในการทำงานที่สูงขึ้นแล้ว เรายังได้ประโยชน์เพิ่มเติมจาก Pair Programming อีกหนึ่งอย่างคือ
ในงานเขียนโปรแกรมใด ๆ จะต้องมีผู้เข้าใจใน code นั้นอย่างลึกซึ้งอย่างน้อย 2 คน ทำให้เรามีตัวตายตัวแทนในการทำงาน
สมมติว่าวันหนึ่งผมติดธุระจนจำเป็นต้องลา โมดูลต่าง ๆ ที่ผมมีส่วนร่วมไว้ ก็จะมีอย่างน้อยอีก 1 คนเสมอ
ที่สามารถแก้ไขปรับปรุง code ได้อย่างทันท่วงที ไม่จำเป็นต้องรอผมกลับมาทำงานได้อีกครั้ง
นอกจากนี้การลาออกของโปรแกรมเมอร์ก็จะไม่ได้ส่งผลเสียหายมากนักกับ code ในส่วนที่โปรแกรมเมอร์ท่านนั้นรับผิดชอบอยู่
ก็มีตัวตายตัวแทนแล้วนี่
ผมชอบบทความ For Writing Software, a Buddy System ที่เขียนโดย Jim Remsik มาก
เพราะเป็นประสบการณ์ตรงของผู้เขียนซึ่งทำงานในบริษัทที่ใช้ Pair Programming เป็นหลัก
ผมขอสรุปเนื้อหามาดังนี้ครับ
และระหว่างการเขียนได้ค้นหาข้อมูลอ้างอิงเพิ่มเติม ก็ได้เจอบทความของคุณอภิศิลป์ ตรุงกานนท์
(ซึ่งผม follow twitter ของคุณอภิศิลป์อยู่ด้วยโดยบังเอิญครับ) เกี่ยวกับ Pair Programming
ซึ่งคุณอภิศิลป์ก็มีประสบการณ์การใช้ Pair Programming (ร่วมกับเพื่อนของผม กรกฎ เชาวะวณิช -- นี่ก็เพิ่งรู้โดยบังเอิญเหมือนกัน)
จนสามารถ Commit code เข้าไปที่ MySQL ได้เลยทีเดียว
แม้ว่าจะเขียนไว้เมื่อเกือบ 2 ปีที่แล้ว แต่ผมคิดว่าเนื้อหาไม่ล้าหลังเลยครับ ลองอ่านดูได้ที่นี่ครับ Pair Programming จับคู่ซิ่งเขียนโปรแกรม
สำหรับการนำมาใช้งานจริงในประเทศไทยอาจจะต้องมีการปรับปรุงวิธีบ้าง หากผมคิดออกจะนำมาเสนอเป็นตอนต่อไปครับ
References
Comments
ขอบคุณครับ สำหรับเนื้อหา
ขอบคุณครับ สำหรับเนื้อหา น่าสนใจทีเดียว ไว้จะหาโอกาสไปลองดูบ้าง