회사 입사 후 각종 도구 도입과 시스템 구축 과정을 간단히 쓴다는게 길어져서 2부로 나뉘게 되었습니다. 오늘은 지난번에 못다한 이야기를 마저 해보려고 합니다.
Confluence는 묻지도 따지지도 않고 당연히 먼저 도입하고 구성원들 적응 과정도 순탄해서 별 문제가 없는데, JIRA는 항상 큰 고민을 합니다. 가격도 만만치 않고 구성원들이 이슈 트래킹이라는 업무 방식에 익숙하지 않은 것이 일반적이었기 때문입니다.
쉬운 이슈 트래킹으로 Trello를 많이 쓰는데, 작은 규모에서 도입 초기에는 별 문제가 없다가 인원이 많아지거나 오랜 시간 사용하면 이슈가 누적되어서 보드 유지보수가 안되는 치명적인 문제가 항상 발생했었던 것 같습니다. 결국 몇몇이 책임지고 보드 이슈를 관리하고 트래킹하지 않으면 깨진 유리창의 법칙에 의해서 Trello를 안쓰게 되는 수순으로 진행되었기 때문에 제대로 된 이슈 트래킹으로 JIRA를 쓰거나 또는 이슈 트래킹 프로세스를 도입하지 않거나 하는 고민을 하게 되었습니다.
입사 초기에는 기존 구성원들이 익숙한 방식대로 이메일과 대면 의사 소통에 의해서 업무를 진행 했었는데, 한달 반쯤 이후에 서버 개발자 2명, iOS 개발자 1명이 동시에 입사하면서 내부 개발팀에 대한 막연한 기대가 증폭되고 각 분야별로 업무 요청이 쇄도해서 업무 관리의 필요성이 대두되어 무모하다고 생각했지만 그냥 JIRA를 도입해서 밀어붙였습니다.
- 개발팀 요청은 무조건 JIRA로 진행하고 업무 충돌이 발생하는 경우에는 개발팀은 각 업무에 대한 예상 공수만 산출하고 경영진이 우선순위 의사결정을 한다.
- JIRA에서 진행 중이 아닌 이슈는 실제로 진행하고 있지 않은 것이니 업무상 반드시 필요하다면 다른 업무를 빼고 진행할 수 있도록 경영진 합의를 받아라.
- 그럼에도 불구하고 기존 업무에 추가해서 진행해야 하는 사항이라면 외주 인력 투입에 대한 비용 품의를 받으면 개발팀이 외주 인력을 투입해서 일시적으로 Capa를 늘리겠다.
어쩌면 공무원스럽고 어쩌면 스타트업에 맞지 않는 정책이라는 느낌이 있었지만 업무에 사람을 맞추게 되면 개발팀이 100명이어도 부족한 상황이라 사람에 업무를 맞춰야 한다는 판단을 했습니다.
4주째 JIRA로 업무를 진행 중인데 개발팀이 투명하게 업무를 진행하고, 진행 중인 업무에 대해서는 매일 스크럼을 통해서 또는 실시간으로 JIRA 이슈에 진행 상황 comment를 추가하니 전사 스크럼이 아니더라도 공유가 이루어져서 다행히도 별 무리 없이 진행되고 있습니다.
어렵게 JIRA를 도입한 이후에는 DVCS connector를 통해서 ticket 기반 git smart commit 기능을 사용할 수가 있어서 Release Note에 JIRA 이슈 리스트만 넣어도 code history까지 같이 파악이 가능하니 개발 입장에서 많은 잇점이 생기는 것 같습니다.
bitbucket은 atlassian 정책에 따라서 사용자별 과금 체계이고, github은 repository별 과금 체계인데 저희는 bitbucket과 github를 동시에 사용하고 있습니다. github organization account는 JIRA DVCS connector 연결을 지원하지 않는 문제도 있지만 상황에 따라서 추가되는 외주 인력으로 인해서 불필요한 bitbucket 비용을 지불하는 것이 부담이 되는 것도 있고 내부 코드를 외주에 모두 공개하는 것이 적절하지 않다고 생각했던 것도 있습니다.
외주 인력이 작업하는 repository는 github에 생성해서 해당 인원에 대해서 권한을 주고 외주 인력이 commit하는 code는 bitbucket으로 merge하는 작업을 진행합니다. 외주 프로젝트는 제한적이기 때문에 github 최소 과금 모델로 진행해도 추가 비용 부담 없이 인원수를 무제한 추가할 수 있습니다.
그리고, 현재 저희 회사 개발팀이 4명이기 때문에 5명까지 무료인 bitbucket를 사용하는 경우 무제한 repository를 무료로 사용할 수 있어서 간단한 sample project나 test project도 부담 없이 생성할 수 있는 장점도 있습니다.
Jenkins나 redmine, ldap, .. 은 오늘도 얘기를 못꺼냈네요.. 별거 없기는 한데 다음에 다시 쓰도록 하겠습니다.