# [[Small Team Development]] ## ๐Ÿ“Œ Brief Summary ์†Œ๊ทœ๋ชจ ํŒ€(๋ณดํ†ต 2~5๋ช…) ํ™˜๊ฒฝ์—์„œ ๋ณต์žกํ•œ ํ”„๋กœ์„ธ์Šค ์˜ค๋ฒ„ํ—ค๋“œ๋ฅผ ์ตœ์†Œํ™”ํ•˜๊ณ  ๋น ๋ฅธ ํ”ผ๋“œ๋ฐฑ๊ณผ ์•ˆ์ •์ ์ธ ์ฝ”๋“œ ๊ธฐ๋ฐ˜์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ๋ฐ ํ˜‘์—… ๋ฐฉ์‹์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค [1]. ํ”„๋ก ํŠธ์—”๋“œ ๋ฐ React ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์—์„œ๋Š” ์ฃผ๋กœ ๊ฐ€๋ฒผ์šด ๊ธฐ๋Šฅ ๋ถ„๊ธฐ(Feature-branch) ์›Œํฌํ”Œ๋กœ์šฐ๋‚˜ ๋‹จ๊ธฐ ํŠธ๋ ํฌ ๊ธฐ๋ฐ˜(Trunk-based) ๊ฐœ๋ฐœ์„ ์ฑ„ํƒํ•˜๋ฉฐ, ๋ถˆํ•„์š”ํ•œ ๋ณด์ผ๋Ÿฌํ”Œ๋ ˆ์ดํŠธ๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ๋Š” ์ƒํƒœ ๊ด€๋ฆฌ ๋„๊ตฌ๋ฅผ ์„ ํ˜ธํ•ฉ๋‹ˆ๋‹ค [2-4]. ์ด๋ฅผ ํ†ตํ•ด ์ฝ”๋“œ ์ถฉ๋Œ์„ ์˜ˆ๋ฐฉํ•˜๊ณ  ํŒ€์› ๊ฐ„์˜ ๋™๊ธฐํ™” ๋ฐ ์ฝ”๋“œ ๋ฆฌ๋ทฐ๋ฅผ ์›ํ™œํ•˜๊ฒŒ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [5, 6]. ## ๐Ÿ“– Core Content * **์†Œ๊ทœ๋ชจ ํŒ€์„ ์œ„ํ•œ Git ๋ธŒ๋žœ์นญ ์ „๋žต:** * ๋ณต์žกํ•œ Git-Flow ๋ฐฉ์‹์€ ์†Œ๊ทœ๋ชจ ํŒ€์—๊ฒŒ ๋„ˆ๋ฌด ๋ฌด๊ฑฐ์šธ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, **๋‹จ์ˆœํ•œ ๊ธฐ๋Šฅ ๋ถ„๊ธฐ(Feature-Branch) ์›Œํฌํ”Œ๋กœ์šฐ**๋‚˜ **์ˆ˜๋ช…์ด ์งง์€ ๊ธฐ๋Šฅ ๋ธŒ๋žœ์น˜๋ฅผ ํ™œ์šฉํ•˜๋Š” ํŠธ๋ ํฌ ๊ธฐ๋ฐ˜(Trunk-based) ์›Œํฌํ”Œ๋กœ์šฐ**๊ฐ€ ๊ฐ€์žฅ ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค [1-3, 7, 8]. * `main` ๋ธŒ๋žœ์น˜๋Š” ํ•ญ์ƒ ๋ฐฐํฌ ๊ฐ€๋Šฅํ•˜๊ณ  ์•ˆ์ •์ ์ธ ์ƒํƒœ๋กœ ๋ณดํ˜ธ๋˜์–ด์•ผ ํ•˜๋ฉฐ(์ง์ ‘ ํ‘ธ์‹œ ๊ธˆ์ง€), ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ์ถ”๊ฐ€๋‚˜ ๋ฒ„๊ทธ ์ˆ˜์ • ๋“ฑ ๋ชจ๋“  ์ž‘์—…์€ `main`์—์„œ ๋ถ„๊ธฐํ•œ ๋‹จ๋… ๋ธŒ๋žœ์น˜(`feature/*`, `fix/*` ๋“ฑ)์—์„œ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [1-3, 9, 10]. * **์ปค๋ฐ‹ ๋ฐ PR(Pull Request) ๊ทœ์น™:** * ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ ์ปค๋ฐ‹๋‹น ํ•˜๋‚˜์˜ ๋…ผ๋ฆฌ์  ๋ณ€๊ฒฝ๋งŒ ํฌํ•จํ•˜๋Š” ์›์ž์  ์ปค๋ฐ‹(Atomic Commits) ํ˜•ํƒœ๋กœ ์ž‘๊ฒŒ ์œ ์ง€ํ•ด์•ผ ์ฝ”๋“œ ๋ฆฌ๋ทฐ์™€ ๋ฌธ์ œ ์ถ”์ ์ด ์‰ฝ์Šต๋‹ˆ๋‹ค [9, 11-13]. * ๋ชจ๋“  ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ ๋ณ‘ํ•ฉ ์ „ PR์„ ์—ด์–ด ์ ์–ด๋„ **1๋ช… ์ด์ƒ์˜ ํŒ€์›์—๊ฒŒ ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋ฐ ์Šน์ธ**์„ ๋ฐ›์•„์•ผ ํ•˜๋ฉฐ, CI/CD ํ…Œ์ŠคํŠธ๋ฅผ ํ†ต๊ณผํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [9-13]. * ๊น”๋”ํ•œ ์ปค๋ฐ‹ ํžˆ์Šคํ† ๋ฆฌ๋ฅผ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด **์Šค์ฟผ์‹œ ๋ณ‘ํ•ฉ(Squash & Merge)**์„ ์ฃผ๋กœ ์‚ฌ์šฉํ•˜๊ณ , ๋ณ‘ํ•ฉ์ด ์™„๋ฃŒ๋œ ๊ธฐ๋Šฅ ๋ธŒ๋žœ์น˜๋Š” ์ฆ‰์‹œ ์ž๋™ ์‚ญ์ œํ•˜๋„๋ก ์„ค์ •ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค [9-11, 13]. * **์†Œ๊ทœ๋ชจ ํŒ€์˜ React ์ƒํƒœ ๊ด€๋ฆฌ ๋„๊ตฌ ์„ ํƒ:** * ์Šคํƒ€ํŠธ์—…์ด๋‚˜ 5๋ช… ๋‚ด์™ธ์˜ ์†Œ๊ทœ๋ชจ ํŒ€์ด React ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•  ๋•Œ, Redux๋Š” ์ดˆ๊ธฐ ๋ณด์ผ๋Ÿฌํ”Œ๋ ˆ์ดํŠธ๊ฐ€ ๊ณผ๋„ํ•˜๊ฒŒ ๋А๊ปด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [14-16]. * ๋น ๋ฅธ MVP ๊ฐœ๋ฐœ ๋ฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„์„ ์œ„ํ•ด ๊ฐ€๋ฒผ์šฐ๋ฉด์„œ๋„ Redux์™€ ์œ ์‚ฌํ•œ ๊ฐ•๋ ฅํ•จ์„ ์ œ๊ณตํ•˜๋Š” **Zustand**๊ฐ€ ์†Œ๊ทœ๋ชจ ํŒ€์—๊ฒŒ ๊ฐ€์žฅ ์ด์ƒ์ ์ธ "๊ณจ๋””๋ฝ์Šค(Goldilocks) ์†”๋ฃจ์…˜"์œผ๋กœ ๊ถŒ์žฅ๋ฉ๋‹ˆ๋‹ค [4, 16, 17]. * ๋ฐ˜๋ฉด 3~4๋ช… ์ด์ƒ์˜ ํŒ€์—์„œ Context API๋ฅผ ์ „์—ญ ์ƒํƒœ ๊ด€๋ฆฌ๋กœ ๋‚จ์šฉํ•˜๋ฉด ๋ฆฌ๋ Œ๋”๋ง ํญํ’(re-render storm) ๋“ฑ ์‹ฌ๊ฐํ•œ ์„ฑ๋Šฅ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๊ธฐ ์‰ฌ์šฐ๋ฏ€๋กœ ์ฃผ์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [14, 17, 18]. ## ๐Ÿ”— Knowledge Connections - **Related Topics:** [[Git Branching Strategies]], [[Feature-Branch Workflow]], [[Trunk-Based Development]], [[React State Management]], [[Zustand]] - **Projects/Contexts:** [[GitHub Flow in Small Teams]], [[React App Prototypes and Startups]] - **Contradictions/Notes:** ๋‹จ์ˆœํ•œ ๊ธฐ๋Šฅ ๋ธŒ๋žœ์น˜ ๊ตฌ์กฐ์™€ Zustand ๊ฐ™์€ ์œ ์—ฐํ•œ ๋„๊ตฌ๋Š” ์†Œ๊ทœ๋ชจ ํŒ€์ด ๋น ๋ฅด๊ฒŒ ์›€์ง์ด๊ธฐ์— ์ตœ์ ์ด์ง€๋งŒ, ํŒ€ ๊ทœ๋ชจ๊ฐ€ 10๋ช… ์ด์ƒ์œผ๋กœ ์ปค์ง€๊ณ  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ณต์žก๋„๊ฐ€ ์ฆ๊ฐ€ํ•˜๋ฉด ๊ตฌ์กฐ์  ๊ทœ์œจ์ด ๋ถ€์กฑํ•ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ, ๋Œ€๊ทœ๋ชจ ๋ฆด๋ฆฌ์Šค ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•ด Git-Flow๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•˜๊ฑฐ๋‚˜, ๋” ์—„๊ฒฉํ•œ ์ƒํƒœ ๊ด€๋ฆฌ ํŒจํ„ด์„ ๊ฐ•์ œํ•˜๋Š” Redux๋กœ์˜ ์ „ํ™˜์„ ๊ณ ๋ คํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [8, 15, 16, 19, 20]. --- *Last updated: 2026-04-26*