💻 프로젝트 컨셉 및 기획 의도
프로젝트 컨셉 자체는 엄청 간단한 아이디어입니다. 하지만 이러한 간단한 아이디어를 서비스로 구현하면서 생각하지 못한 많은 유저의 pain points를 해결해준다면 그것은 그 무엇보다 좋은 기획과 개발 그리고 서비스라고 생각합니다. 엄청난 기술과 알고리즘을 가진 서비스가 있는 반면, 간단하고 누구나 생각해본 아이디어를 서비스로 제공하는 프로젝트도 충분히 가치있고 의미있다고 생각합니다.
기획 배경 및 동기에서도 서술해주신 것과 같이 기존에 북마크는 거의 모든 웹을 사용하는 유저가 자주하는 행위이며, 이미 충분히 개개인에가 많은 북마크 데이터가 존재합니다. 그것을 서비스를 통해서 정리 및 공유를 하게 해주는 의도는 기획 의도를 충분히 반영하여 유저 니즈를 해결해주려 하는 좋은 서비스 방향이라고 생각합니다.
뿐만아니라, 개발을 진행하는 여러분 스스로도 해당 기능을 직접 평소에도 사용할 수 있기에 프로젝트 종료 후에도 계속 사용/운영하면서 서비스를 발전 시키기도 좋은 아이템이라고 생각합니다.
흔히 업무로서 개발을 하다보면, 내가(기획/디자인/개발자 누구든) 평소에 전혀 사용하지 않는 기능 혹은 서비스를 개발할 경우가 많습니다. 이러한 경우 내가 만들었지만 실제 유저가 겪는 불편함등을 알지 못하기에 이론적으로(머리로만) 만들게 되는 경우가 많고 그러한 이유로 많은 유저가 이탈하거나 불만을 갖기도 합니다.
이번 프로젝트는 여러분 스스로도 계속 사용해보면서 실제 유저로서 불편한점을 느껴보면서 계속 업데이트 해나가길 바라겠습니다!
✅ 프로젝트 구조 및 설계
초기 프로젝트 세팅부터 많은 고민을 통해서 컨벤션 및 폴더 구조를 많이 고민하셨다고 생각 됩니다.
KDT 4개월을 진행하면서 다양한 사람들의 코드를 보고 배우고 직접 하면서 끊임없이 어떤 코드가 좋을까? 어떻게 프로젝트 세팅을 하면 좋을까? 어떻게 협업을 하면 좋을까?를 생각하셨을 것 입니다.
해당 고민에는 정답이 없기에 계속 고민하면서 팀구조 프로젝트 방향 기간 등등을 바탕으로 계속 최적화 된 결정을 하고 진행을 해야합니다.
기본적인 폴더 구조는 가독성이 좋게 잘 구조화 하셨다고 생각합니다. 아직 코드량이
develop
브랜치에는 많지 않아보여서 세세한 내용을 볼 순 없지만, 계속 저와 대화하면서 진행하고 계시기에 잘 마무리 될 것이라 믿겠습니다 ㅎㅎ공용컴포넌트도 많이!!?? 잘 만드신 것 같습니다. 하지만 저번 커피챗에서 말씀드린 것 처럼, 프로젝트 기간과 사이즈를 봤을 때 너무 공들여서 common components를 장인처럼 만들기엔 시간이 부족할 것 같습니다. common components에 정답이 없기에, 지금 가장 필요한 만큼 가장 알맞은 사이즈와 노력으로 만드는게 중요합니다. 계속 여러 프로젝트를 진행하면서 다양한 케이스를 바탕으로 겪으면 계속 좋은 공통 컴포넌트가 나오게 될 것 입니다.
이제 방학 이후에는 빠르게 기능 구현이 집중하시길 바라겠습니다!
🛠️ 기술 스택 및 협업툴
SEO를 중요하게 고민해야하므로, nextjs를 사용하는 것은 필수 요소라고 생각은 합니다. 하지만 프로젝트 일정과 리소스를 놓고 봤을 때, 아직 익숙하지 않은 nextjs를 선택한 것은 다시 고민해볼 가치가 있을 것 같습니다.
드물지만, 빠르게 react로 개발 후 프로젝트 런칭 후 nextjs로 변경하는 경우도 존재하고 백앤드에서 우선 SEO를 처리하고 추 후 마이그레이션을 통해서 nextjs로 옮기는 방법도 존재합니다.
일단 프로젝트 목표에서 nextjs를 경험해보는 것 자체도 의미있기에 최선을 다해서 공부를 해보시길 바라겠습니다.
react-hook-form은 원래 어렵습니다! Form에서 많은 UIUX 고민을 할 수록, 까다로운게 맞습니다. 계속 사용해보면서 많은 경험을 하는게 유일한 방법 같습니다. 지금의 고통이 나중에 꼭 좋은 경험으로 돌아올 것 입니다!
🗓️ 일정 산정 및 관리 방법
최초 기획서를 봤을 땐 일정이 충분할 것 같았습니다. 그리고 figma를 봤을 땐 일정이 부족할 것 같았습니다.
디테일에 많이 신경써서 시안이 나온 것 같습니다. 잘 하셨습니다. 그러나 두달 동안 처음 협업하는 사람과 개발을 해야하고 백앤드개발에 종속성이 생기는 상황에서는 시안에서 메인 기능을 제외하고는 우선 힘을 빼고 나중에 고민하는게 좋았을 것 같습니다.( 물론 미리 시안이 나와야지, 우선 순위도 나오긴 했을 것 입니다 ) 아무튼 저번에 커피챗에서도 말씀드렸듯, 보통 1.5배로 일정을 잡고 개발을 하는 편입니다. 여유있게 하려고 하는게 아니라 생각하지 못한 다양한 이슈를 해결하기 위함이고, 일정산정을 실패해서 배포가 미뤄지는 것을 방지하고 차라리 작은 스코프로 더욱 빠르게 프로젝트 사이클을 끝내고, 바로 이어서 다음 사이클을 시작하기 위함이라고 생각해주시면 좋을 것 같습니다!
여러분은 두달이라는 기간이 명시적이었고, 그 뒤의 일정이 없었으므로 어쩔 수 없는 상황이라고 생각합니다.
이번 경험을 통해 실제 업무를 하게 되면 어떻게 일정을 산정하는게 좋을지 고민해봐주세요.
그리고 중간중간 회고를 하면서 일정이 제대로 이뤄지고있는지, 스프린트가 제대로 진행되는지 잘 파악하고 숨기지 말고 솔직하게 못하고 있다고 생각하면 빠르게 공유해서 대화하고 다시 산정을 하는게 좋습니다.
여기에서 제일 중요한게 솔직하게 말하고 인정하는 것입니다. 숨기고 자기합리화만 하다가 프로젝트가 위험해지는 경우가 많습니다!
🧑🏻💻 기능 구현 및 주요 개발 포인트
기능 구현에서의 가장 중요한 포인트는 다음과 같다고 생각합니다.
- 얼만큼 유저가 쉽게 북마크를 할 수 있는지?
- 북마크 정리를 검색을 원하는데로 할 수 있는지?
- 해당 북마크 정보를 어떠한 디바이스에서든 쉽게 접근하고 볼 수 있는지?
- 유저간에 쉽게 공유가 되는지?
- 북마크 된 웹의 정보를 얼만큼 서비스적으로 제공해줄 수 있는지? 그로인해 유저는 최소한의 입력으로 북마크가 쉽게 하고, 그 정보가 충분히 정보를 제공하는지?
북마크 정보 관련해서는 백앤드에서 잘 스크래핑해서 전달 해주기만 하면 될 것 같습니다.
FE 관점에서는 모바일에 최적화된 UIUX를 통해서 유저에게 편리한 기능을 제공해야할 것 같습니다.
필터, 드랍다운, draggable sorting, swipe를 통한 단축메뉴 등등 mobile friendly한 기능이 좋을 것 같습니다. 저는 아직까진 PC를 통해 웹에서 접근해서 해당 기능을 사용하기기를 사용하기 보다는, 틈틈이 모바일로 접근해서 사용하는게 더 좋을 것 같다고 생각합니다. 물론 제가 잘못한 생각일 수 있으므로, 개발하면서 계속 실제 유저로서 사용해보면서 뭐가 유저에게 가장 좋은 제공방식일지 끊임없이 고민해보세요!
이번에 nextjs를 통해서 개발하는 김에 SEO를 정말 최적화해보시길 바라겠으며, 서비스 자체가 북마크 정보를 쉽게 제공하는 것이기에, OG 정보 및 meta 정보를 공들여서 작업해보시길 바라겠습니다!
👥 협업 방식
협업에 대해서는 스프린트 단위로 계속해서 작은 scope로 잘 하고 계신 것 같습니다. 회고도 하고 있다고 하시는데 얼만큼 솔직하고 냉철하게 하는지 궁금하긴 합니다. 프로젝트 성공과 본인들의 성장을 위해서라면 꼭 솔직한 회고가 필수이고, 회고를 통해 나오는 액션아이템을 꼭 실천해야합니다!
백앤드와의 소통에 대해서도 팀장간 소통을 잘 하고 계실 것이라 믿습니다. 모든 소소한 대화도 꼭 팀원들에게 잘 공유해야 좋습니다. 사람인지라 실수가 나오고 오해가 생깁니다. 말로서 전달 된 내용보다는 꼭 회의를 문서화해서 하나라도 빠지지 않게 전달하는 경험도 해보세요.
회사에서 가장 큰 이슈와 고민은 효율적인 커뮤니케이션과, 그 속에서 나오는 불협 그리고 불신이라고 생각합니다. 가장 큰 이유는 팀장간에 소규모로 소통을 하고 팀원들에게 전달을 하게 되면서 내용이 많이 와전되고 누락되면서 정보의 차이가 생기고 오해를 일으켜서 이기도 하지요…ㅎㅎ
기범님의 많은 노력이 필요하고, 영준님과 승희님의 적극적인 요청 및 맥락을 이해하려는 노력 또한 필요합니다! 화이팅입니다.
💡 기타
욕심이지만 저번에도 말씀드렸듯, 크롬익스텐션은 필수 기능 같습니다. 혹은 기능적으로 나의 브라우저에 북마크 정보를 import / export하는 기능이 있다면 더 좋을 것 같습니다.
여러분이 만드시는 서비스는 제가 정말 필요한 서비스이므로, 부디 잘 만드셔서 제가 결제까지 이뤄지도록 노력해주시길 바라겠습니다!