프로젝트회고록#1

CodeLog·2021년 2월 16일
1

프로젝트 회고록

🎃 프로젝트 명 : homemade
⭐️ 프로젝트 홈페이지 : https://homemade21.cf/
🍉 github: https://github.com/expectta

프로젝트 시작

협업 인원 : 4인
프로젝트 제작기간 : 2주
position : front-end

프로젝트 시작 전 팀원을 편성하고 서로가 누구인지 알아가는 시간, 서로다른 성격으로 잘 해낼수 있을까? 라는 의구심이 들었지만 희망회로를 가동시키고 마음을 다잡고 프로젝트를 시작하게 됐다.
앞으로의 고난을 모른채..

프로젝트 기획

  • 어떤 프로젝트 ? : 나마의 요리 레시피를 등록하고 공유할 수 있는 플랫폼

  • 왜 이런걸 ? : 이 프로젝트는 코로나로 인한 사회적거리두기/비대면 업무가 증가함에 따라 집에서 보내는 시간이 늘어남으로서 직접 요리를 만들어 먹는 수요가 증가 할 것으로 판단되어 레시피 공유 플랫폼을 구상하게 되었다.

  • 팀원별 역할 : fornd-end : 나를 포함 2 명 , back-end : 2명
    : 원래 back을 원했지만 웹 개발자라면 모두 달 할줄알아야 한다는 생각에 부족했던 front-end를 선택하게 됐다.

  • 프로젝트의 범위 설정 : bare-minimun - advanced - nighmare 단위로 구현하고 싶은 기능 설정

  • 시스템 아키텍쳐 설계 : figma라는 툴을 사용해서 스토리 보드를 제작
    : 초반에 와이어 프레임을 제대로 작성하지 못했던 부분이 나중에 컴포넌트를 제작할때 시간을 많이 할애 하게 될줄 몰랐다...

  • Database 설계 , API 문서 작성 : front-end , back-end part가 모두 모여 웹사이트 기능에 있어서 필요한 db table을 설계하고, 동시에 API관련 미팅을 했다.
    : 따로 분업이 되어 있는 부분이긴 하지만 초반에 시간을 많이 쓰더라도 최대한 같이 고민해보고 놓칠수 있는 부분을 서로 채우면서 아주 도움이 많이 됐던 부분이다.

  • 협업관련 미팅 :

  1. 버전관리는 git으로하고 github issue 탭을 이용해서 commit 단위를 기능별로 세분화 시키도록 협의 했다.
  2. 코딩 스타일이 전부 다른관계로 초반부터 스타일을 하나로 통일되게 제작이 필요했다. 그래서 사용한 ESlint + prettier(airbnb)를 적용했다.
  3. 하루 일과는 자유롭지만 긴급회의를 소집한다거나 필요한때 빠른 의사소통을 해서 해결할 수 있도록 "슬랙"으로 지속적으로 소통하고, 필요시 Zoom을 사용했다.
  4. 하루하루 미팅을 하고 그 기록은 notion으로 기록 관리를 하며 진행사항, 필요사항에 대해 작성.
  5. fornt-end 업무의 분업은 크게 user에 대한 컴포넌트, recipe에 대한 컴포넌트로 구별하고 나는 user에 대한 컴포넌트를 맡게 됐다.
    (이렇게 분업한 이유는 , 우선 혼자서도 모든걸 다 할수 있어야했다. 예를들어 컴포넌트 구성 및 css, 서버 비동기 통신 등 한명이 없어도 그 프로젝트 제작에 문제가 없어야하고 남이 짜 놓은 코드를 분석하고 도움이 필요할때 같이 고민 할 수 있도록 대응력을 높이기 위해서이다)

느낀점

지금까지 혼자서만 프로젝트를 해 오다가 협업을 처음 해봤는데 이걸 왜 이제 해봤는지 한심할 정도다.
비록 작성해야할 그리고 지켜야할 것들이 많아지는 것은 사살이다.
과연 앱이 잘 돌아갈까? 라는 의문이 들었지만 처음으로 개인별 기능을 만들고 첫 merge후 내 코드와 다른사람의 코드가 유기적으로 잘 돌아가는것을 보고 협업의 매력을 한번 느꼈다.
당연히 merge 부분에서 conflict가 발생했지만 프로젝트 시작전에 규칙을 까다롭게 정하고 업무 분업을 해서인지 생각보다 conflict가 많이 발생하지 않았다.
중간중간 프로젝트 디자인이나 기능추가 등 변수는 아주많이 발생했다. 마지막 종료까지..
그래서 기획적인 부분이 상당히 중요하다라는 것을 느꼈고 우리 팀은 3일을 기획에 소비했지만 그 두배 이상을 썼다면 좋지 않았을까라는 생각을 해본다.

아쉬운점

초보자들의 공통적인 부분이 시간이 부족하다 이지 않을까?
왜? 모르니까..
모르면 배워야 하니까 시간이 부족했다. 너무너무 부족했다.
그리고 협업을 하면서 조금 더 강력하게 어필하지 못했던 부분이 아쉬웠다.
기능 구현에 어려우면 빨리 제외시키고 다른 기능을 했어야하는데 너무 붙잡고 늘어졌다.
내 코드 내가봐도 더러웠다 파일로 쪼개고 관심사 분리를 철저히 하지 않아서 파일 하나에 많은 코딩을 하게 되었다. 읽기도 싫을 정도였다.

보완할점

  • 협업을 위해서 프로젝트 기획단계에서 시간을 충분히 쓰도록 해야겠다.

  • 내 문제가 아닌거 같은데? 라는 상상으로 다른사람에게 피해를 주지 말자
    : 서버에 데이터 요청후 에러가 났다. 내 코드를 살짝 봤다. 이상이 없는거 같다. 서버 개발자를 부른다. 같이 코드를 분석해 본다. 찾았다 이놈!! 내가 오타를 낸것이다. 수정하고 테스트하니 잘 된다. 미안해 죽겠다. 서버개발자 시간을 빼앗아버린 나란놈..

  • 괜찮다.. 조금 천천히 해보자
    : 시간이 촉박해 지자 손도 빨라지고 눈도 빨라진다. 다 쓰잘데기 없다. 왜냐 코드 이해, 기능 이해가 더 중요하다. 이번에 이 기능 썼어요 라고 포트폴리오에 쓰면 뭐하나. 제대로 모르는데.. 창피한 일이 아닐 수 없다. 공부에 디테일이 필요하다

profile
개발로그

0개의 댓글