title: "플라네타리움 엔지니어가 함께 일하는 법: 짝(Pair) 프로그래밍"
description: "팟캐스트 애자일 키워드의 에피소드 중 짝 프로그래밍 편을 듣고 정리한 내용입니다."
ogImage: "<https://i.ibb.co/9WPZtgQ/OG-Image-Pair-Programming.jpg>"

나인코퍼레이션의 테크 리크루터 황혜경입니다.

직접 소싱을 통해서 외부 분들과도 커피챗을 진행하지만, 사무실에서 자주 뵙지 못하는 구성원 분들과도 꾸준히 커피챗을 진행하고 있는데요. 얼마 전 블록체인 SDK팀의 홍님과 커피챗 일정 조율을 위해 캘린더를 살펴보던 중 업무 중 흥미로운 부분이 있어, 이렇게 포스트를 작성하게 되었습니다. 업무의 많은 시간이 짝 프로그래밍으로 되어 있었어요. 짝 프로그래밍이 뭔지에 대해 궁금증이 생겼습니다.

스크린샷 2023-04-06 오후 6.09.06.png

홍님과 함께 짝 프로그래밍하는 조나단님께 짝 프로그래밍을 왜 하는지, 어떻게 하는지 물어봤어요.

짝 프로그래밍을 하면 뭐가 좋아요? 그리고 어떻게 하시나요?

지금 개발하고 있는 것들이 다른 곳에서 만든 적이 없는 것들이다 보니, 명확하지 않은 상황에서 만들어가야 하는 부분이 큽니다. 이럴 때 혼자 업무를 하다 보면, 많은 고민 시간이 필요한데요. 짝 프로그래밍으로 진행하면, 우선순위를 정하고, 서로의 지식을 나누면서 조금 더 빠르게 업무의 방향을 정하고 일을 진행할 수 있어 도움이 돼요. 홍님과 짝 프로그래밍을 할 땐 조금 수정해서 드라이버와 내비게이터의 역할 구분을 약하게 진행을 해요.

좀더 구체적으로 알고 싶어 팟캐스트 애자일 키워드의 에피소드 5: 짝 프로그래밍 편을 듣고 정리를 해봤습니다.

짝 프로그래밍(Pair Programming)이란?

짝 프로그래밍이란 애자일(Agile)의 대표적인 실천 방법 중 하나로, 두 명의 개발자가 한 컴퓨터 앞에 앉아 함께 작업하는 방식입니다. 이때 한 명이 키보드를 잡고 코드를 작성하는 드라이버(driver) 역할을 하고, 다른 한 명이 코드를 검토하며 피드백을 주는 내비게이터(navigator) 역할을 합니다. 두 사람이 서로 역할을 바꿔가며 작업을 진행하며, 이 과정에서 빈번한 키보드 교환을 통해 서로의 생각과 의견을 공유합니다.

짝 프로그래밍의 효과

1. 오류를 감소하고, 생산성이 향상됩니다

짝 프로그래밍을 통해 결함의 개수가 약 50% 정도 줄어들며, 이는 생산성이 향상되는 것을 의미합니다. 개발 기간이 늘어나고 에너지가 더 들어가긴 하지만, 두 사람이 함께 작업하면서 서로의 실수를 발견하고 수정할 수 있습니다. 또한, 통합 작업 시간이 줄어들어 전체적인 작업 시간이 감소할 수 있습니다.

2. 팀워크 강화됩니다

함께 일한다고 해서 협업 역량이 높아지는 건 아닙니다. 긴밀한 협업 환경이 중요한데요. 짝 프로그래밍을 통해 개발자들은 서로의 스타일을 이해하고, 긴밀하게 협업의 기회를 만들어 협력 능력을 향상할 수 있습니다. 이를 통해 팀 내 신뢰가 쌓이며, 팀워크가 강화됩니다.

3. 팀의 문제가 드러납니다

짝 프로그래밍을 통해 팀 내 숨겨진 문제가 드러나게 되며, 이를 해결할 기회를 얻을 수 있습니다. 이러한 문제들은 초기에 발견하고 해결하면, 후에 큰 비용을 들이지 않고 프로젝트를 완성할 수 있습니다. 하지만, 문제를 해결할 의지나 역량이 부족하다면 이러한 방식은 어려움을 겪을 수 있습니다.