요즘IT
위시켓
새로 나온
인기요즘 작가들컬렉션
물어봐
새로 나온
인기
요즘 작가들
컬렉션
물어봐
개발
AI
IT서비스
기획
디자인
비즈니스
프로덕트
커리어
트렌드
스타트업
서비스 전체보기
위시켓요즘IT
고객 문의
02-6925-4867
10:00-18:00주말·공휴일 제외
[email protected]
요즘IT
요즘IT 소개작가 지원
기타 문의
콘텐츠 제안하기광고 상품 보기
요즘IT 슬랙봇크롬 확장 프로그램
이용약관
개인정보 처리방침
청소년보호정책
㈜위시켓
대표이사 : 박우범
서울특별시 강남구 테헤란로 211 3층 ㈜위시켓
사업자등록번호 : 209-81-57303
통신판매업신고 : 제2018-서울강남-02337 호
직업정보제공사업 신고번호 : J1200020180019
제호 : 요즘IT
발행인 : 박우범
편집인 : 노희선
청소년보호책임자 : 박우범
인터넷신문등록번호 : 서울,아54129
등록일 : 2022년 01월 23일
발행일 : 2021년 01월 10일
© 2013 Wishket Corp.
로그인
요즘IT 소개
콘텐츠 제안하기
광고 상품 보기
기획

대기업 실전 애자일 1장 #1-2 페어 프로그래밍

휴벗
6분
2021.05.13.
3.0K

#1-2 페어 프로그래밍

 

* 페어 프로그래밍 준비 

유지보수 시작 후 3개월 정도가 지나자 시스템은 점차 안정화되어 갔다. 자연스레 필자의 야근 시간도 점점 줄었다. 고생할 당시는 매우 힘들었으나, 지금 생각해보면 그 3개월은 꽤나 값진 경험이었다. 

 

당시 나는 그 노오력을 통해 ‘관리자의 신뢰’를 얻었던 것 같다. 경험과 능력이 부족함에도 많은 일을 묵묵히 해내는 것을 보며,  맡은 일을 끝까지 책임지는 사람이라는 인상을 주었다.  그리고 고객들 또한 마찬가지였다. 어느 시점부터인가, 고객들은 문제가 발생하면 나를 찾았고, 나를 통해 그 문제가 해결이 될 수 있다고 믿었다. (SI시스템 운영 환경에서는 고객과 가까운 위치에서 일하는 경우가 빈번하다.)   

 

때로는 좀 엉뚱한 이야기를 하더라도, 반드시 무슨 이유가 있을 것이라 생각해줬고, 필자의 이야기를 긍정적으로 들어주었다. 이러한 그들의 태도는 나에게 커다란 자신감을 주었다. 조금씩 스스로 무언가를 시도할 수 있는 안전함의 범위가 늘어나기 시작했다. 

 

이즈음, 필자는 선배 한 명과 함께 코딩에 대한 스터디를 시작했다. 그와 익스트림 프로그래밍(XP)이라는 것에 대해 공부했다. 마틴 파울러의 리팩터링 카탈로그를 보고 내가 다루는 코드를 개선하는 방법에 대해 고민했다.  필자는 테스트 주도 개발과 페어 프로그래밍에 대해 특히 관심이 있었다. 특히 페어 프로그래밍을 할 때 설명이 재미있었다.

 

당시 난 프로젝트 관리자와 쉽게 많은 이야기를 할 수 있었다. 그는 정말 열린 사람이었다. 필자의 이야기를 늘 귀담아들어주었다. 페어 프로그래밍에 대해서도 이야기했다. '내가 이런 걸 공부하고 있는데, 정말 신기한 방법이라고...' 기억을 되뇌어보면, 필자는 다음과 같은 방식으로 익스트림 프로그래밍을 그 관리자에게 소개했다. 

“피엠님, 이 책 한번 읽어보실래요? 미국에는 XP란게 있데요. 근데 이 내용 중에 재미있는 것들이 있어요. 예를 들면, 페어 프로그래밍이라고, 둘이서 한 키보드를 두고 같이 개발을 한데요. 피엠님이 들으면 기가 막힐 이야기죠. (웃음)”

 

“그래? 하하 그거 재밌네. 그러게, 관리자 입장에서 보면 두 사람의 공수로 한 명의 일을 한다고 할 수도 있겠다.”

 

“에이.. 바다 건너 얘긴데요 뭘. 미국은 여러 가지 상황이 좋으니까 우리와는 다르겠죠? 하지만, 프로젝트 상황이 좀 괜찮아지면...”

 

“음…? 아.. 그래! 신입 사원 들어오면 한번 해봐라. 그렇게 하면 그 친구가 일을 얼마나 잘하는 앤지 금방 알 수 있을 것 같은데?”

 

“와! 감사합니다. 그럼, 신입이 들어오면 제게 맡겨주세요. 한번 교육을 시켜 볼게요.”

프로젝트 관리자의 제안은 나를 정말 신나게 만들었다. 새로운 시도를 할 수 있게 된 것이다. 두 달 후 신입 3명을 받게 되었고, 프로젝트 관리자는 내게 이들의 멘토링을 맡겼다.  

 

 

* 페어 프로그래밍 실험#1 - 각자 개발하기 

 

나는 이들에게 다음과 같은 실험을 시작했다. 이들을 대상으로 전체 사흘 동안 두 가지의 실험을 했다. 결과를 보다 명확히 확인하기 위해 다음과 같이 실험군과 대조군을 나누어 실험했다. 


실험#1: 대조군 (이틀) 

- 기능 개발 건 3가지를 신입사원 3명(A, B, C)에게 주고, 솔로로 일하라고 하고 이틀간 관찰하였다.

 

실험#2: 대조군 + 실험군 (이틀)

- A는 솔로, 또 다른 1가지 기능을 주고, B, C는 2가지 기능을 페어 프로그래밍 방식으로 15분마다 키보드를 바꾸라고 했다. 그리고 이틀간 관찰하였다. 


[페어 프로그래밍]

실험#1을 하기 전에 A, B, C에게 개발해야 할 기능에 대해 설명하고, 이틀 동안 기능 완성을 필수적으로 해야 한다고 말했다. 그리고 이틀 동안은 너희를 믿고 기다려보겠다고 했다. 그리고 관찰을 시작했다. 

 

실험#1에서 관찰된 것은, 3명의 신입들의 코딩 능력이었다. A는 1개의 기능을 이틀에 걸쳐 완성시켰고, B는 열심히 했지만, 기능 완성에는 실패했다. 마지막 C의 행동이 흥미로웠는데, 이틀째부터 계속해서 PC 앞에서 졸고 있는 모습이 관찰되었다. 

 

좀 더 이야기를 듣고 싶어 C를 밖으로 데리고 나와 커피를 마셨다. 그는 큰 괴로움을 내게 토로했다. 그는 대학에서 코딩을 해본 적이 없어서, 코딩에 대해서는 전혀 모르고, 코딩은 정말 맞지 않아, 신입사원 입문교육받을 때도 매우 힘들었다고 이야기했다. 안타깝게도, 이후에도 이틀 내내 코딩에 집중하지 못하는 모습이 관찰되었다. 

 

 

* 페어 프로그래밍 실험#2  - 페어로 개발하기 

 

필자는 이 내용에 대해 꼼꼼히 기록한 뒤, 실험 #2를 시작했다. 

 

이전에 개발을 해낸 A 신입사원은 또 다른 1개의 기능을 이전과 비슷하게 이틀 정도에 거쳐 완성시켰다. 하지만, B와 C에게는 큰 변화가 일어났다. 먼저, B와 C가 페어 프로그래밍을 하면서 코딩에 대해 대화하는 것을 볼 수 있었고, C가 코딩을 하며 웃고 있는 것을 관찰할 수 있었다. 전날의 머리를 쥐어짜던 그의 모습은 찾아보기 어려웠다. B는 자신이 경험해본 것을 차근차근 C에게 설명하고 있었고, 이들은 서로 키보드를 번갈아가며 사용하며, 반나절 만에 기능 한 개를 완성해냈다. 또한 페어 프로그래밍을 통해 두 명의 인력이 계속해서 일을 하고 있다는 것을 모니터링할 수 있었다. 이전의 C가 보여주었던 집중력이 흐트러진 모습은 온데간데없었다. 

 

필자는 이 두 가지의 결과물을 조사해봤다. 두 코드 모두 그다지 품질이 높지 않았지만, C가 B와의 커뮤니케이션을 통해 온전히 그 소스 코드의 내용에 대해 이해하고 설명할 수 있다는 것이 가장 놀라운 변화였다. 그는 이틀 전까지만 해도 분명히 코딩에 대해 전혀 모르고 본인과 맞지 않다고 이야기할 정도로 부정적인 반응을 보였던 인력이었다. 이후, C는 다음과 같은 간략한 피드백을 필자에게 주었다. 

 

“페어 프로그래밍 덕분에, 짧은 시간에 B에게 정말 많은 것을 배웠어요" 

(현재 C는 훌륭한 개발자로 성장한 뒤 일본에서 주로 일하고 있다.)

 

필자는 관찰 일기 형태로 위의 내용을 작성하여 프로젝트 관리자에게 전달했다. 그는 이 결과에 대하여 매우 즐거워했다. 그에게 페어 프로그래밍은 더 이상 바다 건너 프랙티스도, 책 속의 이야기도, 공수를 낭비하는 것도 아니었다. 대신에, 개발자가 짧은 시간에 성장하고, 관리자 입장에서도 투명하게 사람을 관리할 수 있는 즐거운 도구였다. 이후에도 시간이 날 때마다 페어 프로그래밍을 해보자고 제안했고, 그때마다 프로젝트 관리자는 긍정적으로 반응했다. 

 

©️요즘IT의 모든 콘텐츠는 저작권법의 보호를 받는 바, 무단 전재와 복사, 배포 등을 금합니다.

에디터가 직접 고른 실무 인사이트 매주 목요일에 만나요.
newsletter_profile0명 뉴스레터 구독 중