이슈트래커 YouTrack의 단점

유명 개발사 JetBrains의 YouTrackAtlassian Jira보다는 개발자 집단에 특화된 이슈트래커입니다. 개발자 집단에 특화되었다는 말은 JetBrains CEO의 말에 의하면 그렇고 저도 동의합니다.

마치 콘솔작업처럼 키보드 하나만 쳐도 바로 커맨드 창이 뜨고 자사의 IDE제품군과의 매끈한 연결, 강력한 검색 기능 등이 그런 특징을 나타냅니다. 특히 이슈와 칸반을 모두 지원하기에 빠른 이슈리스팅과 시각적인 업무 흐름을 함께 파악하기에 좋습니다.

장점은 이전 글에서 읽으실 수 있고 이 글은 제가 있는 조직이 YouTrack을 도입한지 1년 즈음 지나서 느끼는 단점에 대해서 적습니다.

1. 매우 유연한, 그만큼 고민해야 하는 사용법

YouTrack의 칸반보드는 매우 다양한 기준으로 구성할 수 있습니다.

YouTrack 칸반보드. 출처: JetBrains blog
YouTrack 칸반보드. 출처: JetBrains blog

기본적인 틀은 하나의 이슈(=티켓)에 사용되는 특정 프로퍼티를 기준으로 하게 되는데, 중요도, 분야, 프로젝트, 담당자 등 그야말로 enumerable한 속성이면 모두 가능합니다.

또한 각 이슈의 위상을 결정하는 것(feature-task, feature-task-subtask 등), 이슈 간 연결 형태(주종관계/참조관계 등) 등을 직접 정의할 수 있습니다. 쉽게 말해 YouTrack은 ‘이슈트래커 만드는데 필요한 데이터 덩어리를 적당히 GUI로 엮어준 것’에 가깝습니다.

그러다보니 어떤 기준으로 어떻게 구성해야 하는지에 대한 시행착오와 판단 또한 끊임없이 겪습니다.

2. 빈약한 Integration

사실 이게 YouTrack을 사용하면서 가지는 가장 큰 불만일겁니다. GitHub issue, Trello 등이 slack 초창기부터 연동이 되었지만 YouTrack은 아직 연동도 되지 않고, IDE 플러그인은 자사 JetBrains 제품군 외에는 없다시피 합니다.

API는 오픈이니 직접 개발해도 되지만 어느 천년에, Atlassian JIRA가 직접 IDE들의 플러그인을 꽤 좋은 품질로 제공한다는 것에 비해서는 안타깝긴 합니다.

Visual Studio 연동이 안되는 것은 우리 팀에겐 치명적이고요. API가 오픈되어도 Zapier같은 API브릿징 서비스에도 관련 서비스는 없습니다. 회사의 모든 IDE가 JetBrains 제품군(IntelliJ IDEA, PyCharm, WebStorm, Android Studio 등)이라도 불만은 있는 셈입니다.

참고로 저희 회사는 (아마도) 우리나라에서 JetBrains 제품군을 가장 많이 사용하는 회사일겁니다. Products 페이지에서 2개(CLion, Rubymine) 빼고는 다 쓰고 있으니까요. 그럼에도 업무에 완결성이 잘 안이루어지는거죠.

3. 모든 것이 다 가능하지만 모든 것이 그냥 되지는 않아

안드로이드나 리눅스를 만져보면 처음에 이런 인상을 가지죠. ‘우와! 리눅스는 다 된다! 내가 상상했던 것, OS의 소스를 직접 보고 수정도 할 수 있고, 그야말로 전지전능해진 것 같아’

하지만 함정은, 쉽게 되지는 않는다는 거죠. YouTrack은 Workflow라는 기능이 있고 Workflow Editor라는 별도의 설치프로그램이 있어서 많은 것을 자동화할 수 있습니다. 일종에 스크립트 언어인데 익숙해지는데 시간이 꽤 필요합니다.

YouTrack WorkFlow Editor
YouTrack WorkFlow Editor. 자, 만능 편집기를 만들었으니 다 해보렴 ㄷㄷㄷ

Workflow editor는 몇 십개의 기본 workflow가 제공되는데, 예를 들어 이슈가 끝나면 코멘트를 못달게 하는 것, 상위 이슈가 fixed되면 하위 이슈도 자동으로 종료 처리하는 것, duplicate 처리되면 자동으로 닫는 것 등등입니다.

일하기 바쁜데 이슈트래커 스크립트 언어도 익히고 기술문서도 읽어야 하지요. 이런 것을 마치 아웃룩의 규칙 정하는 것처럼 콤보박스들과 조건 몇가지 만으로 만들 수 있다면 좋았을 겁니다.

4. InCloud 제약

InCloud는 YouTrack의 구독형 서비스입니다. 저희는 클라우드 구독형 서비스를 선호합니다. 설치형으로 머신을 관리하는 것 자체를 부담으로 생각하지요. JetBrains의 개발 툴체인은 IDEs(개발툴들)-YouTrack(이슈트래커)-UpSource(코드리뷰)-TeamCity(CI빌더)로 구성되어 있는데, 이 중 YouTrack만은 설치형 외에 구독형을 제공합니다.

이대로 되긴 한다만...
JetBrains 개발 툴체인. 이대로 되긴 한다만…출처: JetBrains

저희가 구독하는 YouTrack InCloud는 AWS의 East-Europe에 구성되어있다고 나오는데 일단 속도가 느립니다. 또한, 위에 언급한 개발 툴체인이 단일 계정으로 묶여야 하는데 InCloud account(Hub라고 합니다)와 나머지 설치형 account는 통합이 되지 않습니다.

그러므로, YouTrack을 사용하신다면 반드시 설치형으로 사용하시길 권합니다. 그 외에 InCloud임에도 SLA도 없고 공지된 유지보수 스케줄과 어긋나게 하루 내내 안된 적도 있습니다.

5. 칸반에 자동 새로고침이 없다

칸반보드는 한 눈에 진행상황을 보기에 좋습니다. 하지만 뭔가 이슈가 슉슉(!) 이동하는게 없이 꼭 새로고침을 눌러줘야 합니다. 더 나아가 이것을 TV에 쏘라고 ‘TV 모드’라는 뷰도 제공합니다. 이 TV 모드에도 자동 새로고침이 없습니다. 그냥 디자인 테마인거죠.

뭐 브라우저 플러그인으로 인터벌 새로고침 기능을 돌리면 되지만 그 때마다 전체가 깜박이겠죠. 오래된 컴플레인인데 구현하기 복잡한가봅니다. PivotalTracker에서 가장 만족했던게 누군가의 변경사항이 실시간으로 보였던 것입니다.

현재는 GitHub Issue로

바풀 개발팀이 3명 이하였을 때, 이슈트래커로 PivotalTracker를 열렬히 사용했습니다. 하지만 5명이 넘으면서 프로젝트를 나누면 한 눈에 파악하기가 불편하고 합치면 너무 와글와글해보여서 YouTrack으로 옮겼습니다.

이제 YouTrack은 5~10명 정도의 팀에는 너무나 방대한 기능이 있다는 생각이 들었습니다. 그래서 두 달 전부터 GitHub Issue를 사용하기 시작하고 있습니다. GitHub은 마일스톤-이슈라는 단순한 위계, 각종 규칙은 라벨로 적당히 유연하게 구성할 수 있고, YouTrack보다는 폭넓은 integration을 가지고 있습니다.

GitHub 이슈로 위의 단점들이 해소되는 것은 아니지만, 어차피 비슷한 단점일 바엔 좀 더 단순한걸 사용하자는 판단입니다.

소프트웨어 프로젝트 이슈트래커 선택

소프트웨어 프로젝트 이슈 관리.

우리는 Visual Studio, IntelliJ, WebStorm, XCode를 IDE로 사용하고 있다.
소스콘트롤은 GitHub private repository를 사용한다.

문제는 이슈트래커인데,
현재 PivotalTracker를 열심히 쓰고 있다.

하지만, PivotalTracker에 한계점이 있는게

  1. 태스크간 트리구조나 관계 설정이 거의 안되다시피해서 좋지 않다. 가벼운 프로젝트론 가장 완성도 높지만, 팀이 조금만 규모있는걸 하려면 마구 섞인다.
  2. 그렇다고 프로젝트 여러개를 나눠서 하기엔 너무 거창해진다. 클라이언트, 서버 프로젝트를 각각 운용하는 것보단 하나의 “3.0 개발”이라는 프로젝트 하에서 같이 놓고 볼 수 있는게 낫다.
  3. Visual Studio와 궁합이 좋지 않아서 그냥 매번 브라우저와 IDE를 오가며 수동입력을 한다.

대안은 3가지인데, Jira, YouTrack, VisualStudioOnline 이다. 이슈트래커에 별도로 서버를 운영하기 싫으므로 모두 Cloud버전을 고려한다.

  1. Jira: 가장 새련된 형태가 아닐까 한다. UI 반응도 무척 빠르다. 완성도있는 Visual Studio Connector를 플러그인으로 지원하는데 설치형만 되고 Cloud는 안된다!? 이런…
  2. YouTrack: 내가 개인적으로 사모하는(?) JetBrains의 제품. 우리가 IDE는 제각각이어도 JetBrains 제품을 안쓰는건 XCode밖에 없을 정도다. 단점은 VisualStudio 연동이 안된다.
  3. VisualStudioOnline: 빠르게 발전하고 있고 한때는 이슈트래커 끝판왕이었던 TFS기반이다. 여러 IDE와 괜찮게 연동되는 것 같은데 문제는 MS의 웹제품군은 다들 느리고 시원시원한 맛이 없다.

결론: 하나같이 절대적으로 훌륭한게 없다. 다시 PivotalTracker나 잘쓰는 쪽으로 결정.