좋았던 점, 아쉬웠던 점
Good
- 기획 / 디자인
- 필요 페이지를 먼저 구상하고 이에 따르는 초기 와이어 프레임, 상세 디자인이 순차적으로 잘 나온 것 같다.
- 레퍼런스 참고를 많이 하며 작업을 하여 디자인적인 부분의 선택의 기로에서 잘 결정할 수 있었다.
- 개발 환경 설정
- 각자 다른 로컬에서 개발하기 때문에 포맷팅을 위해 IDE에 익스텐션과 라이브러리를 사용했다.
- CODEOWNERS를 통해 자동 리뷰 설정을 했다.
- Vercel을 통한 자동 배포를 했다.
- lint-staged를 통해 린트 과정을 거친 후 커밋을 하도록 했다.
- 개발
- 가벼운 브랜치 전략으로 Github flow를 선택하여 main과 feature만을 관리하며 간단하게 구성하고자 했다.
- Github의 Projects라는 기능을 활용하여 칸반보드와 Issue를 적절하게 활용하고, PR에서도 일정 수의 approve를 받아야 main에 merge 되도록 한 점이 좋았다.
- 컴포넌트 단위로 개발하여 큰 화면을 작업하기 수월해지는 것 같다.
- 팀 문화
- 모르는 것이 있을 때 즉각적으로 디스코드나 슬랙을 통하여 어려운 점을 빠르게 해결했다.
Bad
- 기획 / 디자인
- 기획의 비중을 비교적 높게 잡았지만, 그 시간에 비해 우선 순위 설정이나 태스크 분배가 조화롭게 이루어지지 못한 것 같다.
- 페이지별 필요 데이터나 상세 요구 사항을 문서화 시키지 못했다.
- 반응형 디자인에 대해 생각하지 못하고 디자인을 정의했다.
- 기획 단계에서 시간에 비해 아이디어가 자유롭게 나오지 못했다.
- 생각보다 디자인이 지체되어 개발을 빠르게 들어가지 못했다.
- 개발 환경 설정
- CRA 환경에서 ESLint를 커스텀해서 처음 사용해보는데, 생각보다 많은 부분에서 에러를 뿜어서 개발이 지체되는 부분이 있었다.
- 개행 문자가 운영체제별로 차이가 생겨(Windows의 CRLF, MacOS의 LF) 앱이 실행이 안되거나 Git push에 이상이 생겼다.
- 개발
- 이제 막 시작하여 Bad인 점을 적어내기 어렵다.
- 주어진 기간은 짧은데 비해 너무 많은 기술이나 도구를 도입한 게 아닌가 생각된다.
- 컴포넌트의 재사용성을 어느정도까지 고려해서 만들어야하는가가 고민이었다.
- 팀 문화
- 회의 내용이나 논의사항들의 기록이 부족한 것 같다. 논의 사항을 그때그때 적어두는 습관이 필요하고 내용을 바로 공유하도록 하는 것이 좋을 것 같다.