living rule - connect-foundation/2019-07 GitHub Wiki

์ƒํ™œ ๋ฃฐ

ํ”„๋กœ์ ํŠธ ๊ธฐ๊ฐ„๋™์•ˆ ๋ฌผ๋ฆฌ์ ์œผ๋กœ ์ง€์ผœ์•ผ ํ•˜๋Š” ๊ทœ์น™

๋ชจ๋“  ๊ทœ์น™์€ ์„œ๋กœ๋ฅผ ๋ฐฐ๋ คํ•˜๊ณ  ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด ์กด์žฌํ•œ๋‹ค!

out ์ฝ”์–ด ํƒ€์ž„

์ผ์ •

๊ณต์œ  ๊ตฌ๊ธ€ ์บ˜๋ฆฐ๋”

๊ฐ์ž ์ดˆ๋Œ€ํ•œ ๊ตฌ๊ธ€ ์บ˜๋ฆฐ๋”๋กœ, ์ผ์ •์„ ๊ณต์œ ํ•œ๋‹ค.
๊ฐœ์ธ์ ์ธ ์ผ๋กœ ์ฐธ์—ฌ๊ฐ€ ๋ถˆ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ (์ฝ”์–ดํƒ€์ž„, ์•ผ๊ทผ, ์ฃผ๋ง) ์ผ์ •์„ ํŒŒ์•…ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•œ๋‹ค.

  • ๊ฐ์ž ๋ฉด์ ‘ ๋“ฑ์˜ ์ผ์ •์„ ์บ˜๋ฆฐ๋”์— ์ ์–ด ์„œ๋กœ์˜ ์ƒํ™ฉ์„ ์ดํ•ดํ•˜๋Š” ๋ฐ ์ดˆ์ ์„ ๋งž์ถ˜๋‹ค.
  • ์„œ๋กœ์˜ ์Šค์ผ€์ค„์„ ๊ณ ๋ คํ•ด ์ž‘์—…๋Ÿ‰์„ ๋ฏผ์ฃผ์ ์œผ๋กœ ๋ถ„๋ฐฐํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•œ๋‹ค.

๋ฉ”์‹ ์ €

์นด์นด์˜คํ†ก ๋‹จ์ฒด ํ†ก๋ฐฉ

ํ”„๋กœ์ ํŠธ์™€ ๊ด€๋ จ ์žˆ์ง€ ์•Š์€ ์ผ์ƒ ๋‚ด์šฉ์„ ์˜ฌ๋ฆฌ๋Š”๋ฐ ์‚ฌ์šฉํ•œ๋‹ค. (์ง€๊ฐ, ๋ชธ ์ƒํƒœ, โšก๋ฒˆ๊ฐœ๋ชจ์ž„ ๋“ฑ๋“ฑ)

10์‹œ ์ดํ›„์˜ ๋ฉ”์‹œ์ง€๋Š” ์ž์ œํ•œ๋‹ค.

Slack

ํ”„๋กœ์ ํŠธ์— ๊ด€๋ จ๋œ ๋‚ด์šฉ์„ ์˜ฌ๋ฆฌ๋Š” ๋ฐ ์‚ฌ์šฉํ•œ๋‹ค.

  • ์ฐธ๊ณ ํ• ๋งŒํ•œ ์˜คํ”ˆ์†Œ์Šค ๋ฐ ์ž๋ฃŒ์˜ ๋งํฌ
  • ๊ฐ„๋‹จํ•œ ์ฝ”๋“œ ๋ฐ ํŒŒ์ผ ๊ณต์œ 

์ผ์ƒ ๋ฉ”์‹ ์ €์™€๋Š” ๋ถ„๋ฆฌ๋œ ์ž‘์—…์šฉ ๋ฉ”์‹ ์ €์˜ ๊ธฐ๋Šฅ์„ ์˜จ์ „ํžˆ ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค.

๊ตฌ๊ธ€ ๋“œ๋ผ์ด๋ธŒ

ํ”„๋กœ์ ํŠธ์— ๊ด€๋ จ๋œ ํŒŒ์ผ (github์— ์˜ฌ๋ฆฌ๋Š” ๋‚ด์šฉ์€ ์ œ์™ธ)์„ ๊ณต์œ ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•œ๋‹ค. (๋ฌธ์„œ, ์ด๋ฏธ์ง€)

  • ํŒŒ์ผ ๋ฐ ํด๋” ๋ช…์€ ์˜คํ•ด์˜ ์†Œ์ง€๊ฐ€ ์—†๋„๋ก ๋ช…๋ช…ํ•œ๋‹ค.
  • ํ”„๋กœ์ ํŠธ ์ง„ํ–‰ ์ค‘ ์ผ์ • ์‹œ๊ฐ„์„ ํ• ์• ํ•ด ์ •๋ฆฌํ•˜๋„๋ก ํ•œ๋‹ค.

in ์ฝ”์–ด ํƒ€์ž„

ํƒ€์ž„ ์Šค์ผ€์ค„

์ง€๊ฐ

์ง€๊ฐ์€ ์ง€์–‘ํ•œ๋‹ค.
๋งŒ์•ฝ ์ง€๊ฐํ•  ๊ฒฝ์šฐ ์นด์นด์˜คํ†ก์œผ๋กœ ๋ฏธ๋ฆฌ ์–ผ๋งˆ์ •๋„ ๋Šฆ์„ ์ง€ ํŒ€์›์—๊ฒŒ ์•Œ๋ ค์•ผ ํ•œ๋‹ค.
์ง€๊ฐํ•œ ํŒ€์›์€ ์ž‘์—… ์‹œ์ž‘ ํ›„ 1์‹œ๊ฐ„ ๋™์•ˆ ์„œ์„œ ์ž‘์—…ํ•ด์•ผ ํ•˜๋Š” ํŒจ๋„ํ‹ฐ๋ฅผ ๋ฐ›๋Š”๋‹ค.

์ž‘์—…, ํœด์‹ interval

sprint ์ฃผ๋ฅผ ์ œ์™ธํ•˜๊ณ ๋Š” ์ž‘์—… - ํœด์‹ cycle์„ ์ˆœํšŒํ•˜๋ฉฐ ์ž‘์—…ํ•œ๋‹ค.

  • ํ”„๋กœ์ ํŠธ ์ฐธ์—ฌ ์ธ์›์˜ ์ปจ๋””์…˜์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•จ์ด๋‹ค.
  • ๊ฐœ์ธ์˜ ๊ทœ์น™์ ์ธ ํœด์‹์‹œ๊ฐ„์„ ๋ณด์žฅํ•˜๋„๋ก ๋…ธ๋ ฅํ•œ๋‹ค.

๊ฐ์ž ์ž์œ ๋กœ์šด ์Šค์ผ€์ค„๋กœ ์ž‘์—…ํ•˜๋„๋ก ํ•œ๋‹ค.

sprint ์ฃผ์ฐจ

7์ฃผ๊ฐ„์˜ ๊ณผ์ • ์ค‘์—์„œ ์ผ์ • ์ฃผ์ฐจ๋Š” sprint ์ฃผ์ฐจ๋กœ ์„ค์ •ํ•˜๊ณ  ์ง ์ฝ”๋”ฉ๋Œ€์‹  ๊ฐœ์ธ๋ณ„๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉฐ, ๊ฐœ์ธ์ด ๊ฐ€๋Šฅํ•œ ์ตœ๋Œ€ํ•œ์˜ ์ž‘์—…์„ ์ง„ํ–‰ํ•œ๋‹ค.

1์ฃผ 2์ฃผ 3์ฃผ 4์ฃผ 5์ฃผ 6์ฃผ 7์ฃผ
sprint

๋Ÿผํฌ์Šค ๋ฆฌ์ผ๋ฐ (๋งˆ๋ฌด๋ฆฌ ์Šคํฌ๋Ÿผ)

18:45 ๋ถ€ํ„ฐ 19:00 ๊ฐ„ ์ง„ํ–‰
๊ฐ์ž ๋‹น์ผ ์ž‘์—…ํ•œ ๋‚ด์šฉ, ๋‹ฌ์„ฑ๋„, ์ปจ๋””์…˜ ๋“ฑ์„ ๊ณต์œ ํ•œ๋‹ค.
๋ฐ์ผ๋ฆฌ ์Šคํฌ๋Ÿผ๊ณผ ๊ฐ™์ด wiki์— ๊ฐ„๋žตํžˆ ์ž‘์„ฑํ•˜๋„๋ก ํ•œ๋‹ค.

์•ผ๊ทผ

๋‹น์ผ ํ• ๋‹น๋Ÿ‰์„ ์ฑ„์šฐ์ง€ ๋ชปํ•œ ๊ฒฝ์šฐ๋‚˜, ์ถ”๊ฐ€์ ์œผ๋กœ ํ•™์Šต์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์•ผ๊ทผ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.

  • ์•ผ๊ทผ์„ ํ•œ ์ธ์›์€ ๋‹ค์Œ๋‚  ์ž‘์—…์„ ๋ถ„๋ฐฐํ•  ๋•Œ, ์ž‘์—…์–‘์ด ์ตœ์†Œ๊ฐ€ ๋˜๋„๋ก ๋ถ„๋ฐฐํ•˜๋Š” ๊ฒƒ์„ ์ง€ํ–ฅํ•œ๋‹ค.
  • ๊ฐ์ž ์•ผ๊ทผ์œผ๋กœ ์ธํ•ด ์ปจ๋””์…˜์ด ๋ง๊ฐ€์ง€์ง€ ์•Š๋„๋ก ๊ด€๋ฆฌํ•œ๋‹ค.

ํ”„๋กœ์ ํŠธ ์ง„ํ–‰

daily ํšŒ์˜ (์ง ์ฝ”๋”ฉ)

๋ฐ์ผ๋ฆฌ ์Šคํฌ๋Ÿผ ์™ธ์—๋„ ํŒ€์›๊ฐ„ ํ”„๋กœ์ ํŠธ ์ดํ•ด๋„๋ฅผ ๋†’์ด๊ธฐ ์œ„ํ•ด ์ฃผ๊ธฐ์ ์ธ ํšŒ์˜๋ฅผ ์ง„ํ–‰ํ•œ๋‹ค.
๋ชจ๋“  ์ธ์›์ด ํ•˜๋‚˜์˜ ํšŒ์˜์— ์ฐธ์—ฌํ•˜๋Š”๊ฒƒ์ด ์–ด๋ ค์šฐ๋ฏ€๋กœ, ํšŒ์˜ ํ›„์—๋Š” ์ฐธ์„ํ•˜์ง€ ์•Š์€ ํŒ€์›์„ ์œ„ํ•ด ๊ธฐ๋ก, ์ •๋ฆฌํ•ด์„œ ์„ค๋ช…ํ•œ๋‹ค.
ํšŒ์˜์— ์ฐธ์—ฌํ•˜์ง€ ์•Š๋Š” ์ธ์›์€ ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•œ ๋‚ด์šฉ์„ ํšŒ์˜ ์ฐธ์—ฌ์ž๋“ค์—๊ฒŒ ์œ„์ž„ํ•  ์ˆ˜ ์žˆ๋‹ค.

์ฝ”๋“œ ๋ฆฌ๋ทฐ

ํ•˜๋ฃจ์— ํ•œ๋ฒˆ ์”ฉ ๊ฐ์ž์˜ ์ฝ”๋“œ๋ฅผ ๋ฆฌ๋ทฐํ•˜๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์ง„๋‹ค.

  • ์ฝ”๋“œ ๋ฆฌ๋ทฐ์˜ ๋‚ด์šฉ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ comment๋ฅผ ๋‚จ๊ธธ ์ˆ˜ ์žˆ๋‹ค.

    1. ์ฝ”๋”ฉ rule์— ์–ด๊ธ‹๋‚œ ๊ฒฝ์šฐ
    2. ์ด๋ฏธ ์กด์žฌํ•˜๋Š” method๋ฅผ ์ง์ ‘ ๊ตฌํ˜„ํ•ด์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ
    3. ํ•จ์ˆ˜์˜ ํ˜ธ์ถœ ์ˆœ์„œ์˜ ์ดํ•ด๊ฐ€ ๋ช…ํ™•ํ•˜์ง€ ์•Š์•„ ๊ฐœ์„ ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ
    4. password๋“ฑ์„ hard codingํ•ด ๋ณด์•ˆ์ƒ์˜ ๋ฌธ์ œ๊ฐ€ ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ
    5. ์ž๊ธฐ๊ฐ€ ์ง„ํ–‰ํ•˜๋Š” ๋‚ด์šฉ๊ณผ merge์‹œ ์ถฉ๋Œ์ด ์šฐ๋ ค๋˜๋Š” ๊ฒฝ์šฐ
  • ์ฝ”๋“œ ๋ฆฌ๋ทฐ์˜ ๊ฒฝ์šฐ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ทœ์น™์„ ๋”ฐ๋ฅธ๋‹ค.

    1. comment๋ฅผ ๋‹ฌ ๋•Œ๋Š” ๋†’์ž„๋ง์„ ์‚ฌ์šฉํ•œ๋‹ค.
    2. commit์„ ์‹œ๊ฐ„์ˆœ์œผ๋กœ ํ•œ๋ฒˆ ํ›‘์–ด ๋ณธ ๋’ค comment๋ฅผ ๋‹ฌ ์ˆ˜ ์žˆ๋‹ค.
    3. ์ด๋ฏธ ์•ž์—์„œ ์ง€์ ํ•œ ๋‚ด์šฉ์ด๋”๋ผ๋„ ๋ฐ˜๋ณต๋˜๋Š” ๊ฒฝ์šฐ comment๋ฅผ ๋‹ฌ์•„์•ผ ํ•œ๋‹ค.
    4. code review๊ฐ€ ๋๋‚˜๊ณ  ๋งˆ์ง€๋ง‰ comment์—๋Š” ์ž์‹ ์ด ์ดํ•ดํ•œ ๋‚ด์šฉ์„ ์ ๋Š”๋‹ค.

weekly leader

๋งค ์ฃผ ๋Œ์•„๊ฐ€๋ฉด์„œ PM ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.
์ž์‹ ์ด ์ฃผ๋กœ ๋‹ด๋‹นํ•œ ๊ธฐ๋Šฅ์ด ์ง„ํ–‰๋˜๋Š” ์ฃผ์ธ ๊ฒฝ์šฐ PM ๊ถŒํ•œ์„ ์ž์ฒ˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

์ž‘์—… ๋ถ„๋ฐฐ

์„œ๋กœ ๊ทธ๋‚ ๊ทธ๋‚  ๊ฐ€๋Šฅํ•œ ์ž‘์—…๋Ÿ‰์„ ๊ฐ€์ ธ๊ฐˆ ์ˆ˜ ์žˆ๋„๋ก ๋…ธ๋ ฅํ•œ๋‹ค.
๊ฐ feature๋งˆ๋‹ค ์ž‘์—… ์ ์ˆ˜๋ฅผ ํ• ๋‹นํ•ด (๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„๊ณผ ๋น„๋ก€) ๊ฐ์ž์˜ ๊ทธ๋‚  ์ž‘์—… ๋Ÿ‰์„ ํŒŒ์•…ํ•˜๋„๋ก ํ•œ๋‹ค.
์—ฐ๊ด€๋˜์–ด ์žˆ๋Š” ์ž‘์—…๋“ค์˜ ๊ฒฝ์šฐ, ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’์€ ์ˆœ์œผ๋กœ ์ž‘์—…ํ•œ๋‹ค.

  • ํ˜„์žฌ ์ง„ํ–‰ํ•˜๋Š” ์ž‘์—…์ด ๋งˆ๋ฌด๋ฆฌ ๋˜๊ธฐ ์ „์—, ๋‹ค๋ฅธ ์ž‘์—…์„ ์šฐ์„  ํ•ด์•ผ ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • feature branch๋ฅผ ์ง„ํ–‰ํ•˜๋Š” ๊ฒฝ์šฐ๋Š” ๊ผญ commit ๊ทœ์น™์„ ์ง€ํ‚ค์ง€ ์•Š์•„๋„ ๋œ๋‹ค.
  • feature branch๋ฅผ mergeํ•˜๊ธฐ ์ „ commit convention์„ ์ง€์ผœ commit์„ ๋ฆฌํŒฉํ† ๋ง ํ•œ ๋’ค mergeํ•œ๋‹ค.

๊ฐ์ž ์—ญ๋Ÿ‰์— ๋”ฐ๋ผ ์ง„ํ–‰ํ•œ ์ž‘์—…์˜ ์ด ๋Ÿ‰์ด ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค.

Pull Request

PR์„ mergeํ•˜๊ธฐ ์ „ ์ตœ์†Œ 2๋ช…์˜ code review๋ฅผ ์ง„ํ–‰ํ•ด์•ผ ํ•œ๋‹ค.
์ง์ฝ”๋”ฉ์œผ๋กœ ๋งŒ๋“  PR์˜ ๊ฒฝ์šฐ code review๋ฅผ ๋งŒ์กฑํ•œ ๊ฒƒ์œผ๋กœ ํ•œ๋‹ค.

Pull Request๋ฅผ ๋‚ ๋ฆด ๋•Œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ œ๋ชฉ๊ณผ ๋‚ด์šฉ์„ ์ž‘์„ฑํ•œ๋‹ค

  • ์ œ๋ชฉ์—๋Š” PR์˜ ์ž‘์—… ๋‚ด์šฉ์„ ์š”์•ฝํ•œ ๋‚ด์šฉ์„ ์ถ”๊ฐ€ํ•œ๋‹ค.
    • commit convention์˜ ํƒœ๊ทธ + ์ œ๋ชฉ๊ณผ ์œ ์‚ฌํ•˜๊ฒŒ ํ•œ๋‹ค.
  • ๋‚ด์šฉ์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋‚ด์šฉ์„ ๊ฐ€์ง„ ๋ฌธ๋‹จ์„ ๊ฐ๊ฐ ์ถ”๊ฐ€ํ•ด์•ผ ํ•œ๋‹ค.
    • ์ง„ํ–‰ํ•œ ๋‚ด์šฉ๋“ค์„ ์—ด๊ฑฐํ•˜๋Š” ๋ฌธ๋‹จ
    • ์™œ ๊ทธ๋ ‡๊ฒŒ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ–ˆ๋Š”์ง€์— ๋Œ€ํ•œ ๊ฐ„๋žตํ•œ ์„ค๋ช…
    • ๊ณต์œ ํ•ด์•ผ ํ•˜๋Š” ์ง€์‹ keyword (์˜ต์…˜)

PR์˜ merge๋Š” ๊ทธ ์ฃผ์˜ PM์ด ๊ถŒํ•œ์„ ๊ฐ–๋Š”๋‹ค.