개발자가 좋은 상품, 서비스를 개발하기 위해서는 개발 실력도 중요하지만 프로젝트와 관련된 도구와 시스템, 협업툴을 잘 활용하는 능력 또한 중요하다.
정말 많은 협업 툴이 존재한다. 대표적으로 무엇이 있는지, 어떤 종류가 있는지를 간략하게 소개하고자 한다.
협업 툴
- 통합개발환경(IDE)
- IDE의 생산성이 에디터와 비교할 수 없을만큼 좋다. 개발자라면 사용해야할 1순위 툴이다.
- 하나의 IDE를 통해 개발, 빌드, 배포 등 모든 개발을 최적화시켜주었기 때문에 통합개발환경이라 한다.
- 객체, 패키지, 클래스 등 상호 참조 확인이 가능하고 Git 내장 등의 편리한 기능도 포함하고 있다.
- 특히 하이라이팅이 되어 가독성이 좋고, 자동완성 기능, 디버깅!! 등도 상당히 편리하다.
- IDE는 사용할수록 다양한 기능이 있다는 것을 느끼고, 끊임없이 편리함을 추구해야한다.
- 대표적인 종류는 다음과 같다.
- Visual Studio Code ✔
- Pycham ✔
- Eclipse ✔
- 코드관리(VCS)
- 코드를 변경할 때마다 형상은 변경된다. 이런 것들을 새로운 버전 단위로 코드를 관리하는 것이다.
- 또한 협업을 위해서 여러 팀원이 소스를 공유하기 위한 기능도 한다.
- Workflow, CI/CD, 이슈 관리 프로젝트 전과정을 지원한다.
- 대표적인 3대장이다.
- GitLab ✔
- GitHub ✔
- Bitbucket
- 뿐만 아니라 애플리케이션의 배포와 운영에 관련된 모든 요소를 코드화하여 관리(GitOps)하는 것이다.
- 이슈/프로젝트 관리
- 프로젝트를 진행할 때, 각각의 업무에 대한 기한(라이프 싸이클), 각자가 맡아 진행해야할 업무(이슈) 등을 관리하기 위함이다.
- 버그 추적, 이슈 추적, 프로젝트 관리의 기능을 진행하는 소통 체계이다.
- 기승전 Jira
- Jira ✔
- Trello
- RedMINE
- Notion (칸반보드) ✔
- 공유문서 관리
- 실시간으로 다양한 사람이 작성하고 권한을 조정하며 문서를 공유하기 위함이다.
- 보편적으로 md 파일로 작성한다.
- 대표적으로 사용하는 툴은 다음과 같다.
- Confluence (Jira와 연동하여 사용 가능)
- Google Docs ✔
- Notion ✔
- 커뮤니케이션
- 분류에 따라 명확히 구별할 수 있으며, 커스터마이징으로 업무 소통의 중요, 편리하게 사용할 수 있다.
- 카카오톡으로 범용성 좋게 사용할 수 있지만, 전용 협업 툴로 개발을 한다면 개발자에게 다양한 기능을 지원하는 플러그인이 많다.
- Slack ✔
- Teams
- Mattermost ✔
- JANDI
정리
- 하나를 깊게 알면 비슷한(alternative) 도구도 쉽게 적응 가능
- 개발자의 코딩 실력 ↔ 협업도구를 다루는 실력과의 밸랜스 고려
- 잘 갖춰진 도구들이 효과적으로 통합되면 프로젝트 가시성 및 활용도 증가
- 원격 협업에서 특히 도구를 활용한 적극적인 커뮤니케이션 노력 필요
'ETC' 카테고리의 다른 글
디자인 패턴 (싱글톤 패턴, 팩토리 패턴) (0) | 2022.07.12 |
---|---|
클린코드 작성하기 Part 2 (0) | 2021.09.02 |
클린코드 작성하기 Part 1 (0) | 2021.08.31 |
티스토리 사이드 목차 TOC(Table of Contents) 추가하기 (오디세이 스킨, 자동 목차 생성) (6) | 2021.03.29 |
티스토리 코드 블럭 지원 언어 추가, 테마 변경 (highlightjs) (0) | 2021.03.23 |