Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- url
- bootstrap
- this
- IntersectionObserver
- til
- CSS
- 배포
- Boostrap
- Cloud
- useEffect
- jQuery
- JavaScript
- API
- http
- HTML
- Database
- Protocol
- Fetch
- REACT
- TMDB
- db
- nosql
- firestoredatabase
- SQL
- W
- web
- data
- supabase
- Github Pages
- github
Archives
- Today
- Total
072DATA
팀 프로젝트 기능 분배하기 본문
오늘은 내일 있을 기능 분배에 대해서 더 활기찬 참여를 위하여 어떤식으로 기능 분배를 하면
좋을지에 대해서 생각해 보기 위해 기능 분배 방식과 생각을 정리해보려고 한다
이제 곧 프로젝트 개발이 시작될 듯 한데 이런 끄적끄적 적는 포스팅도 이제 마지막이겠지...
컴포넌트 단위로 기능 분배
컴포넌트 단위로 기능을 분배하는 경우에
팀원들이 UI 요소나 특정 기능을 담당하는 작은 컴포넌트를 맡아서 개발함
예로 들어서
- 팀원1: 버튼, 모달 같은 UI 컴포넌트 개발
- 팀원2: 로그인 폼, 검색 바 같은 기능성 컴포넌트 개발
- 팀원3: 카드 리스트, 그리드 레이아웃 컴포넌트 개발
이런 방식으로 재사용 가능한 단위의 기능을 개발할 때 초점을 맞추고
컴포넌트 단위로 분배하여 독립적으로 작업하고 이 컴포넌트 들을 페이지에 모아서 더큰 기능을 구현 가능
페이지별 단위로 기능 분배
페이지 단위로 기능을 분배하면 각 팀원이 하나의 페이지를 책임지고
페이지 안에 필요한 컴포넌트를 해당 페이지를 담당하는 팀원이 작업하고
이미 만들어진 컴포넌트를 가져다 사용하는데( 이때 소통이 꼬이면 같은 컴포넌트를 개발할 수도 있음 )
예)
- 팀원1: 로그인 페이지 개발 (로그인 폼, 로그인 버튼, 회원가입 링크)
- 팀원2: 메인 페이지 개발 (배너, 검색 바, 추천 목록)
- 팀원3: 프로필 페이지 개발 (유저 정보, 프로필 사진 변경 기능)
물론 이 방식으로 하나의 큰 기능을 흐름이 끊이지 않고 담당할 수 있고
간단하고 쉬운 분배 방법임 또한 라우팅 처리를 할 떄도 UI흐름을 관리하는데 적합 할 수 있음
협업 시 어떤 방식을 선택할지 고려하는 요소
- 프로젝트 규모에 따라서
- 작은 프로젝트일 경우 컴포넌트 단위로 분배하는 것이 적합할 수 있고 재사용성과 빠른 개발에 집중 가능
- 큰 프로젝트에서는 페이지 단위로 기능을 나누고 페이지 안에서 작은 컴포넌트를 활용하여 개발하면 더 효율적
- 역할에 따라서
- 팀원들이 독립적으로 하나의 기능 흐름을 책임지고 싶다면 페이지 단위로 분배하는 것이 좋다고 봄
- 재사용성에 따라서
- 컴포넌트 단위로 분배하면 여러 페이지에서 동일한 컴포넌트를 재사용할 수 있어서 협업 과정에서 중복되는 UI 요소나 기능이 있을 때 유용할 수 있음
결론
주관적인 결론을 내보자면 각 페이지 별로 기능을 분배하고 공통으로 재사용되는 컴포넌트를 분리하여
각 팀원에게 분배하고 적절하게 두 방식을 섞으면 아주 좋아보임! 이라고 내일 말해버려야지 ㅈㅈ
'Anything > 끄적끄적' 카테고리의 다른 글
면접 질문 대답해보기 ( 3주차, 기술면접 ) (2) | 2024.11.08 |
---|---|
면접 질문 대답해보기 ( 1주차 ) (2) | 2024.10.22 |
최종 프로젝트 계획하기 ( MVP와 UT ) (2) | 2024.10.19 |
TanStack Query 정리 ( useQuery, useMutation ) (0) | 2024.09.13 |
json-server 사용하기 (0) | 2024.09.10 |