이슈 트래커
Issue Tracker
1. 개요
소프트웨어 개발 업계에서 사용하는 도구. 작게는 제품의 기능 추가 혹은 버그 관리부터 프로젝트 관리까지 다양한 기능을 제공한다. 대개 웹 기반의 인터페이스를 제공한다.
2. 이슈란?
버그, 기능 구현 등을 포함한 업무의 단위이다. 이슈는 담당자 한사람이 맡아서 해결할 수 있는 구체적인 것으로 하는 것이 좋다. 나무위키를 예로 들자면 "모든 버그를 고친다" 혹은 "관리자를 대체할 인공지능을 만든다"(...) 등은 너무 광범위하거나 담당자 한명이 적당한 시간 안에 완료할 수 있는 일이 아니므로 좋은 이슈가 아니다. 반면 "아무개 문서의 아무개 문법 렌더링 이슈를 고친다"는 적절한 이슈로 볼 수 있다.
이슈는 다양한 추가 정보를 가진다. 이 정보들을 다양한 주체가 업데이트 하면서 이슈들을 관리하는 것이 이슈 트래커의 주된 기능이다. 어떤 정보들이 있는지는 이슈 트래커의 종류에 따라 차이가 있다.
- 담당자: 이슈를 해결할 사람이다.
- 우선순위: 이슈의 우선순위. 담당자는 우선순위가 높은 이슈부터 해결하는 것이 원칙이다.
- 마감일: 이슈가 반드시 이 날짜까지는 해결되어야 하는 경우 집어넣기도 한다.
- 상태: 기본적으로 열림/닫힘으로 구분하고 그 외 세부적인 상태(작업 시작, 고쳐짐, 재현 불가 등)를 가지고 있기도 한다. 열린 이슈는 분석, 검토, 해결이 끝나지 않은 이슈, 닫힌 이슈는 해결되었거나 모종의 이유(재현 불가, 기술적으로 불가능, 중복 등)로 더 이상 검토할 필요가 없는 이슈이다.
3. 특징
- 변경 이력이 다 남는다. 제때 완료하지 못한 이슈에 대해 지워버리거나 축소/은폐할 수 없다.
- 이슈의 추가 정보로 필터링해서 깔끔하게 볼 수 있다. 내가 담당자인 이슈, 오랫동안 처리되지 않은 이슈 등을 필터링해서 볼 수 있기에 프로젝트 진행 상황을 파악하기 쉽다.
4. 사용 흐름
이슈 트래커 종류와 개발 문화에 따라 차이가 있을 수 있다. 여기서는 대략적인 흐름을 적는다.
- 이슈 등록: 사용자 혹은 품질관리팀이 발견한 버그 혹은 신규 기능을 추가한다. 담당자가 명확한 경우 지정하기도 하나 공란으로 남겨두는 일도 흔하다.
- 이슈 검토/분류: 등록된 이슈는 개발팀이 검토한다. 중복, 재현 불가, 해결 불가능한 이슈의 경우 이 단계에서 이슈를 닫는다. 개발팀에서 해결할 이슈의 경우 담당자, 우선순위, 마감일 등을 지정한다.
- 이슈 해결: 이슈가 해결되면 이슈를 닫는다. 담당자와 별개로 검증 담당자(Verifier)를 따로 두어 진짜로 이슈가 해결되었는지 검증하는 경우도 있다.
5. 종류
- Asana: 간결하고 유연한 프레임워크를 특징으로 하는 부분유료 이슈 트래커.
- Bugzilla: 모질라 재단에서 만든 무료 이슈 트래커.
- Phabricator: 예전 나무위키:이슈 트래커가 이것을 사용했었다. 페이스북에서 내부용으로 사용하던 툴을 공개한 것.
- Redmine: Ruby 기반의 무료 이슈 트래커. 나무위키가 이전에 사용했던 이슈 트래커가 여기에 해당된다.
- Jira: Atlassian에서 개발한 유료 이슈 트래커. 같은 회사에서 만든 프로젝트 위키 사이트인 Confluence와 함께 사용하면 시너지 효과가 있다.
- YouTrack: IntelliJ IDEA를 만든 JetBrains에서 개발한 유료 이슈 트래커.
- Azure DevOps: 마이크로소프트에서 개발한 소프트웨어 개발용 통합 솔루션으로, Git 레포지토리와 지속적 통합, 칸반 보드, 프로젝트 위키, 그리고 이슈 트래커를 제공한다. 한 저장소당 5명의 사용자까지 무료로 이용할 수 있다. Azure DevOps를 클라이언트 기반으로 옮긴 Azure DevOps Server도 있는데, 기업이 직접 서버를 호스팅하고자 할 때 사용되며 이는 유료이다.
- Trello: 간결하고 개성 있는 UI가 특징인 부분유료 이슈 트래커. Atlassian의 Bitbucket은 이 Trello를 자사 서비스에 통합시켜 사용하고 있다.
- Mantis: 나무위키:이슈 트래커가 사용하고 있었다. 사마귀 캐릭터가 그려진 로고가 특징이다.
- Yona: 네이버 개발자들이 만든 이슈 트래커. 네이버에서 내부용으로 사용하던 버전을 수정 공개한 것으로 원래 Yobi라는 이름으로 공개가 되었으나, 네이버에서 개발 중단을 선언함에 따라 개인 개발자가 이어서 개발하고 있는 버전이 Yona이다. 한글 처리가 잘 되어 있는 것이 특징이다.
- GitHub: 기본적으로는 Git 호스팅 사이트이지만, 이슈 트래커 기능도 제공한다. 유료 설치형 버전으로 Enterprise 버전도 제공하고 있다.
- GitLab: GitHub와 유사한 사이트로, 이슈 트래커 기능을 제공한다.