2016년 9월 6일 화요일

페어 프로그래밍의 효과와 한계 극복 방안

애자일이 도입되면서 페어 프로그래밍의 장점이 부각되기 시작했다. 한 명이 아닌 두 명이 함께 코딩을 하기 때문에 코딩의 질이 엄청 높아질 것이다라는 기대와 함께 프로그래머 간의 이견과 두 배 이상 발생하는 비용이 문제라는 우려가 동시에 존재한다. 이번 회에서는 페어 프로그래밍을 효과적으로 활용하는 방법과 한계를 어떻게 극복해야 하는지에 대해 웹케시 피트의 박해윤 박사를 만나 자세한 사항을 들어본다.


Q: 본격적인 이야기 전에 페어 프로그래밍을 해야 하는 이유에 대해 설명을 부탁 드립니다.
페어 프로그래밍은 말 그대로 두 사람이 하나의 컴퓨터로 코딩을 합니다. 물론, 키보드와 모니터도 하나 밖에 없습니다. 키보드를 잡은 사람을 드라이버, 옆에서 보조하는 사람을 네비게이터라고 부릅니다. 랠리 경주의 선수에서 따온 말로, 서로 협업을 반드시 해야 하는 프로그래밍 기법입니다(그림1). 두 사람의 역할은 표1과 같습니다.

<그림1> 페어 프로그래밍

페어 프로그래밍은 많은 장점이 있다고 알려져 있지만 개발자 입장에서는 매우 귀찮은 것이 사실입니다. 대부분의 개발자들이 혼자서 편하게 코딩 하는 것을 선호하기 때문이지요. 그래서, 페어 프로그래밍을 적용할 때는 개발자와 많은 대화가 필요합니다. 이론상으로, 페어 프로그래밍은 개발할 때 집중력이 향상되고 결함을 감소시킨다고 합니다. 두 명이 동시에 하나만 바라보면서 개발하면 아무래도 집중력이 높아지고 그만큼 결함도 잘 찾아내겠지요. 여기에, 다른 조의 개발자들과 코드 리뷰를 하게 되면 소스 코드의 품질은 그만큼 더 높아집니다. 또 하나의 장점은 개발자의 비즈니스 이해도가 현저히 높아진다고 알려져 있습니다. 두 사람이 상의하면서 진행하기 때문에 비즈니스를 분석하는 것이 더 빨라지고, 혹시라도 한 사람이 퇴직을 하더라도 나머지 한 사람이 있기 때문에 비즈니스에 대한 공백은 없게 됩니다.


더보기    

댓글 없음 :

댓글 쓰기