InfoGrab
InfoGrab

페어 프로그래밍을 위한 4가지 팁

페어 프로그래밍을 위한 4가지 팁

FabbroFabbro
··8 min read
페어 프로그래밍을 위한 4가지 팁

GitLab 및 여러 기업은 페어 프로그래밍(짝 프로그래밍)을 통해 혼자 해결하기 어려운 과제들을 해결해 나가고 있습니다. 이 글에서는 페어 프로그래밍이 무엇이고, 어떤 장점이 있는지 확인해보고, 또 원격 페어 프로그래밍의 장점 및 적절한 활용을 위한 4가지 팁을 알아보겠습니다.

페어 프로그래밍의 개념과 이점

페어 프로그래밍이란?

페어 프로그래밍은 두 명의 개발자로 구성된 팀이 각각 개별적인 역할을 맡아 수행하는 민첩한 협업 소프트웨어 개발 방식입니다. 역할은 드라이버(driver)와 내비게이터(navigator)로 나누어집니다. 드라이버는 컴퓨터에서 직접 작업하고 내비게이터는 전체 프로그래밍 방향에 집중합니다. 필요에 따라 두 팀원 간 역할을 전환할 수 있습니다.

페어 프로그래밍은 애자일 방법론의 목적으로, 빠르고 효과적인 소프트웨어 개발을 위해 사용됩니다. 이 방식은 개발자 간의 협업과 효율성을 높이며, 코드 품질을 향상합니다.

페어 프로그래밍의 장점

단순한 업무 그 이상입니다.

페어 프로그래밍은 업무 외의 삶에 관해 이야기할 기회를 제공합니다. 사적인 대화를 나누면 팀원들 간의 사교적인 측면이 생기며, 이는 어려운 과제를 해결할 때 아이디어를 던져줄 사람이 생기는 긍정적인 효과를 줍니다.

문제를 더 명확하게 볼 수 있습니다.

혼자 하는 프로그래밍은 자신의 판단에만 의존하게 됩니다. 반대로 짝을 지어 프로그래밍하면 팀원들과 이야기하면서 다양한 아이디어를 교류하고 새로운 해결 방법이나 놓칠 수 있던 부분을 점검할 수 있습니다.

지식을 공유할 수 있습니다.

페어 프로그래밍에서는 서로 다른 분야의 전문가인 엔지니어가 함께 힘을 합쳐 하나의 문제를 해결합니다. 그래서 서로 다른 엔지니어와 대화하는 것만으로 다양한 지식을 습득하고 흡수할 수 있습니다.

최상의 솔루션에 도달할 수 있습니다.

티켓 페어링을 통해 문제 해결 방법을 찾고 지식을 공유하며, 대화를 효율적으로 진행하고, 작업 범위를 파악할 수 있습니다. 티켓을 페어링할 때는 필요한 정보를 한 번에 요청하는 것이 좋습니다.

그 외의 장점

  • 코딩 실수 횟수가 감소합니다.
  • 전반적으로 더 나은 개발자가 됩니다.
  • 다른 숙련된 개발자로부터 배우고, 프로젝트 중 발생한 실수로부터 배울 수 있습니다.
  • 더 나은 협업 기술을 구축하는 것에 기여합니다.

이 시스템은 또한 애자일 프로젝트 구조에 따라 개발 프로젝트를 더 작고 구체적으로 정의된 작업으로 나눕니다.

원격 페어 프로그래밍의 장점

원격 페어 프로그래밍은 협업의 한 형태로, 시간을 절약하면서 더 나은 환경에서 작업을 할 수 있습니다. 화면 공유를 통해 더 쉽게 작업할 수 있으며, 원격에서는 무엇을 어떻게 보고 있는지 더 잘 제어할 수 있어 오히려 직접 만나서 작업하는 것보다 원활한 작업을 할 수 있습니다.

페어 프로그래밍을 최대한 활용하는 4가지 팁

1. 페어링 시기 파악하기

고립된 공간에서 방해 없이 혼자 작업할 수 있다면 집중은 잘될 것입니다. 그러나 문제가 생겼을 때 대화할 상대가 없다면 이는 일을 더욱 어렵게 만들 것입니다. 도전 과제에서 아무런 진전이 없다면 아마도 페어링을 해야 할 때입니다.

2. 명확한 의제를 가지고 참여하기

모든 사람의 시간을 지키기 위해 페어링을 하기 전에 사전 준비를 잘 하는 것이 좋습니다. 의제를 미리 정하고 작업할 세션도 예약해야 합니다. 특히 의제는 미리 정해야 합니다. 그래야 문제를 이해하는데 충분한 시간을 확보할 수 있기 때문입니다. 그렇지 않으면 20분 동안 과제나 버그 보고서를 읽다가 함께 작업할 내용을 진행하지 못할 수도 있습니다.

3. 한 번에 하나씩 버그 해결하기

버그를 해결하려면 한 번에 한 가지 문제씩 해결하고 재현을 시도합니다. 문제가 서로 연결되어 있다고 생각되면 두 개 이상의 문제를 동시에 해결하려고 시도하고 싶을 수도 있지만, 첫 번째 문제를 해결하기 전까지는 알 수 없습니다.

4. 자신있게 의견 말하기

원격 또는 대면 페어링 시에도 마찬가지입니다. 자유로운 대화는 문제의 근원을 더 빨리 파악하는 데 도움이 됩니다. 의견을 말하는 것을 두려워하지 않아야 합니다. 잘못된 것이 있더라도 문제의 원인을 제거하는 데 도움이 될 수도 있고 대안적인 아이디어가 떠오를 수도 있습니다.


본 포스트는 영문 포스트를 우리말로 번역하고 요약 및 내용을 추가한 글입니다.

⚠️
해당 콘텐츠는 저작권법에 의하여 보호 받는 저작물로 기고자에게 저작권이 있습니다.
사전 동의 없이 2차 가공 및 영리적인 이용을 금하며, 온·오프라인에 무단 전재 또는 유포할 수 없습니다.
Fabbro

Fabbro

Software Engineer

DevOps 도입이 필요하신가요?

인포그랩 전문가가 맞춤 을 도와드립니다.

관련 글

슬랙봇을 활용한 기술 블로그 배포 자동화 이야기
DevOps생산성

슬랙봇을 활용한 기술 블로그 배포 자동화 이야기

인포그랩에서는 기술 블로그에 콘텐츠를 자동 배포하는 슬랙봇을 개발, 도입했습니다. 이 도구는 콘텐츠 제작, 배포 과정에서 불필요한 단순 반복 업무를 줄였는데요. 그 결과, 기술 블로그 제작에서 배포까지 걸리는 시간을 단축했고요. 테크니컬 라이팅 업무의 효율성과 생산성까지 향상할 수 있었습니다. 이 글에서는 기술 블로그 배포용 슬랙봇의 개발 배경과 과정, 작동 방식, 도입 결과를 다뤘습니다.

2024년 1월 10일

Triage로 GitLab 이슈 관리 개선하기
GitLab협업

Triage로 GitLab 이슈 관리 개선하기

GitLab의 Triage 기능은 개발자와 프로젝트 관리자가 효과적으로 이슈를 정리하고, 우선순위를 설정하며, 작업 흐름을 최적화하도록 설계되었습니다. 이 글에서는 Triage 기능을 자세히 살펴보고요. Triage 기능으로 GitLab에서 이슈 관리를 자동화하고, Triage 작업을 GitLab CI/CD 파이프라인에 통합하는 방법을 알아보려 합니다. Triage 기능을 사용해 이슈 관리를 자동화하면 팀의 반응 시간을 줄이고, 프로젝트 관리 방식을 향상하는 데 도움이 됩니다.

2023년 12월 13일

원격 디자인 스프린트 쉽게 하는 방법
협업생산성

원격 디자인 스프린트 쉽게 하는 방법

이 글은 원격 디자인 스프린트를 쉽게 하는 방법을 다뤘습니다. 디자인 스프린트를 원활히 진행하기 위해 팀은 목표와 목적을 설정하고, 예상 시간을 계획하며, 프로덕트 디자이너와 프로덕트 매니저의 파트너십을 형성하면 좋습니다. 또 여러 도구를 활용해 스프린트를 진행하고, 스프린트가 끝나면 성과를 축하하고 공유하는 걸 권장합니다.

2023년 12월 8일

인포레터에서 최신 DevOps 트렌드를 격주로 만나보세요!