본문 바로가기
일상

개발자가 협업을 하는 방법

by 실패전문개발자 2021. 8. 17.

회사에서 하는 프로젝트는 대부분 여러 사람이 함께 모여 공동의 목표를 달성하는 것이다. 

프로젝트를 하다 보면 개발자가 아닌 다른 직군에 종사하는 사람들과 협업을 하게 되는 일이 있을 수 있다.

개발자, 디자이너, 기획 등 다양한 직군들이 함께 프로젝트에 참여하게 된다.

직군에 따라 서로 다른 관점의 시각을 가진 사람들이 함께 협업을 하면 때로는 커뮤니케이션이 쉽지 않을 때도 있다.

오늘은 프로젝트할 때 협업이 어려운 이유, 협업을 잘 하기 위한 방법을 기록해 볼 것이다.

각 이해관계자들이 서로의 입장에 따라 나타나는 결과물의 예시

 

왜 협업이 어려울까?

1. 조직간의 관심사가 다르다

협업의 사전적 의미는 '같은 종류의 생산, 또는 같은 종류의 작업을 여러 사람이 협력하여 공동으로 하는 일'이다.

여기에서 중요한 점은 여러사람이여러 사람이 협력한다는 것이다. 기획, 디자인, 개발 등 다양한 일을 하는 여러 사람이 같은 목표를 달성하기 위해 서로 소통하고 협력해야 한다. 하지만 각각의 직군에 해당하는 사람들의 관심사 또한 제각각이다.

 

기획자더 많은 사용자들이 프로덕트를 사용하고 수익을 올리는 것에 관심을 가진다. 담당자라는 책임감을 가지고 있고 가끔 창작에 대한 고통을 갖고 있다. 디자이너사용자가 프로덕트를 사용할 때 멋지고 세련됐다는 인상을 남게 하는 것에 관심을 가진다. 끊임없는 디자인 창작의 고통을 가진다. 개발자플랫폼을 효율화/자동화하고 장애를 방지하는 것에 관심을 가진다. 장애로부터 자유로울 수 없어서 항상 노트북을 지니는 개발자도 있고 망망대해 속 끝없는 공부를 해야 하는 고통을 가진다. 대부분의 사람들은 자신이 핵심이라고 여기는 것을 타 직군이 알아주길 바라지만 자신은 타 직군의 핵심을 이해하지 못할 때가 많다.

 

2. 개발이 더 어려워지고 있다

매년 데이터가 더욱 많아지고 있고 시스템은 점점 더 복잡해지고 있다. 세월이 흐를수록 데이터는 쌓이고 서비스의 디지털 전환으로 인해 트래픽량은 증가한다. 또한 모바일로 서비스를 이용하면서 기존 데스크탑을 통해 서비스를 이용하는 것보다 접근성이 좋아지고 편리성이 증가하면서 더 많은 사용자를 감당해야 한다. 그리고 사용자가 더욱 증가하면서 UI에 디자인에 대한 경쟁 또한 증가했다. 당장 카카오 뱅크 전과 후의 은행 애플리케이션의 UI를 비교해보면 어느 정도의 차이가 보인다. 이처럼 증가하는 사용자와 더욱 높아진 만족도의 기준에 따라 해야 하는 작업이 더욱 많아졌다. 그에 따라 협업에 필요한 자원이 더욱 늘어났고 앞으로 더욱 협업이 어려워질 수도 있다.

 

3. 큰 조직 본연의 어려움

큰 조직일수록 협업에 참여하는 인원이 증가하게 된다. 큰 기능을 만드려면 많은 인원이 필요하다.

그렇다면 프로젝트에 참여하는 인원이 많으면 유리할까? 반은 맞고 반은 틀렸다.

거대한 시스템을 만드려면 많은 인원이 필요하고 개개인이 맡은 역할을 잘 수행하면 큰 성공을 거둘 수 있다.

그렇다면 반은 왜 틀렸을까? 많은 인원이 새로 참여하게 되면 그만큼 가르쳐야 하는 비용도 증가한다. 각 인원이 프로젝트에 참여하기 위해서 도메인을 새롭게 배워야 하고 기술을 익혀야 한다. 브룩스의 법칙이라는 것이 있다. "지체되는 소프트웨어 개발 프로젝트에 인력을 더하는 것은 개발을 늦출 뿐이다"라고 주장한 법칙이다. 브룩스는 "임산부가 아무리 많아도, 아이를 낳는 데에는 9개월이 걸린다"라고 자신의 주장을 비유적으로 표현했다.

또한 인원이 많아진다면 공동체 의식을 가지는 것이 어렵다. "아무리 발이 넓은 사람이라도 진정한 사회적 관계를 맺는 사람은 150명에 불과하다"는 던바의 법칙이 있다. 개인 간의 관계뿐만이 아니라 프로젝트에 투입되는 인력 또한 마찬가지이다. 많은 인원이 공동체 의식 없이 프로젝트에 참여하게 되면 의사소통 및 프로젝트 관리가 더욱 힘들어질 것이다.

 

4. 바쁜 고위 의사결정자

마지막으로 큰 조직은 고위 의사결정자에게 보고가 올라가는 방식을 주로 채택한다. 어떤 일을 하기 전에 고위 의사결정자의 결정에 의해 다음 단계로 넘어갈 수 있다. 하지만 고위 의사결정자가 바쁜 경우가 많기 때문에 실무자가 서비스를 완성한 다음 보고가 올라가는 경우도 빈번하다. 때문에 서비스가 모두 구현이 된 후 고위 의사결정자에 의해 방향성이 바뀌는 경우도 발생한다. 실무자가 한 달 동안 고민한 것을 짧은 시간 내에 검토하고 방향성을 지시하는 경우가 많다. 또한 지시가 여러 단계의 해석을 거치면서 왜곡되어 전달되기도 한다. 고위 의사결정자는 너무 많은 안건을 다루다 보니 각 안건의 의사결정을 기억하지 못할 가능성이 크다. 

 

 

위와 같은 다양한 이유로 협업을 어려워하는 경우가 많다. 하지만 우리는 프로젝트를 진행하기 위해서 무조건 협업을 해야한다. 그렇기 때문에 협업을 더욱 잘할 수 있는 방법을 찾아야 한다. 협업을 위해 어떤 노력들을 할 수 있을까? 

협업을 잘 하기 위한 방법

1. 용어 알기

타 직군이 작업할 때 자주 사용하는 용어를 알면 협업할 때 매우 도움이 된다. 용어를 알면 커뮤니케이션 효율을 높일 뿐 아니라 대략적인 업무 방식을 이해할 수 있다. 그리고 보편적인 비즈니스 용어를 알아두면 좋다. 협업을 사용하면서 사용하는 단어들은 대체로 보편적인 비즈니스 용어일 확률이 높다. 보편적인 비즈니스 용어를 알아야 프로젝트 내부에서만 사용되는 용어를 구별할 수 있다는 점도 있다. 마지막으로 내부에서 사용되는 용어를 알아두어야 한다. 보편적인 용어와는 다르게 내부에서만 통용되는 용어이기 때문에 알지 못하면 커뮤니케이션할 때 큰 난관을 겪을 것이다. 내부에서 통용되는 용어이기 때문에 외부에서는 다른 의미로 사용될 수 있고 사용되는 용어 자체가 없을 수도 있다. 미리 용어를 잘 정리해두고 필요할 때 찾아보면 좋다.

 

2. 협업 도구 활용하기

우리는 다양한 협업 도구를 알고 있다. 메일, 메신저, 메모 등 보편적으로 많이 사용되는 협업 도구부터 깃허브나 슬랙과 같이 개발자들이 많이 사용하는 협업 도구들이 있다. 협업 도구를 사용하면 일정 조율하기 쉽고 원활한 커뮤니케이션을 도와준다는 장점이 있다. 대외비가 포함된 내용을 외부에 유출하지 않고 안전하게 전달할 수 있다는 것 또한 좋은 점이다. 협업 도구는 각각의 장점이 있다. 메일이나 메신저와 같은 경우 보기 쉬운 알림을 제공하고 텍스트 기반의 내용을 주로 전달하기 때문에 응답이 빠르다는 장점이 있다. 깃과 같은 형상관리 툴은 프로젝트의 코드를 저장하고 버전을 관리할 수 있기 때문에 개발자들이 프로젝트를 관리할 때 유용하게 쓴다. 각각의 협업 도구를 적절한 상황에 잘 활용하는 것이 중요하다.

 

3. 협업을 위한 마음가짐 ★

협업을 할 때 가장 중요한 점은 마음가짐이라고 생각한다. 협업이란 결국 사람과 사람 간의 의사소통을 통해서 이루어진다. 그 관계가 좋을 때는 프로젝트의 결과 또한 좋아질 가능성이 높지만 관계가 나쁜 경우 프로젝트의 결과 또한 나빠질 가능성이 높다. 우리는 서로의 입장이 되어 생각해보는 역지사지의 마음가짐으로 프로젝트에 참여해야 한다. 어떻게 하는 것이 상대의 입장을 생각하는 것일까?

 

- 의문/질문을 긍정적으로 생각하기

의문을 가지거나 질문을 하는 것은 우리를 공격하기 위해 하는 것이 아니다. 우리가 하는 것에 대해 관심을 가지고 있다는 또 다른 표시라고 생각해도 좋다. 질문을 긍정적으로 생각하며 질문을 한 이유를 생각해보고 조금 더 좋은 방향으로 고칠 수 있는 기회라고 생각해야 한다. 질문을 하는 것은 나쁜 확률을 줄이는데 많은 도움이 된다.

 

- 모호한 표현 돌아보기

 "A기술은 무거워서 아닌 것 같아요"

무겁다는 의미는 무엇일까? 메모리를 많이 사용한다? 부팅이 오래 걸린다? 반응속도가 느리다? 정말 다양한 의미가 떠오른다. 즉 모호하다는 것이다. 모호한 표현을 사용하면 당사자는 표현에 대한 오해를 가지게 될 수 있다. 이러한 모호한 표현을 줄이고 조금 더 구체적인 표현을 통해 자신의 확실한 생각을 말해야 한다.

 

- 사람탓으로 생각/표현하기 쉬운 경향 극복하기

사람은 보통 자신의 잘못은 '상황 탓'으로, 남의 잘못은 '사람 탓'으로 돌리기 쉽다. 자신에게는 너무 관대하지만 상대방에게는 관대하지 못하게 되는 이기적인 마음을 고쳐야 한다. 자신에게는 자신의 사정이 있듯이 상대방에게는 상대방의 사정이 있다. '나 대화법'을 사용해서 나 자신의 감정을 드러내고 상대방에게 기대하는 행동을 표현하면 상대방 또한 그에 상응하는 친절한 답을 줄 가능성이 높다. 당장 아래의 두 말을 비교해보자.

너 대화법: OO님 왜 그렇게 늦게 제출하셨나요? 업무가 많이 늦어졌잖아요!
나 대화법: OO님 빠르게 제출해주지 않으시면 저의 업무 또한 늦어지니 다음부터 빠르게 제출해주셨으면 좋겠습니다.

너 대화법으로 대화하는 것은 상대에게 중점을 두고 상대를 공격하는 듯한 느낌을 주기 쉽다. 나 대화법으로 나에게 중점을 두고 상대에게 나를 이해시키면 커뮤니케이션이 더욱 부드러워지고 좋은 분위기 속에서 원하는 바를 전달할 수 있다. 

'일상' 카테고리의 다른 글

네이버 신입 교육 후기  (0) 2021.09.04
IT 업계 사투리  (2) 2021.08.18
신입 개발자의 마음가짐  (0) 2021.08.15
2021 상반기 네이버 신입 공채 합격  (45) 2021.07.16
대학교 기말고사 끝  (0) 2020.12.15