팀 토이 프로젝트 일지 2

[[TOC]]

1. 협업을 위한 개발환경

지난 시간에는 팀원들이 처음 모여, 각자의 생각을 이야기하는 시간을 가졌었습니다. 물론 주제에 대한 이야기도 많이 했으나, 프로젝트를 완성하기 이전에는 주제에 관한 직접적인 언급은 피하고 싶네요. 다른이유보다도 완성 전에 프로젝트에 대해 밝히기도 부끄럽고, 작업 내용을 공개하는 것에 대해 다른 분들과 협의를 보지 못했기 때문이 큽니다.😓

아무튼, 개발을 시작하기에 앞서, 팀의 지향점 중 하나로 협업 환경의 구현이 있었습니다. 저희 모두 실무에 가까운 개발을 진행해보고자 하는 마음이 있었기 때문에, 시작부터 개발환경을 잘 정리하고 시작하고 싶었습니다. 그래서 저는 개인적으로 협업을 위해 필요한 환경들에 대해 알아보기 시작했습니다.

2. 협업을 도와주는 것들

1. 칸반보드(kanban board)

협업에서 제일 중요한 것은? 바로 일정관리! 라고 할 수 있습니다. 팀원들간의 일정을 공유하고, 프로젝트의 진행상황을 조율하는 것이 무엇보다도 중요하지요. 그래서 제일 먼저 팀의 일정을 관리하는 방법에 대해 알아보았고, 그러던 중 칸반보드에 대해 알게 되었습니다.

1. 칸반보드란?

애자일 소프트웨어 개발(Agile Software Developement) 시 많이 사용되는 툴의 한 종류입니다. 작업의 진행 상황이 모두에게 공유됨으로서 팀원/조직간 작업 상태를 실시간으로 확인할 수 있다는 점에서, 빠르게 테스트와 개발, 수정이 이어지는 애자일 소프트웨어 개발 방식에 잘 맞는 방법입니다.

칸반의 가장 큰 특징은 “작업의 시각화” 라고 할 수 있습니다. 우선 칸반은, 각 업무를 포스트잇 1개로, 사내의 모든 업무를 게시판으로 생각하는 것에서 시작합니다. 업무를 관리하는 이 게시판은, Swimline 이라는 틀로 나누어지며(파란색 점선) 각 부서가 이 틀을 하나씩 나누어 갖는 형태로 구성됩니다. 이렇게 함으로서, 각 부서별로 독립적으로 작업을 시행할 수 있고, 진행 내역을 한눈에 확인할 수 있게 됩니다. 이러한 작업을 통해, 업무 진행에서 발생하는 혼란을 줄이고, 프로젝트에 존재하는 병목을 확인하고 관리할 수 있게 됩니다.특히, In Progress 항목(개발부서) 의 내용은 최대로 들어갈 수 있는 카드의 개수를 제한함으로서 각 개발자 혹은 작업자가 가져온 업무에 집중하고, 일정한 속도를 낼 수 있도록 도와줄 수 있습니다. (출처 - KANBAN Board란 무엇일까?)

image-20210929173452956

2. Trello

쉽게 말해, 포스트잇 형태로 소 일정을 부서별로 붙이고, 그렇게 모인 포스트잇이 전체 개발 일정을 나타내는 방법입니다. 저희 팀은 온라인 모임이다 보니 칸반보드 기능을 제공하는 프로그램을 찾아보았는데, 이 중 Trello라는 프로그램이 있었습니다. 이 외에도 여러 프로그램이 있었지만, 대표적으로 사용되는 프로그램 중 하나를 골라보았습니다.

2. Notion

칸반보드에 대해 알았지만, 칸반보드는 일정에 대한 양식이기 때문에 일정 이외의 프로젝트의 개요, 공지, 기타등등에 대해 문서화할 필요가 있습니다. 이 또한 팀원들끼리 공유할 수 있어야 하는데, 이러한 기능을 제공하는 사이트 중 가장 유명한 곳이 바로 Notion이라고 할 수 있습니다. 사실 notion은 제가 소속된 캠페인에서 이미 사용되고 있었기 때문에 낯설지 않았단 점이 가장 큰 이유라고 할 수 있겠네요.🤗

3. Slack

마지막으로, 저희가 실시간으로 모여서 얘기하고, 또는 자료를 공유할 수 있는 장소가 필요하다고 생각했습니다. 기본적인 채팅은 카카오톡으로도 가능하지만, 그것보다는 좀 더 기능적으로 업무에 치중한 공간이 필요했고, 그 중 slack이라는 어플리케이션이 눈에 띄었습니다.

slack은 동업자들간의 소통을 목적으로 만들어졌습니다. 기본적인 채팅기능을 포함하고 있고, 동업자 일부 혹은 전체에게 특별한 메시지릴 보낼 수 있는 멘션 기능, 파일이나 다른 여러 종류의 공유를 제공하는 시스템 등이 특징입니다. 특히 그 중에서도 slack내 애드온을 통한 확장 기능이 제 눈에 띄었습니다.

1. slack의 app

slack에서는 slack에서 사용하는 확장 프로그램등을 app으로 통칭하고 있습니다. 이러한 slack app에는 정말 다양한 외부 프로그램을 지원하고 있습니다. 예를 들어

  • trello
  • simple pole(간단한 투표를 위한 app)
  • notion
  • 등등등…

그렇습니다! 제가 위에서 언급했던 협업 툴을 전부 지원하고 있던 것입니다!:open_mouth: 제 입장에서는 이보다 좋을 수 없었지요. 바로 사용 테스트를 진행해보았는데, 대부분 영어란 점, 그리고 각 외부 프로그램별로 회원 가입과 연동 과정을 번거롭게 거쳐야 한다는 점을 빼면 정말 손쉽게 연동 및 사용이 가능했습니다.

3. 그래서 팀원들의 반응은..?

이상으로 기본적인 협업 환경에 대해 조사를 해보았습니다. 하지만 사용하기 전 가장 중요한 마지막 관문이 남아있었는데요, 바로 팀원들의 동의입니다. 아무리 혼자 좋다고 해보아도, 모든 팀원이 공유하지 않는다면 그 환경은 협업 툴로서의 가치를 잃겠지요. 그래서 모두가 모였을 때 협업 툴의 사용에 대해서 물어보았습니다.

팀원들의 반응은 다행이 좋았습니다. 저도 잘 몰라서 제대로된 설명이 힘들었지만, 새로운 것을 써보자는 의견에 다들 동의해 주었습니다. 이것으로 프로젝트를 시작할 대략적인 준비는 갖춘 것 같습니다