ETC

개발 프로젝트 협업 툴

5_ssssseung 2021. 9. 3. 01:45
개발자가 좋은 상품, 서비스를 개발하기 위해서는 개발 실력도 중요하지만 프로젝트와 관련된 도구와 시스템, 협업툴을 잘 활용하는 능력 또한 중요하다. 

 

정말 많은 협업 툴이 존재한다. 대표적으로 무엇이 있는지, 어떤 종류가 있는지를 간략하게 소개하고자 한다.

 

협업 툴

  1. 통합개발환경(IDE)
    • IDE의 생산성이 에디터와 비교할 수 없을만큼 좋다. 개발자라면 사용해야할 1순위 툴이다.
    • 하나의 IDE를 통해 개발, 빌드, 배포 등 모든 개발을 최적화시켜주었기 때문에 통합개발환경이라 한다.
    • 객체, 패키지, 클래스 등 상호 참조 확인이 가능하고 Git 내장 등의 편리한 기능도 포함하고 있다.
    • 특히 하이라이팅이 되어 가독성이 좋고, 자동완성 기능, 디버깅!! 등도 상당히 편리하다.
    • IDE는 사용할수록 다양한 기능이 있다는 것을 느끼고, 끊임없이 편리함을 추구해야한다.
    • 대표적인 종류는 다음과 같다.
      • Visual Studio Code ✔
      • Pycham ✔
      • Eclipse ✔
  2. 코드관리(VCS)
    • 코드를 변경할 때마다 형상은 변경된다. 이런 것들을 새로운 버전 단위로 코드를 관리하는 것이다.
    • 또한 협업을 위해서 여러 팀원이 소스를 공유하기 위한 기능도 한다.
    • Workflow, CI/CD, 이슈 관리 프로젝트 전과정을 지원한다.
    • 대표적인 3대장이다.
      • GitLab ✔
      • GitHub ✔
      • Bitbucket
    • 뿐만 아니라 애플리케이션의 배포와 운영에 관련된 모든 요소를 코드화하여 관리(GitOps)하는 것이다.
  3. 이슈/프로젝트 관리
    • 프로젝트를 진행할 때, 각각의 업무에 대한 기한(라이프 싸이클), 각자가 맡아 진행해야할 업무(이슈) 등을 관리하기 위함이다.
    • 버그 추적, 이슈 추적, 프로젝트 관리의 기능을 진행하는 소통 체계이다.
    • 기승전 Jira
      • Jira ✔
      • Trello
      • RedMINE
      • Notion (칸반보드) ✔
  4. 공유문서 관리
    • 실시간으로 다양한 사람이 작성하고 권한을 조정하며 문서를 공유하기 위함이다.
    • 보편적으로 md 파일로 작성한다.
    • 대표적으로 사용하는 툴은 다음과 같다.
      • Confluence (Jira와 연동하여 사용 가능)
      • Google Docs ✔
      • Notion ✔
  5. 커뮤니케이션
    • 분류에 따라 명확히 구별할 수 있으며, 커스터마이징으로 업무 소통의 중요, 편리하게 사용할 수 있다.
    • 카카오톡으로 범용성 좋게 사용할 수 있지만, 전용 협업 툴로 개발을 한다면 개발자에게 다양한 기능을 지원하는 플러그인이 많다.
      • Slack ✔
      • Teams
      • Mattermost ✔
      • JANDI

 

  1.  

정리

  • 하나를 깊게 알면 비슷한(alternative) 도구도 쉽게 적응 가능
  • 개발자의 코딩 실력 ↔ 협업도구를 다루는 실력과의 밸랜스 고려
  • 잘 갖춰진 도구들이 효과적으로 통합되면 프로젝트 가시성 및 활용도 증가
  • 원격 협업에서 특히 도구를 활용한 적극적인 커뮤니케이션 노력 필요