대본

 
안녕하십니까, “프로젝트의 익힘이 굉장히 타이트해요.”의 발표를 맡게 된 강민석입니다. 반갑습니다.
 
저는 이스포츠 빅데이터 분석회사인 팀스노우볼에 다니고 있습니다. 현재 팀스노우볼은 라이엇 게임즈, 크래프톤 그리고 한국 이스포츠 협회와 함께 일하고 있습니다.
 
오늘 할 이야기를 설명드리겠습니다.
 
우리 회사의 프로젝트 사이클이 어떻게 굴러가는가에 대해서 살펴보고자 합니다.
 
혹시 여기 스타트업에서 함께하시는 분 계신가요?
 
혹시 여러분은 프로젝트를 몇 개나 다루시나요?
 
저희 회사는 라이엇 게임즈, 크래프톤, 케스파 그리고 자사 서비스까지 정말 많은 프로젝트를 다루고 있습니다.
 
그러다보니 프로젝트를 진행하는데 개발자들 간의 고도의 테크닉이 필요합니다.
 
그러다보니 다양한 사건 사고들이 생기는데요. 그 중 가장 평범하고, 공감할 수 있는 문제를 하나 이야기 하려고 합니다. 화면에도 보이듯이 프론트엔드에서 데이터를 받을 때, 생기는 문제에 대해서 이야기 해보려고 합니다.
 
제가 들었던 가장 이상적인 인터페이스를 만드는 방법은 API를 만들기 전에 백엔드와 프론트엔드가 한 자리에서 모여서 어떻게 주고 받을지 의논한다고 들었습니다. 그러나 저희 회사는 지금도 동시에 5개의 프로젝트를 하고 있기 때문에 이렇게 중간에 데이터를 의논하는게 순서에 안맞을 수 있습니다. 그렇기 때문에 이런 과정이 어렵더라구요.
 
그리고 저희 회사는 프로젝트 기간은 대체로 6주 입니다. 프로젝트가 어떻게 흘러가는지 살펴보시죠.
 
저희 회사는 요구사항이 떨어지면, 각자가 맡은 일을 하게 됩니다. 기획자는 전체적인 틀을 잡을 수 있는 전체 기획을 하고, 디자이너는 프론트엔드와 디자인 시스템을 만들고 백엔드는 요구사항에 맞는 데이터를 수집하기 시작합니다.
 
여기서 기획자가 전체 기획을 끝내면 기획자는 상세 기획을 하고, 디자이너는 UI 디자인이 가능해집니다. 백엔드는 데이터 설계가 가능해지구요.
 
이후에 디자이너분께서 독주를 하시다가 기획자분께서 상세 기획을 마치게 되면 기획자는 QA 문서 작업을 하게 되고, 다른 기술자들은 상세 기획을 검토하게 됩니다
 
각 기술자들이 상세 기획 검토가 끝나게 되면 디자이너와 프론트엔드는 디자인 수정을 하거나 구조를 변경하기도 합니다. 백엔드 같은 경우에는 기획대로 보여주기 위해 데이터를 가공합니다.
 
백엔드는 데이터가공이 끝나고 API 개발에 들어가는데, 여기서 문제가 발생하게 됩니다. 그 사이에 기획 수정이 생겨버리는 것이죠.
 
기획자는 기획 수정이 완료되면서 각자 전파하는데, 각자 일이 바쁘다보니 누락이 생기기도 합니다. 그래서 백엔드가 준 API를 검토하는 과정에서 프론트가 말합니다.
 
이 DTO는 이븐하게 익지 않았어요.
 
저희는 백엔드의 상황을 조금이라도 이해해야합니다.
 
저는 물어봅니다. “데이터를 왜 그렇게 줘요?” 그러면 실시간으로 회의실로 들어가요 그리고 설명을 듣겠죠? 기획이 수정되면서 생긴 문제에 대해서 이야기 합니다. 백엔드는 이미 다 만들었는데 기획이 수정되어 마음이 불편한거죠.
 
그럼 일단 모여서 다 같이 해결하기로 합니다.
 
저희 회사 백엔드는 외부 데이터를 수집하고 설계하고 가공하고 API를 설계하는데 여기서 외부 데이터에 강하게 의존하기 때문에 설계와 가공에 많은 시간이 소요됩니다.
 
그렇기 때문에 백엔드와 프론트는 협의를 하고, 필요하면 기획자도 함께 합니다. 그래서 각자 필요한 아이템을 나열하고, 기간 안에 프로젝트를 완성하기 위해서 설계된 구조를 변경하지 않도록 저희 팀은
 
이때부터 모두 힘을 합치기 시작합니다. 프론트에서 이미지 또는 게임 데이터 일부를 외부 API에 직접 접근할 때고 있고, 외부 API에서 소실된 데이터를 직접 수집해서 DB에 채우거나 다양하게 제품을 만듭니다.
 
그렇게 우여곡절 끝에 프로젝트를 완성하고 마무리가 됩니다.
 
 

 
백엔드는 데이터 설계 중심으로 라이엇, 크래프톤, KeSPA 등 외부 API 및 데이터 설계에 시간을 많이 쏟는 편.
 
전체기획 전부터 데이터 수집 먼저 하고,
전체 기획이 나오면 데이터를 가공 하고,