짝 프로그래밍(PAIR PROGRAMMING)
•Agile의 여러 기법 중 하나인 짝 프로그래밍은 말 그대로 두 명이
짝을 지어 코딩과 리뷰를 동시에 진행하는 것이다.
• 하나의 모니터를 같이 보며 한 명은 코드를 작성하고 한 명은 작성 중인
코드를 리뷰하는 방식입니다.
• 이 방식의 장점은 둘이 기대할 수 있고, 리뷰를 동시에 진행함으로
버그가 감소하며, 지식 공유를 더 머리를 맞댐으로써 더 좋은 품질을
활발하게 할 수 있습니다.
5.
드라이버(DRIVER)와 네비게이터(NAVIGATOR)
* 네비게이터
-전체 지도를 보며 목적지에
다다르는 길을 안내한다.
- 운전 중 의문이 드는 점이나 잘못
흘러가고 있는 상황을 대화로
바로잡는다.
• 드라이버
- 직접 운전대를 잡고 운전을 하는
역할.
- 운전 중 현재 진행하는 것을 말로
표현하며 진행하며, 네비게이터와의
대화 역시 함께 진행해야 한다.
Driver
Navigator
6.
코더(CODER)와 조언자(ADVISER)
* 코더
-직접 키보드를 잡고 코딩을
진행하는 역할.
- 코딩 중 현재 진행하는 것을 말로
표현하며 진행하며, 조언자와의 대화
역시 함께 진행.
• 드라이버
- 프로젝트의 요구사항과 전체
구조를 이해하고 현재 구현 중인
부분에 대한 솔루션 안내
- 코딩 중 의문이 드는 점이나 잘못
흘러가고 있는 상황에 대해 대화로
바로잡는다.
Driver
Navigator
7.
짝 프로그래밍 TIP
•명시적인 역할 전환
- 앉은 자리에서 단순히 키보드만 주고 받지 말고 가급적 자리를 옮기자.
• 오랫동안 한 역할을 하지 않을 것
- 시간과 작업량을 정해놓고 둘 중 하나라도 충족이 되면 역할을 교대하자.
• 둘 다 편안한 자세를 잡을 것
- 상대방의 자세를 확인해준다. (목, 허리 등등)
8.
왜 PAIR PROGRAMMING을하는가?
• 여러 기업에서 사용한다.
EX) 네이버, 카카오,(적극 권장) 어니스트 펀드, Atlassian 등의 기업에서 사용한다.
• 신입 팀원이 새로 들어온 경우 짝 프로그래밍을 통해 빨리 적응할 수 있도록 한다.
• NC state university의 논문에 따르면 페어 프로그래밍으로 코드를 작성할 경우
15%의 시간이 더 걸리지만 코드의 결함 또한 15% 적다고 한다.
9.
PAIR PROGRAMMING시 주의할점
• 아무리 나보다 못한 사람에게도 배울 점이 있음을 간과하지 말며, 나도 언제나 다
른 사람이 저지르는 실수를 똑같이 저지를 수 있음을 잊지 않는다.
• "우리"에 잘못이 있지, 특정인에게 잘못이 있지 않다. 코드는 비난하더라도 사람은
비난하지 않는다.
• 짝이 틀린 것을 지적하면 고마움을 표한다.
• 드라이버의 자율성을 넘어서는 지시는 하지 않는다. (너무 세세하게 태클 X)
• 지나치게 쉬운 업무를 하지 않는다.
• 상대방이 실수할때 서로 거리낌없이 지적하는 문화를 지향해야 한다.
참고할만한 PPT 및글
• https://www.slideshare.net/UnyongChoi1/pair-programming-howto201409301?qid=55c3f1f1-d8f3-
4062-85f2-fdcd5a3df683&v=&b=&from_search=2
(페어 프로그래밍에 대하여 상세히 기술한 PPT)
• https://brunch.co.kr/@insuk/5
(애자일에 대한 친절한 설명)
• https://www.youtube.com/watch?v=ScMqFD8g3jU
• (Pair programming 보다 나은 법 – 포프)
• ttps://www.youtube.com/watch?v=rG_U12uqRhE
• 처음에 볼 동영상