# [[Frontend Team Collaboration]] ## πŸ“Œ Brief Summary ν”„λ‘ νŠΈμ—”λ“œ νŒ€ ν˜‘μ—…μ€ μΌκ΄€λœ 폴더 ꡬ쑰, λͺ…ν™•ν•œ 넀이밍 κ·œμΉ™, 그리고 체계적인 Git μ›Œν¬ν”Œλ‘œμš°λ₯Ό 톡해 λ‹€μˆ˜μ˜ κ°œλ°œμžκ°€ 좩돌 없이 μ½”λ“œλ₯Ό μž‘μ„±ν•˜κ³  ν™•μž₯ κ°€λŠ₯ν•œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μœ μ§€λ³΄μˆ˜ν•  수 있게 ν•˜λŠ” ν”„λ‘œμ„ΈμŠ€μž…λ‹ˆλ‹€ [1-3]. μ†Œκ·œλͺ¨λΆ€ν„° μ—”ν„°ν”„λΌμ΄μ¦ˆ 규λͺ¨μ˜ νŒ€κΉŒμ§€ 효율적으둜 ν˜‘μ—…ν•˜κΈ° μœ„ν•΄μ„œλŠ” μ½”λ“œ μ»¨λ²€μ…˜μ˜ μžλ™ν™”(κ±°λ²„λ„ŒμŠ€)와 ν‹°μΌ“ 기반의 이슈 좔적이 ν•„μˆ˜μ μž…λ‹ˆλ‹€ [4, 5]. κΈ°λŠ₯ 쀑심(Feature-based)의 μ•„ν‚€ν…μ²˜μ™€ μ‹œκ°μ  νšŒκ·€ ν…ŒμŠ€νŠΈ(Visual Regression Testing)λ₯Ό λ„μž…ν•˜λ©΄, μ½”λ“œ μΆ©λŒμ„ λ°©μ§€ν•˜κ³  μ˜¨λ³΄λ”© μ‹œκ°„μ„ λ‹¨μΆ•ν•˜λ©° ν”„λ‘œλ•μ…˜ ν™˜κ²½μ˜ μ•ˆμ •μ„±μ„ 높일 수 μžˆμŠ΅λ‹ˆλ‹€ [6-8]. ## πŸ“– Core Content * **ν˜‘μ—…μ„ μœ„ν•œ Git μ›Œν¬ν”Œλ‘œμš° 및 PR 리뷰:** ν”„λ‘ νŠΈμ—”λ“œ νŒ€μ€ 메인 브랜치λ₯Ό 항상 μ•ˆμ •μ μ΄κ³  배포 κ°€λŠ₯ν•œ μƒνƒœλ‘œ μœ μ§€ν•΄μ•Ό ν•˜λ©°(메인 브랜치 직접 ν‘Έμ‹œ κΈˆμ§€), 각 μž‘μ—…λ§ˆλ‹€ 짧은 주기의 κΈ°λŠ₯ 브랜치(Feature Branch)λ₯Ό μƒμ„±ν•˜μ—¬ μž‘μ—…ν•΄μ•Ό ν•©λ‹ˆλ‹€ [9-12]. PR(Pull Request)은 리뷰어가 μ‰½κ²Œ 이해할 수 μžˆλ„λ‘ μž‘κ²Œ μœ μ§€ν•΄μ•Ό ν•˜λ©°, μ΅œμ†Œ 1λͺ… μ΄μƒμ˜ λ™λ£Œ 리뷰λ₯Ό 거친 ν›„ 병합(Squash merge λ“±)ν•΄μ•Ό ν•©λ‹ˆλ‹€ [13, 14]. Storybookμ΄λ‚˜ Chromaticκ³Ό 같은 도ꡬλ₯Ό ν†΅ν•œ μ‹œκ°μ  리뷰(Visual review)λ₯Ό μΆ”κ°€ν•˜λ©΄, λ ˆμ΄μ•„μ›ƒμ΄λ‚˜ 색상 λ“±μ˜ UI νšŒκ·€(Regression)κ°€ ν”„λ‘œλ•μ…˜μ— λ„λ‹¬ν•˜λŠ” 것을 λ°©μ§€ν•  수 μžˆμŠ΅λ‹ˆλ‹€ [6, 15]. * **컀밋 λ©”μ‹œμ§€μ™€ ν‹°μΌ“ 좔적성 (Traceability):** 컀밋 λ©”μ‹œμ§€λŠ” μ½”λ“œμ˜ λ³€κ²½ λ‚΄μš©(what)κ³Ό λ³€κ²½ 이유(why)λ₯Ό λͺ…ν™•νžˆ μ„€λͺ…ν•΄μ•Ό ν•˜λ©°, `feat`, `fix`, `chore` 등을 μ‚¬μš©ν•˜λŠ” 'Conventional Commits' ν˜•μ‹μ„ 따라야 릴리슀 λ…ΈνŠΈλ₯Ό μžλ™ν™”ν•˜κ³  νžˆμŠ€ν† λ¦¬λ₯Ό μ‰½κ²Œ νŒŒμ•…ν•  수 μžˆμŠ΅λ‹ˆλ‹€ [14, 16, 17]. 브랜치 이름과 컀밋 λ©”μ‹œμ§€μ— ν‹°μΌ“ ID(예: `PROJ-123`)λ₯Ό ν¬ν•¨ν•˜λ©΄ μš”κ΅¬μ‚¬ν•­κ³Ό μ½”λ“œ λ³€κ²½ 사항 κ°„μ˜ 좔적성을 높이고, μ½”λ“œ λ¦¬λ·°μ–΄μ—κ²Œ λΉ„μ¦ˆλ‹ˆμŠ€ μ»¨ν…μŠ€νŠΈλ₯Ό 효과적으둜 μ œκ³΅ν•  수 μžˆμŠ΅λ‹ˆλ‹€ [5, 18, 19]. * **폴더 ꡬ쑰와 μ•„ν‚€ν…μ²˜λ₯Ό ν†΅ν•œ 병렬 μž‘μ—…:** ν‘œμ€€ν™”λœ 폴더 κ΅¬μ‘°λŠ” 개발자 κ°„μ˜ λΆˆν•„μš”ν•œ μ˜μ‚¬μ†Œν†΅ λΉ„μš©μ„ 쀄이고, μƒˆ νŒ€μ›μ˜ μ˜¨λ³΄λ”©μ„ κ°€μ†ν™”ν•©λ‹ˆλ‹€ [8]. Feature-Sliced Design(FSD)κ³Ό 같이 κΈ°λŠ₯(Feature)을 μ€‘μ‹¬μœΌλ‘œ 폴더λ₯Ό κ΅¬μ„±ν•˜λ©΄, κ°œλ°œμžλ“€μ΄ μ„œλ‘œμ˜ μ½”λ“œλ₯Ό κ±΄λ“œλ¦¬μ§€ μ•Šκ³ λ„ 각자의 슬라이슀(κΈ°λŠ₯ 도메인)μ—μ„œ λ³‘λ ¬λ‘œ μž‘μ—…ν•  수 μžˆμ–΄ μ• μžμΌ(Agile) 개발 λ°©μ‹μ˜ ν™•μž₯에 μœ λ¦¬ν•©λ‹ˆλ‹€ [7, 20-22]. * **μ½”λ“œ μ»¨λ²€μ…˜κ³Ό μžλ™ν™”λœ κ±°λ²„λ„ŒμŠ€ (Automated Governance):** 파일 λͺ…λͺ… κ·œμΉ™(예: 파일 이름은 ν˜Έν™˜μ„±μ„ μœ„ν•΄ `kebab-case`, React μ»΄ν¬λ„ŒνŠΈλŠ” `PascalCase`, λ³€μˆ˜λ‚˜ 훅은 `camelCase` μ‚¬μš©)을 νŒ€ 전체가 μΌκ΄€λ˜κ²Œ μœ μ§€ν•˜λ©΄ μ½”λ“œλ₯Ό ν•œλˆˆμ— νŒŒμ•…ν•˜κ³  μΆ©λŒμ„ λ°©μ§€ν•˜κΈ° μ‰½μŠ΅λ‹ˆλ‹€ [23-26]. ESLint, Prettier, Husky λ“±μ˜ 도ꡬλ₯Ό ν™œμš©ν•˜μ—¬ Git ν›… λ‹¨κ³„μ—μ„œ λ¦°νŒ…κ³Ό ν¬λ§·νŒ…, νƒ€μž… 검사λ₯Ό κ°•μ œν•˜λ©΄, κ·œμΉ™ μœ„λ°˜μ„ μžλ™μœΌλ‘œ λ°©μ§€ν•˜κ³  κ³ ν’ˆμ§ˆμ˜ μ½”λ“œλ§Œ μ €μž₯μ†Œμ— λ³‘ν•©λ˜λ„λ‘ λ§Œλ“€ 수 μžˆμŠ΅λ‹ˆλ‹€ [4]. * **νŒ€ 규λͺ¨μ— λ”°λ₯Έ μƒνƒœ 관리 도ꡬ 선택:** νŒ€μ˜ 규λͺ¨λŠ” ν˜‘μ—… 도ꡬ 선택에 큰 영ν–₯을 λ―ΈμΉ©λ‹ˆλ‹€. 규λͺ¨κ°€ 큰 νŒ€(10λͺ… 이상)μ—μ„œλŠ” Zustand처럼 μœ μ—°ν•˜κ³  μžμœ λ„κ°€ 높은 도ꡬ보닀, Redux처럼 μ—„κ²©ν•œ νŒ¨ν„΄κ³Ό ꡬ쑰(Boilerplate)λ₯Ό κ°•μ œν•˜λŠ” 도ꡬ가 νŒ€μ› κ°„μ˜ μ½”λ“œ 일관성(예: μΌκ΄€λœ 비동기 μ½”λ“œ μž‘μ„± 방식)을 μœ μ§€ν•˜κ³  디버깅을 μ‰½κ²Œ ν•˜λŠ” 데 더 μ ν•©ν•©λ‹ˆλ‹€ [27-30]. ## πŸ”— Knowledge Connections - **Related Topics:** [[Git Branching Strategies]], [[Conventional Commits]], [[Feature-Sliced Design]], [[Automated Governance]], [[Visual Regression Testing]] - **Projects/Contexts:** [[Small vs Large Frontend Teams]], [[Scalable React Apps]] - **Contradictions/Notes:** μ†Œκ·œλͺ¨ νŒ€μ΄λ‚˜ μŠ€νƒ€νŠΈμ—…μ—μ„œλŠ” μžμœ λ„κ°€ 높은 μƒνƒœ 관리 도ꡬ(예: Zustand)κ°€ λΉ λ₯Έ 개발 속도λ₯Ό μ΄λŒμ–΄λ‚΄μ§€λ§Œ, νŒ€μ΄ 컀짐에 따라 ꡬ쑰적인 κ°•μ œκ°€ μ—†λ‹€λ©΄ μ„œλ‘œ λ‹€λ₯Έ 비동기 처리 νŒ¨ν„΄μ΄ μƒκ²¨λ‚˜ ν†΅ν•©μ˜ ν˜Όλž€(Integration chaos)을 μ΄ˆλž˜ν•  수 μžˆμœΌλ―€λ‘œ νŒ€ μ„±μž₯에 맞좰 Redux와 같은 더 κ²¬κ³ ν•œ ꡬ쑰둜 λ§ˆμ΄κ·Έλ ˆμ΄μ…˜ν•˜κ±°λ‚˜ μ—„κ²©ν•œ νŒ¨ν„΄μ„ μ μš©ν•΄μ•Ό ν•©λ‹ˆλ‹€ [30-32]. --- *Last updated: 2026-04-26*