JIRA + CONFLUENCE + FISHEYE 구축기
이번 글은 MBA 과목 중 노상규 교수님께서 지도해 주셨던 '경영정보' 과목에서 발표했던 자료를 기반으로 작성해 본 내용으로 기업의 생산성을 높이기 위해서 도입되는 여러 정보시스템 중 온오프믹스가 도입하고자 했던 정보시스템에 대해서 소개하고 과정에서 얻은 교훈을 이야기하고자 작성한다.
정보시스템을 구축하기 위해서 어떤 시스템을 어떤 목적으로 구현할 것인가에 대해서 정의하는 것이 필요했는데 경영적인 입장과 실무적인 입장에서 놓고 봤을 때 온오프믹스는 '업무관리' , '지식관리' , '형상관리' 세 가지 요소가 필요하다고 판단했고 그 이유는 다음과 같았다.
각각의 요소를 충족시켜줄 수 있는 시스템이 무엇인가를 판단하는 것이 중요했는데 경험을 통해서 아는 것이 보배라고 필자는 네오위즈를 다니던 시절 WIKI를 이용해서 지식화 시스템을 구축해서 활용하는 것과 , CDNetworks를 다니던 시절 당시 2개의 해외지사와 빠르게 정보를 교환하고 업무를 트래킹 하기 위해서 'Jira + Confluence + Fisheye+@' 조합을 사용했던 것을 토대로 창업 초기부터 업무관리용으로 어떤 시스템을 구축해서 사용해야 하는가에 대한 빠른 판단을 할 수 있었다.
초기에는 정보시스템의 필요성에 대해서 몸소 체험했던 터라 모두가 이러한 시스템의 필요성을 느끼고 잘 활용할 것이라고 생각하고 스타트업이니까 시스템에 업무 프로세스를 맞추든 업무 프로세스에 시스템을 맞추든 하면 3개월 내에 구축해서 빠르게 활용을 할 수 있을 것이라고 생각했었다.
하지만 실제로 전사에 모든 시스템을 제대로 연동해서 사용하기 까지는 총 4년 6개월이 걸렸다.
업무 관리시스템은 사용하기 어렵고 에러가 자주 난다는 이유로 초기 3년간은 개발팀과 경영진만 사용을 했고, 지식 관리시스템은 어떻게 활용할 것인가에 대한 정의와 정책을 정하지 못해 소수가 중구난방으로 각자의 의도대로만 사용을 했고, 형상 관리 시스템의 경우에는 당시 담당 매니저가 해당 시스템을 구축하기 위해서는 모든 업무를 3-6개월간 멈추고 진행해야 한다면서 방어를 하는 바람에 4년 6개월간 구축을 하지 못했다.
이 부분을 해결하기 위해서는 각 시스템이 갖는 의미에 대해서 함께 공감하는 시간을 갖고, CEO 입장에서 왜 필요한지에 대해서 의견을 이야기하는 것이 필요했다.
이 부분을 해결하는데 무엇보다도 큰 공을 세운 것은 부사장으로 가장 IT와 멀리 있었던 '운영팀'의 업무를 정보시스템을 통해서 체계화하는 작업을 함께 해줌으로써 꼭 개발팀만 사용하는 툴이 아니라 모두에게 좋은 툴이구나 라는 인식을 가질 수 있게 해줬다.
이 부분을 해결하기 위해서는 사용방법을 체계화하고 메뉴얼화 하여 교육하는 것이 필요로 하였는 데 사용방법을 체계화하는 작업은 부사장이 리드했고, 매뉴얼 작업과 교육하는 작업은 운영팀장이 준비해서 신입사원 입사시마다 교육을 했더니 자연스럽게 회사 전체에서 활용하는 것이 가능하게 되었다.
시간이 흐르고 형상관리 시스템이 실제로 도입되는 과정을 보니 이전에 형상관리 시스템이 구축되지 않고 방어의 논리로 제시되던 3-6개월의 업무 중단이 필요하단 이야기는 사실이 아니었다. (실제 형상관리 시스템이 구축되고 적응하는 데는 구축에 2주, 적응에 2개월 정도의 시간이 걸렸고 이 과정에서 업무를 중단하는 일이 발생하지 않았다.)
당시 담당 매니저가 자신의 업무량이 측정되는 것을 원하지 않아서 방어를 했던 부분으로 해당 매니저를 다른 부서로 옮기고 새로운 매니저가 맡게 만드는 것으로 이 문제를 해결했다. ( MBA에 들어와서 한 학기 수업을 마칠 때쯤에서야 당시 담당 매니저가 '대리인 문제'를 발생시키고 있었다는 것을 제대로 정의할 수 있었으니 CEO의 무지함이 얼마나 많은 손해를 만드는지가 여기에서 나온다 )
JIRA 만을 이용해 개발업무에 필요한 모든 업무기록을 했다.
모든 업무의 실무적인 Activity와 관련 첨부파일을 기록한다
업무 진행과 관련해서 필요한 사전 정보 및 연구과정의 정보들을 기록한다.
사규, 팀장회의, 출장 기록 등
프로젝트를 Epic 단위로 분류하여 Epic 밑에 Sub Task 들을 넣어서 프로젝트를 관리한다
프로젝트와 Task의 기반이 되는 정보들에 대해서 기록한다.
필요시 Jira의 Task List를 불러다가 표시하기도 한다.
업무 진행과 관련해서 필요한 사전 정보 및 연구과정의 정보들을 기록한다.
개발 작업을 실시간으로 SVN에 SYNC 하고 개발자 간에 보유하고 있는 소스가 일치되게 한다.
Kanban Board를 이용해서 해당 프로젝트의 어떤 Task가 어떻게 진행되는지 비개발 부서가 쉽게 알아볼 수 있게 변경되었다.
다양한 필터를 사용해서 업무들의 해결 상황과 미해결 상황에 대해서 숫자로 파악할 수 있게 되었다.
그래프를 통해서 팀별 요청 업무가 얼마나 빠르게 해소되고 있는지를 파악할 수 있게 되었다.
Fisheye+Crucible과 연동하여 Task 별로 실제 개발 작업한 내용을 바로 확인할 수 있게 되었다.
Jira와 Fisheye와 연동을 해서 보다 체계적으로 프로젝트와 관련된 지식과 정보를 쌓기 시작했다.
각자의 데스크톱에 개별 테스트 환경을 구축하여 디버그 과정을 수월하게 했다.
개발 완료된 소스는 SVN에 올라가고 Fisheye + Crucible에 내용이 실시간으로 반영된다.
담당 매니저의 검토 후 SVN의 내용은 테스트 서버에 적용이 되고, 테스트 서버에서의 테스트가 문제없을 경우 담당 매니저가 실 서버에 배포하는 명령어를 통해서 바로 실서버에 배포하게 되었다.
만약 배포된 소스에 문제가 생겼을 경우 언제든 이전 버전으로 Rollback 할 수 있게 되었다.
이전 회사를 통해서 나 혼자 갖고 있었던 경험은 경험일 뿐이었으며, 해당 시스템의 구축 과정에 참여하지 않았기 때문에 활용만 했지 어떻게 설계하고 어떻게 체계를 세워야 전사가 잘 활용할 수 있을지를 잘 몰랐다.
만약 부사장과 운영팀장이 체계화하는 작업을 하지 않았다면 적극적인 활용도가 조금 더 늦어졌을지도 모른다. 그런 측면에서 좀 더 초기 단계에서부터 함께 논의하고 체계를 만들며 진행했으면 더 빠르게 잘 활용할 수 있지 않았을까 하는 생각을 해본다.
얼마 전 현임 IT Manager와 5시간에 걸친 1:1 논의 끝에 내가 원하는 것이 무엇인가에 대한 공감대를 형성한 이후 IT Manager가 나에게 보여주는 정보시스템 기능을 활용한 업무 진행 플로우나 프로세스의 변화는 이전의 몇 년간의 경험과 비교해 봤을 때와 너무나 다르다.
사람마다 일 진행하는 스타일이나 마인드가 다르다는 것은 알고 있었지만 '회사를 위한 일이라면 어떻게든 해야 한다'라는 마인드를 가진 IT Manager 도 '그걸 왜 하고 싶은가'에 대해서 공감하지 못하면 '원하는 것을 들어주기, 더 나은 제안을 해주기'가 불가능하다는 것을 알고 나니까 어떻게 하면 더 내 생각을 잘 전달할 수 있을까에 대해서 더 노력을 하는 것으로 노력의 포인트가 변하게 되었다.
여전히 숙제는 있다.
Jira + Confluence + Fisheye 조합은 아직까지는 '서비스 개발'에 국한되어서 활용하는 정보시스템으로
1. 재무/회계 정보를 각 프로젝트와 연결해서 '내부 회계 체계(관리회계)' 시스템 구축이 필요하고
( 프로젝트/업무별 원가정보 파악을 통해서 성과에 따른 보상체계 구축 및 합리적 의사결정 체계 구축 )
2. 세금계산서 및 정산서 관련 업무를 자동화해서 운영팀과 재무팀 협업 구간을 간소화시켜 '고객 경험(Customer Experience)'에 집중할 수 있게 만들어야 하고
3. 우리에게 맞는 CRM(고객 관계 관리) 시스템을 만들어서 사업팀 역시 영업/마케팅 측면에서 보다 정확한 예측과 실행을 하고 고객 경험을 증대시킬 수 있게 해야 한다.
제한된 리소스를 갖고 있는 스타트업으로서 얼마나 이러한 체계를 잘 구축해 나갈 수 있을지 걱정되지만 현재의 동료들과 현재의 팀워크이라면 충분히 잘해낼 수 있을 것이라고 기대해 본다.