티스토리 뷰
제가 회사 생활한 지가 올해로 19년 차에 접어들었습니다. 그 사이 많은 회사를 옮겨다녔고, 그러다보니 많은 환경에서 일하게 되다보니 배울 점이 있는 회사와 이렇게 하면 안되겠다고 생각이 드는 회사들도 다녀봤습니다. 그 중에서도 회사의 개발 환경이 얼마나 좋은지가 개발자에게는 가장 중요한 요소 중 하나라는 걸 몸소 느꼈었는데, 그 중에서도 이슈 트래커를 가지고 이야기를 해볼까 합니다.
먼저 저에게 이슈 트래커가 반드시 필요하냐고 물어본다면 저는 분명하게 대답할 수 있습니다.
네!
특히나 혼자서 북치고 장구치고 다 할꺼면 몰라도 타인과 같이 하나의 일을 하거나(개발만을 이야기 하는 것이 아닙니다) 외부의 누군가에게 대신 일을 맡긴다거나 할 때에도 반드시 필요하다고 생각합니다. 그리고 요즘은 무료 이슈 트래커도 좋은 기능을 많이 제공하기 때문에 더더욱 필요하다고 생각합니다.
제가 좋아하는 이슈 트래커는 Phabricator 입니다(제가 싫어하는 PHP 로 만든 건 함정...). 이 제품은 정말 기능이 다양합니다. 무료인데 제공되는 기능은 무료인게 맞는지 의문이 갈 정도로 다양하고 정교합니다. 그리고 Redmine 이라는 제품도 유명합니다. Ruby 로 만들어져 있는데, 그 때문에 설치나 몇 가지 확장을 적용하기에 조금 까다로운 측면이 있지만 유용한 기능이 많습니다. 현재 제가 다니고 있는 회사도 Redmine 을 쓰고 있습니다. 이전에는 Mantis, Trac 을 사용하기도 했었고 Jira 도 아주 미약하게나마 써봤습니다.
초기에 인기가 있었던 Mantis 의 경우 정말 이슈 트래킹에 특화된 제품이었습니다. 하나의 이슈에 대해서 누군가가 글을 작성(=보고)하면 그 이슈에 대해서 담당자가 누구인지, 그리고 그 이슈에 대한 댓글을 보고자나 관련자에게 계속적으로 환기시켜주는 것(주로 메일 발송)에 촛점이 맞춰져 있었습니다.
이후 Trac 이 잠깐 인기를 끄나 싶었는데, Redmine 의 세상이 왔습니다. Redmine 은 Mantis 에 비해 부가기능이 매우 훌륭했습니다. 별도의 위키를 설치해야 하는 Mantis 와 달리 Wiki 도 자체적으로 바로 생성이 가능했고 게시판이나 일감(이슈)의 내용에 따라 자동 반영되는 캘린더, 로드맵(마일스톤), Gantt 챠트 등을 기본 내장해서 체계적으로 일감 관리가 가능해지도록 하였습니다. 그리고 git 이나 svn 와 같은 코드 저장소와 (조금은 복잡하지만) 연동이 되는 기능도 제공되고 있습니다
Jira 는 이슈 쪽만 써봤기 때문에 장점을 잘 알지 못하지만, Phabricator 는 Redmine 을 뛰어넘어 일감 뿐만 아니라 코드 저장소(svn, git, mercurial) 을 자체적으로 운영하거나 외부 서버의 정보를 주기적으로 읽고 일감과 연동하며 코드 리뷰, 워크보드, CI & CD 등 대부분의 회사 내 협업 환경에 필요한 기능을 포함하고 있습니다. 제가 아쉬웠던 건 Gantt 챠트가 없다는 정도 뿐이었으니까요.
이러한 이슈 트래커를 잘 활용하기 위해서는 몇 가지 원칙이 있다고 생각하고 있습니다. 제 경험 상 그런건데, 다음과 같습니다.
- 전사 인원들이 모두 이슈 트래커를 이용해 업무를 진행해야 한다
- 모든 개발 업무는 이슈 트래커를 기반으로 진행해야 한다
- 여러 개발 보조 기능들과 통합되어 운영되어야 한다
먼저, 이슈 트래커에 이슈를 등록하는 사람은 "해당 이슈를 발견한 사람" 이어야 합니다. 이슈의 종료는 이슈를 발견한 사람이 해결됐음을 확인하는 시점이기 때문입니다. 대부분의 오픈소스 프로젝트에서는 이슈 트래커에서 이슈 등록자가 마감을 하거나 운영 조직이 이슈 등록자의 확인 시점 이후 마감을 하기 때문입니다. 사내 전용 이슈 트래커의 경우 외부의 사용자가 시스템에 접근할 수 없기 때문에 이를 접수한 사람(고객센터 등)이 이슈 트래커에 등록을 하는 것이 기본이라고 할 수 있습니다. 만약 이걸 개발자에게 구두로 혹은 메일로 이를 알릴 경우 등록자는 개발자가 될 것이고, 수정 후 제대로 적용되었는지 확인을 요청해야 합니다. 이 때 결과를 바로 전달받지 못한다면 결과에 대한 내용을 이슈의 댓글 등에 작성하기 위해 또다시 개발자의 자원(시간 등)을 낭비하는 결과를 낳게 됩니다.
2019/01/25 - [Programming/기타] - 좋은 이슈 트래커를 써야 하는 이유 (2)
'Programming > 기타' 카테고리의 다른 글
플랫폼과 프레임워크 (0) | 2023.03.08 |
---|---|
좋은 이슈 트래커를 써야 하는 이유 (2) (0) | 2019.01.25 |
제가 PHP 싫어하는 이유 (혹은 쓰지 말아야 하는 이유) (2) | 2019.01.24 |
IntelliJ 에서 Maven Dependencies 관리하기 (0) | 2019.01.24 |
페이징(Paging)에 대한 이해 - (3) LIMIT 와 TOP 을 이용한 게시물 가져오기 (0) | 2019.01.21 |
- Total
- Today
- Yesterday
- boot
- paging
- git
- Spring
- 엘지
- 프로젝트 규모
- 워드프레스
- SI
- Nas
- jooq
- Redmine
- 도입기
- docker
- Spring MVC
- java config
- manjaro
- KDE
- Phabricator
- messages.properties
- couchbase
- 페이징
- 시니어 프로그래머
- 외장 WAS
- RestTemplate
- NoSQL
- 클라우드플레어
- OracleJDK
- Spring Boot
- 내장 WAS
- proxmox
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |