스팩스페이스(team 나인스팩스) 협업 진행 사항 - 5

joyoung·2024년 7월 26일
0

프로젝트 중간 발표를 하고 최종 발표팀을 선정하였다

결과적으로 발표팀으로 선정되지 못하였다.

내가 생각한 이유로는 중간정검일까지 전체적인 기능의 동작 여부 , 배포환경에서의 오류
페이지 전체적인 페이지 완성도가 타 팀 대비 부족했다고 생각한다.

각 페이지간 연결과 관심종목을 추가해야 항목에서 서로가 api 를 맞추지 못해 관심목록 추가에 대한 기능을 구현하지 못하였다.
내가 맡은 주식 리포트 기능에도 배포 환경에서 통신문제로 인해 간혹 오류가 발생 하여서 마음이 좋지 못했다.

타팀 대비 잘했다고 생각하는 부분도 꽤 있어 발표팀에 선정되길 내심 기대했었다.
우리팀은 UI 완성도 면과 chat bot , gpt 리포트 응답면에서는 타 팀대비 잘했다고 생각한다.

상대팀 작업물에서 인상이 깊었던 건 뉴스 크롤링과 Next 의 i18n(국제화) ,i10n(현지화) 을 사용하여 다국어 번역 페이지와 뉴스 크롤링이다.
다국어 변역은 흥미로웠고 학습하여 내것으로 만들고 싶을 만큼 멋진 기능 이였다.
뉴스크롤링에서 데이타의 핵심내용을 gpt로 전처리하고 해당 데이터를 키워드를 검색하는 기능을 사용자가 쾌적하게 보여지도록 만든 점은 아주 좋았다.

회고

최종적으로 배포하며 든 생각인데 배포를 프로젝트를 시작하며 동시에 진행을 했어야 했다 생각이다.
로컬 빌드환경에서 정상작동하는 것이 환경변수 때문에 오류가 발생하여 한참을 찾게 되는 문제도 발생 하였고 배포 환경을 통해 서로의 작업물을 배포환경에서 어떻게 잘 동작하는지 확인 했어야 한다고 생각한다.

이번 팀 프로젝트에서는 중간 중간 어디까지 진행이 되었는지 어떻게 개발이 되고 있는지 점검 하는 작업이 없어 기능의 완성도나, db의 엔티티, 어떤 부분에서 어려움을 겪고 있는지에 대한 공유가 확실히 되지 않았다.
또 넥스트 프레임워크를 처음 사용하다보니 해당 프레임워크의 이해도가 부족한 상태여서 생기는 소통 문제도 있엇다.
결과적으로 실력 부족 ,소통의 부재로 인해 전체적인 완성도가 떨어지게 되었다.

또 기획에 대한 해석의 이해도가 달라서 해당 기능을 구현하기 위해 접근법이 달랐다.
잘못 된 혹은 고려하지 않은 요소가 있는 기획에도 요구한 대로 작업해야 된다는 의견
기획에서 고려하지 않은 부분도 자의적으로 해석하여 작업해도 된다는 의견
나는 후자쪽에 가까운 편이여서 기획에 대한 불만은 크게 없었다.

기능적으로 가장 큰 문제는 로그인 처리였는데 기획상 로그인된 회원만이 페이지 접근권한이 있어서 로그인이 세션처리가 굉장히 중요했다. 로그인 처리는 배포단계에서까지 원활히 작동하지 않는 상태여서 이후 로직들의 처리들이 늦어졌다.
위 문제의 개선에 대한 생각은 처음 부터 로그인 구축담당이 정하는것이 아닌 팀원 모두가 수용할 수 있는 db관계도를 작업하고 각 기능을 분리개발하며 맞춰갔어야 했다고 생각 한다.
또 스프린턴 회의에서 작업물들을 팀원들이 눈으로 확인하고 미구현한 부분 중 가장 중요한 기능을 다 같이 붙어 먼저 구축하는 작업이 선행되어야 했다고 생각한다.

이번 프로젝트에서 데이터 , 계산 , 기능 등의 순수함수로 분리하려고 노력 하였다. 이번 프로젝트에 적용해보았는데 확실히 유지보수하고 관리하기 좋았다.
컴포넌트도 작은 단위로 분리하려고 노력하였다.
공용 컴포넌트 부분에서는 다른 팀원이 쉽게 이해할 수 있도록 상세한 주석과 , API 통신함수 , 공용 컴포넌트는 바로 꺼내 사용하기 쉽도록 개발하는 노력을 하였다. 이 과정이 본인 스스로가 다시 코드를 볼때도 이해가 쉬웠다. 이 능력은 강화하기 위해 다른 좋은 코드들을 보고 배워야 겠다는 생각이다.

개선사항

위 내용을 gpt에게 입력시키니 나온 개선 사항이다.

1. 프로젝트 초기 단계에서의 배포 전략 수립

프로젝트 초기부터 배포 환경을 설정하고 지속적으로 테스트하면서 개발하는 것이 중요합니다. 이는 로컬 환경에서 발견되지 않는 문제들을 조기에 발견하고 해결할 수 있도록 도와줍니다.

2.지속적인 커뮤니케이션 및 체크포인트 설정

정기적인 진행 상황 점검과 팀 내 커뮤니케이션은 프로젝트의 성공에 매우 중요합니다. 스프린트 미팅을 통해 각자의 진행 상황을 공유하고, 필요한 조정을 빠르게 할 수 있어야 합니다.

3. 프레임워크와 기술 스택에 대한 충분한 이해

새로운 프레임워크나 기술을 사용할 때는 사전에 충분한 학습 시간을 할애하고, 팀 내에서 지식을 공유하는 것이 좋습니다. 이를 통해 기술적인 문제로 인한 소통의 장벽을 줄일 수 있습니다.

4.팀원 간의 역할과 책임 명확화

각 팀원의 역할과 책임을 명확히 하고, 로그인 같은 핵심 기능은 팀 전체가 이해하고 참여할 수 있게 하는 것이 중요합니다. 이는 프로젝트의 주요 기능에 대한 팀원들의 공감대를 형성하고, 문제 발생 시 신속한 해결을 가능하게 합니다.

5.코드의 모듈화와 문서화

공통 컴포넌트와 API 통신 함수 등을 잘 모듈화하고 문서화하는 것은 다른 팀원들이 코드를 이해하고 사용하는 데 큰 도움이 됩니다. 이는 유지보수와 확장성을 크게 향상시킬 수 있습니다.
실패에서 배우기

프로젝트에서 발생한 문제점들을 철저히 분석하고, 그 원인을 파악하여 다음 프로젝트에 적용할 수 있는 개선안을 마련합니다. 실패는 배움의 기회이므로, 이를 통해 더 나은 개발자로 성장할 수 있습니다.

profile
꾸준히

0개의 댓글