지난 여름, 멋쟁이사자처럼에서 팀을 꾸려 진행했던 '안전행-여행 안전 커뮤니티'에 대해 회고해보려고 한다.
'안전한 여행'의 줄임말로, 해외 여행 시 안전하게 여행할 수 있도록 여행 관련 안전 정보를 알려주는 커뮤니티이다. 나라별로 안전 정보를 확인할 수 있고, 타 여행 커뮤니티처럼 나라에 대한 정보들을 서로 공유할 수 있는 게시판도 존재한다.
우리는 일본에서 사라진 청년, 동남아에서 살해된 여성에 관한 뉴스를 보면서 우리나라 사람들의 안전한 여행을 도와주기 위해 이러한 서비스를 기획하게 되었다.
나는 Back-end, Front-end, Design 중 'Front-end 개발자'로 해당 프로덕트에 참여했다.
개발 범위를 나눌 때, 페이지 별로 나누어 안전정보 페이지, 로그인 페이지, 회원가입 페이지, 마이페이지를 맡아 개발했다.
전체 회의를 통해 아이디어를 도출하고, 전체적인 사이트 구조를 잡고, 디자인을 Fimga로 진행했다. 다같이 공유한 Fimga를 보면서 수정하고 보완하며 확정을 지은 후, 프론트엔드와 백엔드를 나누어 개발하기 시작했다.
팀원들 모두 API를 제대로 연결해본 적이 없고, 협업이 처음이라 자신이 어떤 역할을 해야하는 지 몰랐다. 나 또한, 3월에 진행한 해커톤에서만 협업을 진행해보았고 그 외에는 프론트엔드 개발자들끼리 진행한 프로젝트들이라 백엔드와 연결을 어떻게 해야되는지 몰랐다. 프로젝트를 개발하면서 axios를 사용해보고, RestAPI 보는 법을 배웠다. DB와 계속 연결을 시도했지만 여러가지 에러에, 뭐가 잘못됐는 지도 알지 못했다.
가까스로 정보를 받아오는 것만 성공해서 차근차근 풀릴 줄 알았는데, 로그인 API에 문제가 있어서 로그인 정보는 주고 받기가 되지 않았다.
결국 해커톤 당일까지 백엔드와 프론트엔드는 연결되지 않았고, 나는 백엔드와 연결이 되면 그 정보들을 보여주는 스타일을 정하려고 했는데, 결국 아무것도 하지 못하고 멈춰버리게 되었다.
'왜 우리는 이 프로덕트를 제대로 완성시키지 못했을까' 생각을 해봤다.
정기적이지 않은 회의
처음에는 매주 회의를 하자고 얘기를 했지만, 그때그때 상황에 따라 매주 회의를 하지 않고 서로 텍스트로만 주고 받았다. 가끔 진행한 회의 조차 비대면으로 진행되어 서로 제대로 된 진행 체크가 이루어지지 않았다.
처음부터 끝까지를 경험한 경험자 부족
나 포함한 모든 팀원들은 프로젝트를 기획부터 배포까지 한 경험이 없었다. 경험이 없다보니 각 과정 속에 필요한 것들을 제대로 캐치해내지 못했고, 엄한 곳에 꽂혀서 회의만 길어지기 일쑤였다. 어떠한 과정을 밟아야 하는지 모르니까 어버버 거리면서 누군가는 시간만 축내기도 했다.
만약 프론트엔드와 백엔드를 연결하는 법이나 API 명세서를 제대로 알려줄 수 있는 사람이 있었다면 연결하는 데에 시간을 덜 소비하지 않았을까 싶다.
컴포넌트 별로 개발하는 게 아닌, 페이지 별로 개발
협업을 하면서, 서로 서로의 코드를 가져다 쓰는 게 아닌 온전히 내 코드만 들여다보는 개발을 했다. 페이지 별로 개발을 했기 때문에 검색바를 공통으로 쓰더라도 메인페이지와 안전정보 페이지에 있는 검색바의 스타일도, 기능도 다르게 개발이 되었다. 컴포넌트로 개발했다면, 하나의 코드를 재사용할 수 있었을텐데 그러지 못했다.
결국 각 페이지마다 서로의 스타일이 잘 묻어났고 서로가 개발한 페이지가 아니면 제대로 알지도 못했다. 협업보다는 서로 다른 곳에서 가져다 붙인 꼴이 되어버려 나는 아직도 코드를 보고 이해하지 못하는 부분이 생겼다.
주석의 중요성
아무리 어제 짰던 코드라도 오늘이 되거나 다음주가 되면 어떤 코드였는지 잊어버리기 일쑤다. 하지만 당장의 개발이 급급해서 주석을 다는 것을 귀찮아하거나 스킵했다. 결국 다른 곳에 사용할 수 있는 코드도 어떤 코드가 무슨 기능인지 알 수 없어서 새로 작성해야 했다. 특히 스타일을 작성할 때는 더 애를 먹었다. 분명 이미 있는 스타일인데 어디에 있는지 몰라서 못찾고 다시 작성해야 해서 비효율적이었다.
이번 프로덕트를 통해 이러면 안되겠구나.를 느꼈다. 어디선가 잘못 끼워진 단추를 다시 맞추기엔 너무 오랜 시간이 지나있었고, 팀원들도 이번 프로덕트를 완성할 여력이 안된다고 하여 결국 미완성으로 두게 되었지만 협업에 대한 많은 것들을 알 수 있게 되었던 경험이었다.
다음 프로덕트에선 이번에 회고한 것들을 보완하여 더 나은 협업을 진행했으면 좋겠다.
해당 프로젝트의 깃허브 : https://github.com/zeonzeon-e/LikeLion_Hackathon