스타트업, 함께 일하는 능력 기르기(feat. Atlassian)

DaeHyun Baek
PLUS TV
Published in
14 min readOct 27, 2019

스타트업 조직이 성장하다 보면 “협업"과 관련된 이슈가 종종 발생하는데, 플러스티브이가 성장하며 겪은 문제들과 이를 함께 해결하고 성장해보려는 고민들을 공유해보려 합니다.

스타트업은 급격한 성장이 기대되는 초기 기업이라는 특성을 가지고 있습니다. 사업이 궤도에 오르게 되면 고객, 제품, 매출, 구성원이 빠르게 늘어나게 됩니다. 처음에는 카톡으로, 말로 업무를 공유하고 논의하면 충분하지만 점점 사람이 늘어나고 사업의 복잡도가 높아지고 업무가 세분화되면서 커뮤니케이션 이슈가 발생하게 됩니다.

회의 끝나고 회의 시작하고 회의 끝나고 또 회의 시작하고.. 😩
왜 이 이슈가 공유가 안되었나요 😡
고객이 원한건 이게 아니었는데.. 🤡
아 잊어버렸어요… 😱
저 오늘 뭐해야 할까요 🐣
무슨 API 써야하나요..? 🥺
이번에 무슨 기능 추가됐어요? 🧐
맞다 이거 오늘까지 해야하는데 좀 부탁해요 ☠️
개발팀이 뭐라는지 모르겠어요 🤮
그거 안돼요. 못해요. 🤷‍♂
제플린에서 그거 명세를 못찾겠어요 💦
다른분 한테는 공유 했었는데…😳

영업과 기획, 회계와 개발, 디자인과 운영, 서버 개발과 웹 개발, 개발과 디자인 등 사람이 늘 수록 대화해야 하는 노드(Node)는 늘어나고 주고 받는 업무 요청의 맥락도 다양해집니다. 그 만큼 불필요한 회의가 늘고 Context-Switching 비용(문맥 전환 비용 : 이런저런 업무를 섞어 하다 업무의 맥락을 다시 이해하는데 걸리는 시간 ● 정신적인 소비)이 발생하고 점점 내 시간을 관리하기가 어려워집니다.

이를 위해 많은 스타트업이 성장하며 점점 협업에 대해 고민을 하게 됩니다. 커뮤니케이션 메신저(Slack, Jandi), 업무 시스템(Jira, Azure Devops, Redmine, Asana, Trello, Notion..), 문서 도구(Confluence, Notion, Google Drive…), 형상관리 도구(Bitbucket, Github, Gitlab…), UX/UI 협업 도구(Sketch, Zeplin, Figma,…) 등 다양한 도구를 도입하고 이와 함께 정책과 문화에 대해 고민하며 효율적인 협업을 위해 노력합니다.

이 글에서는 특히 업무 시스템(Jira)문서 도구(Confluence)를 중심으로 플러스티브이의 함께 일하는 능력을 길러보려는 고민과 노력을 공유해보려 합니다. (Atlassian 관계자 아님..🤷‍♂️)

업무 시스템 (Jira)

제가 입사한 2018년의 플러스티브이는 구성원 10명 미만의 조직이었습니다.개개인의 업무는 Google Spreadsheets에 업무를 기록하는 방식이었는데, 돈 안들고, 쉬웠지만 업무와 관련된 상세 맥락, 상태를 알기 어렵고 각각 업무에 대한 커뮤니케이션이 구두로 이루어져 업무를 놓치거나 잘못 이해하는 문제가 종종 있었습니다.

이 문제를 해결하고 효율적인 업무 관리를 위해 개발팀부터 Jira Kanban Board를 도입하였습니다. 새로운 도구 & 정책을 도입할 때 한번에 너무 갑작스럽게 많은 새로운 방식을 도입하려 하면 동료들이 부담스러워 할 수 있기에 유의해야 합니다. 🙏

기존 방식에서 개선 가능한 부분들을 공론화하고 이에 적용할 수 있는 방법에 대해 함께 고민하기

  • 당시 플러스티브이의 경우 고객에 의한 우선순위 변경이 종종 발생하고, 새로운 개발과 유지보수 작업이 혼재되어 있고 개발 공수 산정에 익숙하지 않아 예측이 어려웠습니다. 이에 애자일 칸반 방식이 도입하기 적합하다고 생각되어 칸반에 대해 소개하여 도입하게 되었습니다.

JIRA Kanban Board를 통해 시각적으로 업무 흐름 관리

  • 기존에 Confluence를 문서 도구로 적극적으로 사용하고 있었는데, 자연스럽게 Confluence와 강력하게 연동이 되는 Jira의 Kanban Board를 도입하게 되었습니다. (관리 공수를 고려해 Cloud를 사용)
  • SpreadSheets에서 사용하던 업무를 칸반 보드로 적고 TO-DO / WIP / REVIEW / DONE 으로 작업 흐름을 모두가 한눈에 확인할 수 있도록 하니 서로의 업무 진행 상황과 전체적인 작업 속도 파악, 업무 요청과 우선순위 조정이 자연스럽게 진행될 수 있었습니다.

새로운 방식에 적응하며 업무 방식 개선 필요성

  • 투명한 업무 공유, 유연한 계획, 제한된 업무 진행을 통한 집중은 도움이 되었지만 구성원들이 칸반에 익숙해지자 점점 업무 방식에 개선의 필요성을 느끼게 되었습니다.
  • 고객에게 기능을 제공해야 하는 데드라인은 필연적으로 존재하지만 스프린트가 없다보니 릴리즈 범위의 예측이 어려웠고, 시간이 지날수록 TO-DO List가 방대하게 쌓여가고, 업무간의 관계 파악이 어려워지고, 고객의 요구사항이나 이슈는 여전히 구두로 전달이 되어 커뮤니케이션 미스가 발생했습니다.

Kanban 업무 방식 개선

회고를 거쳐 플러스티브이 조직에 맞게 칸반을 점진적으로 커스텀 및 개선하기 시작했습니다.

  • Kanplan (백로그 적용) : 효율적인 작업 후보 관리를 위해 백로그를 별도로 분리하였습니다. TO-DO에는 가능하면 1~2주 안에 작업할 범위만 놓고 빠르게 작업합니다.
  • Issue Type : Epic(업무 대분류), Story(사용자 요구사항 : 고객, 내부 관리자, 파트너사 포함), Task(사용자 요구사항 외 업무 : 단일 작업으로 가능하면 별도의 Sub-Task 없이 진행), Sub-Task(Story 또는 Task에서 발생하는 세부 수행 업무), Bug(단일 작업으로 해결되는 버그), Enhancement(단일 작업으로 끝나는 개선사항)를 명확히 구분하여 사용합니다.
  • Issue relation : 이슈들간의 관계(relates to, is caused by, is blocked by…)를 적극 활용하여 명확하게 관련 이슈, 원인, 방해사항 등을 파악할 수 있게 하였습니다.
  • Iteration (1주 단위 Release) : 추정의 효과에 회의적이라 별도의 스크럼 계획 회의는 하지 않되, 칸반 흐름에 주기를 넣어 1주일 단위로 릴리즈 & 버저닝합니다. 비즈니스단의 Epic 및 Story 우선순위 조정에 맞춰 개발팀에서 대략적인 주간 배포 계획을 공유합니다.
  • Daily Meeting (10분 내외) : 프로젝트 인원과 업무가 늘다보니 칸반 보드에서 다른 사람의 업무까지 한눈에 파악하기 쉽지 않아졌습니다. 이를 해소하기 위해 매일 아침마다 간단하게 각자 어제 이슈와 오늘 작업 이슈를 공유하는 시간을 갖게 되었습니다.
    미팅 전에 ConfluenceDaily Meeting Notes를 만들어 사용하고 있으며 Blueprint 템플릿에서 Jira Issue의 TODO, WIP, REVIEW를 JQL을 통해 자동으로 추출하여 생성하고 각자 일부 조정하여 작성합니다.
    추가적으로 별도 논의가 필요하면 Parking Lot을 활용해 데일리미팅 이후에 별도로 간단히 논의합니다.

Integration

업무 효율성을 위해 Jira 외 도구와 적극적으로 연동하여 사용하고 있습니다.

  • IDE Integration : 개발팀에서는 IntelliJ IDE(Pycharm, WebStorm, Android Studio)를 사용하고 있는데, Jira와 자연스럽게 연동이 가능합니다. Task Open을 통해 쉽게 이슈를 선택하여 해당 Branch를 생성합니다. 브랜치를 생성하며 해당 이슈를 자동으로 WIP로 옮길 수 있습니다.
이슈 번호가 생각이 안 나서 다시 지라를 찾아보지 않아도 됩니다 👨‍💻
  • Bitbucket Integration : 형상관리 도구로 동일한 Atlassian의 Bitbucket을 활용하며 JIRA와 연동합니다. 개발을 진행하며 Branch명Commit prefix를 이용하여 어떤 이슈에 해당하는 작업 내용인지 명시하기 때문에쉽게 연동이 가능합니다.
    간단한 Jira Board Workflow trigger 설정을 통해 Branch가 Pull Request가 되면 자동으로 해당 이슈가 Review status로 이동되도록 설정하였습니다. (이제 TO-DO, WIP, REVIEW 까지 지라 보드에서 직접 옮기지 않아도 자연스럽게 이슈 상태가 최신화 됩니다 👍)
    Jira issue를 기반으로 개발을 진행하게 되니 자연스럽게 (귀찮은거 잘 안하는) 개발자들이 Jira를 항상 켜놓고 꾸준히 문서화와 기록을 남기게 되니 별도의 번거로운 작업을 하지 않아도 됩니다.
Workflow Transition Trigger를 통해 쉽게 설정 가능합니다 🐥

다른 팀에도 전파하기

개발팀이 Jira에 어느정도 적응하고 적극적으로 활용하면서 다른 팀(영업, 운영, 마케팅, 사업기획, 경영지원 조직)에도 소개하여 전사적으로 Jira를 사용하면 더욱 유기적으로 함께 일할 수 있다고 생각되었습니다.

때 마침 회사에서 제주도로 워크샵을 가서 비즈니스팀을 대상으로 세션을 진행하여 Agile, Kanban, Jira에 대해 소개하는 시간을 가지고 필요성과 사용법에 대해 전달하는 기회가 있었습니다.

세션 진행하는 사진이 없다…🥺

새로운 방식에 대한 의심과 걱정..🧐도 있었지만 비즈니스팀도 업무 시스템을 지라로 사용하기로 결정하여 비즈니스 팀을 위한 칸반 프로젝트를 생성하고 현재까지(6개월 경과) 유용하게 사용하고 있습니다.

문서 도구 (Confluence)

플러스티브이에서 Confluence(Cloud)는 다양한 목적의 협업 도구로 활용되고 있습니다. 유용한 매크로가 많고 Jira와의 강력한 연동이 가능합니다. 또한 최근에 뜨고 있는 Notion을 의식해서인지, 기존에 사용하기 어렵던 UX를 개선하고 깔끔한 UI를 제공하는 새로운 에디터도 점진적으로 적용하고 있습니다. 사실 몇가지 이유(이쁘지 않음, 종종 매우 느려짐..)로 노션으로 옮길까 고민 많이했었지만 Jira 연동과 New style editor에 붙잡혔습니다..️ (노션 캐주얼하고 직관적이고 이쁘고 좋더라…크흠💧)

Daily Meeting

위에서 소개했던 이유로, 매일 아침 Confluence에 기록하고 10분 내외로 모여 데일리 미팅을 진행합니다. (우리의 다리는 소중하기 때문에 굳이 서서하진 않구요🤭) 어제 한 일과 오늘 할 일을 하나하나 적으면 시간이 소요되니 (귀찮으니까) 우리는 여기서 아래와 같이 JQL을 간단히 이용하여 반자동화 합니다.

  • Done

assignee = 백대현 && status in (‘Review’, ‘In Progress’) && issueType not in (‘Epic’, ‘Story’)

  • To-Do

assignee = 백대현 && status in (‘Selected for Development’, ‘In Progress’) && issueType not in (‘Epic’, ‘Story’)

Epic과 Story는 실제 각자의 업무가 되지는 않으니 제외하고, Daily Meeting Blueprint에 만들어 놓아 매일 문서가 생성될 때 마다 그날 Jira에 있는 실제 진행 업무 status에 따라 자동으로 [어제완료한 일, 지금 진행하고 있는 일] / [지금 진행하고 있는 일, 진행할 일]이 Jira Chart에 기록됩니다. (이제 덜 귀찮아요..🎉)

Retrospectives (회고)

플러스티브이에서는 1주일마다 회고를 진행합니다. Confluence의 회고 노트에 KPT(Keep: 좋았던것 / Problem: 나빴던 것 / Try: 다음 시도 할)를 기준으로 일하는 방식에 대해 회고하며 업무 효율을 지속적으로 개선합니다.

Requirements (사용자 요구사항)

사용자 요구사항은 고객 뿐 아니라 내부 비즈니스단 요청, 파트너사의 요청과 같이 다양한 종류 & 레벨의 요구사항을 받아 이를 도출하는 과정을 거칩니다. <이전 포스팅 참조>

- 정보가 미비한 부분에 대한 구체화
- 요구가 명확하지 않은 부분에 대한 확인
- 일정, 비용, 우선순위 등에 대한 리스크 분석
- 고객 니즈에 맞는 역제안

고객의 이슈 & 요구사항은 보통 개발팀으로 직접 들어오지 않고 영업, 운영 조직을 통해 들어오게 됩니다(ITSM을 사용하기에는 아직 조직이 작기에). 기존에 요구사항이 구두로만 전달되어 커뮤니케이션 미스가 발생한 경우가 종종 있어 요구사항 창구로 슬랙 채널(#help-solution)을 하나 만들어 사용하고 있습니다. 들어오는 요구사항은 1차적으로 JIRA 이슈로 생성하여 추적사항을 공유하고 요구사항 도출 & 정제가 필요한 경우 Confluence에 연결하여 진행합니다. (Jira Issue를 통해 요구사항이 Slack, Jira, Confluence에서 자연스럽게 연결됩니다)

Product Specifications (기능 명세서)

도출된 사용자 요구사항을 정제하여 제품에 대한 기능 명세를 작성합니다. 명세를 작성할 때는 적절한 추상화 과정을 거쳐 UI 의존적인 내용을 덜어내고 제플린에 기능적인 내용을 의존하지 않습니다. 또한 명세도 원할한 유지보수가 될 수 있도록 발췌, 태그 등을 적극적으로 활용하고 독자(개발자, 디자이너, 운영자)가 명확하게 의미를 이해할 수 있도록 표현에 유의합니다.
플러스티브이의 명세는 아래 도서에 많은 영향을 받았습니다.

Specification by Example

명세가 새로운 요구사항, 변경사항, 작업사항에 따라 가능하면 항상 최신화가 되어 Living Documentation이 될 수 있도록 많은 노력을 쏟고 있습니다.
(조만간 기술블로그를 통해 기획자님이 자세히 소개드릴 예정입니다 🧚‍♀️)

추가적으로 문서의 가독성과 최신화를 위해 최근에 명세서를 New style editor 로 업데이트 하는 작업을 하였습니다.

Release Notes

노션 부럽지 않은 New Style Editor ⭐️

매주 제품을 릴리즈를 하며 업데이트 내역을 Confluence에 기록 & 공유하고 있습니다. Notion으로 릴리즈 노트를 공유하다가 이중으로 결제하는게 부담스러워 Confluence로 돌아왔습니다.(빨리 새로운 에디터 업데이트 적용해주시라…😩) Confluence에 아래와 같이 공개용 Plustv Blog Space를 별도로 생성하고 Anonymous 권한 공개를 하여 고객들도 제품의 업데이트 사항을 확인할 수 있도록 하였습니다.
- 릴리즈 노트 (아쉽게 컨플루언스 모바일이 아직 대응이 안됩니다)

마치며

협업에 대해 문제를 겪고 고민하면서 Atlassian의 Jira, Confluence, (Bitbucket)에 많은 도움을 받고 있습니다. 위에 소개한 바와 같이 조직 특성에 맞게 도입하고 점진적으로 계속 개선해가면 성장하는 조직에서 여러 협업 이슈들에 유연하게 대응하며 함께 일하는 능력을 기를 수 있다고 생각합니다.

물론 도구나 방법론에만 의존하면 안되고 구성원 개개인의 서로 이해하고, 배려하고, 함께하려는 꾸준한 의지와 노력이 있어야 협업 이슈를 극복하고 개선하고 성장할 수 있는 것 같습니다.

플러스티브이도 아직 부족하고 배울 것 많은 성장하는 조직이지만 저희가 고민하고 노력하는 내용이 비슷한 문제를 겪고 있는 분들에게도 도움이 되었으면 좋겠습니다. 🙇‍♂️

읽어주셔서 감사합니다.

# 플러스티브이는 적극 채용중입니다!
# 최근 투자를 받았습니다 🚀

--

--

DaeHyun Baek
PLUS TV
Editor for

Agile Developer🚀, Enjoy Trip✈️, Love Wine🍷