Skip to content

Team Collaboration Rule

jerry_yeo edited this page Dec 4, 2025 · 4 revisions

๐Ÿ› ๏ธ Team Collaboration Rules

์šฐ๋ฆฌ ํŒ€์˜ ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค์™€ ํ˜‘์—… ๊ทœ์น™์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ํŒ€์›์€ ์›ํ™œํ•œ ํ˜‘์—…๊ณผ ์ฝ”๋“œ ํ’ˆ์งˆ ์œ ์ง€๋ฅผ ์œ„ํ•ด ์•„๋ž˜ ๊ทœ์น™์„ ์ค€์ˆ˜ํ•ฉ๋‹ˆ๋‹ค.

1. Branching Strategy

์šฐ๋ฆฌ๋Š” GitHub Flow๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ธŒ๋žœ์น˜๋ฅผ ์šด์šฉํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“Œ Branch Types

  • master: ์ œํ’ˆ์œผ๋กœ ๋ฐฐํฌ๋˜๋Š” ๋ฉ”์ธ ๋ธŒ๋žœ์น˜์ž…๋‹ˆ๋‹ค. (Direct Push ๊ธˆ์ง€)
  • feature/*: ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ๊ฐœ๋ฐœํ•˜๋Š” ๋ธŒ๋žœ์น˜์ž…๋‹ˆ๋‹ค.
  • hotfix/*: ๋ฐฐํฌ ํ›„ ๋ฐœ์ƒํ•œ ๊ธด๊ธ‰ ๋ฒ„๊ทธ๋ฅผ ์ˆ˜์ •ํ•˜๋Š” ๋ธŒ๋žœ์น˜์ž…๋‹ˆ๋‹ค.
image

๐Ÿ“Œ Naming Convention

๋ชจ๋“  ๋ธŒ๋žœ์น˜ ์ด๋ฆ„์—๋Š” ํŠธ๋ž˜ํ‚น์„ ์œ„ํ•ด Jira Issue Key๋ฅผ ๋ฐ˜๋“œ์‹œ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.

  • feature/[Jira-Key]-[Description]
  • hotfix/[Jira-Key]-[Description]

Ex) feature/PROJ-101-login-page


2. Jira Integration & Commit Convention

์ด์Šˆ ํŠธ๋ž˜ํ‚น๊ณผ ์ฝ”๋“œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์˜ ์—ฐ๊ฒฐ์„ ์œ„ํ•ด ์—„๊ฒฉํ•œ ์ปจ๋ฒค์…˜์„ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.

๐Ÿ“Œ Commit Message Format

์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€ ํ—ค๋”์— ์ด์Šˆ ํ‚ค๋ฅผ ํฌํ•จํ•˜์—ฌ Jira ํ‹ฐ์ผ“๊ณผ ์—ฐ๋™๋˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

  • [Type]-[Jira-Key]: [Description]

Ex) feat-PROJ-101: ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ๋ ˆ์ด์•„์›ƒ ๊ตฌํ˜„ Ex) fix-PROJ-102: ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ ๋น„ํ™œ์„ฑํ™” ์˜ค๋ฅ˜ ์ˆ˜์ •

๐Ÿ“Œ Work Rules

  • Traceability: ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€, PR ์ œ๋ชฉ, ๋ธŒ๋žœ์น˜ ์ด๋ฆ„ ๋“ฑ ๋ชจ๋“  ๊ณณ์— Jira Issue Key๋ฅผ ๋ช…์‹œํ•ฉ๋‹ˆ๋‹ค.
  • Status Management: Jira ํ‹ฐ์ผ“์˜ ์ƒํƒœ ๋ณ€๊ฒฝ(To Do โ†’ In Progress โ†’ Done)์€ ์ž‘์—…์ž๊ฐ€ ์ˆ˜๋™์œผ๋กœ ์ตœ์‹ ํ™”ํ•ฉ๋‹ˆ๋‹ค.

3. Pull Request (PR) Process

๐Ÿ“‹ PR Rules

  • 1 PR 1 Feature: ํ•˜๋‚˜์˜ PR์€ ํ•˜๋‚˜์˜ ๊ธฐ๋Šฅ ๋‹จ์œ„๋กœ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์„ ์›์น™์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค.
  • No File Limit: ํŒŒ์ผ ๋ณ€๊ฒฝ ๊ฐœ์ˆ˜์— ์ œํ•œ์€ ์—†์œผ๋‚˜, ๋ฆฌ๋ทฐ ํšจ์œจ์„ ๊ณ ๋ คํ•˜์—ฌ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“ PR Template

PR ์ž‘์„ฑ ์‹œ ์•„๋ž˜ ํ…œํ”Œ๋ฆฟ ์–‘์‹์„ ์ค€์ˆ˜ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿšฉ What is this PR?

๐Ÿ“ข Changes-Detail

๐Ÿ“ƒ Progress Completed:

To-do:

โœ… Checklist

[ ] Jira issue key is included

๐Ÿ“ธ Screenshots or Video

โš™๏ธ Additional Notes

4. Code Review Policy

์ฝ”๋“œ ํ’ˆ์งˆ ์œ ์ง€์™€ ์•ˆ์ •์„ฑ์„ ์œ„ํ•ด ๊ฐ•๋„ ๋†’์€ ๋ฆฌ๋ทฐ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฑฐ์นฉ๋‹ˆ๋‹ค.

๐Ÿ›ก๏ธ Branch Protection (master)

  • Direct Push ๊ธˆ์ง€: ๋ชจ๋“  ๋ณ€๊ฒฝ์‚ฌํ•ญ์€ PR์„ ํ†ตํ•ด์„œ๋งŒ ๋ณ‘ํ•ฉ๋ฉ๋‹ˆ๋‹ค.
  • CI Build Check: CI ๋นŒ๋“œ๊ฐ€ ์„ฑ๊ณตํ•ด์•ผ๋งŒ ๋ณ‘ํ•ฉ(Merge)์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
  • Review Requirement: ์ตœ์†Œ **2๋ช… ์ด์ƒ์˜ ๋ฆฌ๋ทฐ์–ด ์Šน์ธ(Approve)**์ด ์žˆ์–ด์•ผ ๋ณ‘ํ•ฉ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ‘๏ธ Review Focus

๋ฆฌ๋ทฐ์–ด(Pool: 3๋ช…)๋Š” ๋‹ค์Œ ์‚ฌํ•ญ์„ ์ค‘์ ์ ์œผ๋กœ ๊ฒ€ํ† ํ•ฉ๋‹ˆ๋‹ค.

  1. MVC Pattern: ์•„ํ‚คํ…์ฒ˜ ํŒจํ„ด์„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ค€์ˆ˜ํ–ˆ๋Š”๊ฐ€?
  2. Consistency: ๊ธฐ์กด ์ฝ”๋“œ ์Šคํƒ€์ผ ๋ฐ ๊ตฌ์กฐ์™€ ์ผ๊ด€์„ฑ์ด ์žˆ๋Š”๊ฐ€?
  3. Reusability: ์ฝ”๋“œ์˜ ์žฌ์‚ฌ์šฉ์„ฑ์„ ๊ณ ๋ คํ•˜์—ฌ ์ž‘์„ฑ๋˜์—ˆ๋Š”๊ฐ€?

5. Review Communication Rule (Pn Rule)

๋ฆฌ๋ทฐ์–ด์˜ ์˜๋„๋ฅผ ๋ช…ํ™•ํžˆ ์ „๋‹ฌํ•˜๊ธฐ ์œ„ํ•ด **Pn ๋ฃฐ(Priority Rule)**์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ฝ”๋ฉ˜ํŠธ ์ž‘์„ฑ ์‹œ ๋ง๋จธ๋ฆฌ์— ํƒœ๊ทธ๋ฅผ ๋ถ™์—ฌ์ฃผ์„ธ์š”.

Tag ์˜๋ฏธ Action ์„ค๋ช…
P1 ๊ผญ ๋ฐ˜์˜ํ•ด์ฃผ์„ธ์š” Request changes ์„œ๋น„์Šค์— ์ค‘๋Œ€ํ•œ ์˜ค๋ฅ˜๋ฅผ ๋ฐœ์ƒ์‹œํ‚ฌ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๊ฑฐ๋‚˜ ๋ฐ˜๋“œ์‹œ ์ˆ˜์ •์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค. ์ž‘์„ฑ์ž๋Š” ๋ฐ˜๋“œ์‹œ ๋ฐ˜์˜ํ•˜๊ฑฐ๋‚˜, ํ•ฉ๋‹นํ•œ ์ด์œ ๋กœ ๋ฆฌ๋ทฐ์–ด๋ฅผ ์„ค๋“ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
P2 ์ ๊ทน์ ์œผ๋กœ ๊ณ ๋ คํ•ด์ฃผ์„ธ์š” Request changes ์ˆ˜์šฉ์„ ๊ถŒ์žฅํ•˜๋ฉฐ, ์ˆ˜์šฉํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ ์ ํ•ฉํ•œ ์˜๊ฒฌ์„ ๋“ค์–ด ํ† ๋ก ํ•  ๊ฒƒ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.
P3 ์›ฌ๋งŒํ•˜๋ฉด ๋ฐ˜์˜ํ•ด ์ฃผ์„ธ์š” Comment ์ˆ˜์šฉํ•˜๊ฑฐ๋‚˜, ๋ฐ˜์˜ํ•  ์ˆ˜ ์—†๋‹ค๋ฉด ์ด์œ ๋‚˜ ์ถ”ํ›„ ๊ณ„ํš(Jira ํ‹ฐ์ผ“ ๋“ฑ)์„ ๋ช…์‹œํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.
P4 ๋ฐ˜์˜ํ•ด๋„ ์ข‹๊ณ 
๋„˜์–ด๊ฐ€๋„ ์ข‹์Šต๋‹ˆ๋‹ค
Approve ์ž‘์„ฑ์ž๊ฐ€ ๋ฌด์‹œํ•ด๋„ ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น ์˜๊ฒฌ์„ ๋ฐ˜์˜ํ•˜๋Š” ๊ฒŒ ์ข‹์„์ง€ ๊ณ ๋ฏผํ•ด ๋ณด๋Š” ์ •๋„๋ฉด ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค.
P5 ๊ทธ๋ƒฅ ์‚ฌ์†Œํ•œ ์˜๊ฒฌ์ž…๋‹ˆ๋‹ค Approve ์ž‘์„ฑ์ž๊ฐ€ ์•„๋ฌด๋Ÿฐ ์˜๊ฒฌ์„ ๋‹ฌ์ง€ ์•Š๊ณ  ๋ฌด์‹œํ•ด๋„ ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค.

Clone this wiki locally