본문 바로가기

개발일지/TIL

[ 230616 ] 내가 느낀 페어 프로그래밍 관하여

알고리즘 문제 페어 프로그래밍으로 풀면서...

내가 그동안 겪었던 페어 프로그래밍은 문제를 같이 논의하며 풀어나가는 것이었다. 그 과정에서 서로 배우면서 성장한다는 느낌을 많이 받았다. 그런데 이번 2주차 알고리즘 문제 페어 프로그래밍을 하면서 시간 대비 우리 팀원 모두의 성장에 도움이 되지 않는다는 느낌을 받았다. 각자의 경험치 차이에서 발생하는 현상이었다. 그래서 어떻게 하면 모두에게 도움이 될 수 있을까 고민도 해보고 주변 5년차 개발자 분에게도 조언을 구했다.

조언을 얻고 나서

페어 프로그래밍을 할 때 긴 시간을 가진다고 해서 효율이 있는 것은 아니다. 그래서 때론 각 문제나 이슈에 대해 시간을 정해서 드라이버가 해결해보고 안 될 경우 네비게이터가 답을 제공해야 한다. 네비게이터가 제공한 코드를 보고 이해하는 과정에서 드라이버의 경험치가 쌓이는 것이다. 또한 네비게이터도 빠르게 다음 문제나 이슈로 넘어갈 수 있는 것이다. 이런 조언을 얻고 우리 팀원 분들에게 현재 하고 있는 알고리즘 페어 프로그래밍 방식을 바꿀 것을 제안했다.

 

[ 변경 전 ]
네비게이터 가이드 -> 드라이버 코드 작성 -> While(True) { 네비게이터 힌트 -> 드라이버 코드 작성 }

[ 변경 후 ]
네비게이터 가이드 -> 드라이버 해결 노력 [10분] -> 네비게이터 정답 제공 및 논의

이후 한 일

오늘은 8문제를 이미 풀었기 때문에 내일부터 조금 더 나은 방식이 있는지 논의 후 적용을 해보기로 했다. 내일부터 네비게이터로써 정답을 제공해주기 위해 준비된 문제들을 먼저 풀었다. 먼저 풀면서 문제가 될 수 있는 것들이나 논의해볼만 한 것들을 체크했다.