0. ๋ค์ด๊ฐ๋ฉฐ...
์ด๋ฒ์ ์๋ก ํ ํ๋ก์ ํธ๋ฅผ ํ๋ฉด์, ๋
ธ์
์ ํตํด ํ๋ก์ ํธ ๊ด๋ฆฌ๋ฅผ ํ๊ฒ ๋์๋ค. JIRA
๋ MATTERMOST
๊ฐ์ ํ์
ํด์ ์ง์ํด์ฃผ๋ SSAFY์ ๋ฌ๋ฆฌ, ๊ตฌ๋ฆ ๋ถํธ ์บ ํ๋ ๊ทธ๋ฐ ๊ฒ์ด ์์ด, NOTION์ ํตํด ์ง์ ๋ง๋ค์ด์ผ ํ๋ค. ๊ทธ๊ฐ ๋
ธ์
ํ์ฉ๋ ฅ์ด ๋ง์ด ๋์์ก์ผ๋, ์ข์ ๊ธฐํ๋ผ ์ฌ๊ฒผ๋ค. ์ค๋์ 1๏ธโฃ ๋
ธ์
์ ๊ด๊ณํ ๋ฐ์ดํฐ ๋ฒ ์ด์ค๋ฅผ ํ์ฉํ ์คํ๋ฆฐํธ ๊ด๋ฆฌ์ 2๏ธโฃ ์์์ ํ์ฉํ ๊ฐ์์ฑ ๋์ด๊ธฐ๋ฅผ ํ ๋ฒ ํด๋ณด๋ ค ํ๋ค.
1. ERD ์ค๊ณ
๊ด๊ณํ DB๋ฅผ ๊ณํํด์ ์ฌ์ฉํ๋ ค๋ฉด ์ญ์ ์ค๊ณ๋ถํฐ ํด์ผํ๋ค. ๊ทธ๋์ ERD CLOUD
๋ฅผ ํค๊ณ , DB ์ค๊ณ๋ฅผ ์์ํ๋ค. ์ค๊ณ ์ ์๋ ์ค๊ณ์ ๋ชฉํ๋ฅผ ์ธ์ฐ๊ณ ์์ํด์ผํ๋ค. ๋ด๊ฐ ์ธ์ด ๋ชฉํ๋ ๋ค์๊ณผ ๊ฐ๋ค.
- 1๏ธโฃ ํ ๋ฉค๋ฒ ๋ณ๋ก ์์ ์ด ํด์ผํ ์ผ์ด ๊ท์๋์ด์๋ค.
- 2๏ธโฃ ์งํ ์ฌ๋ถ๋ฅผ ์ฒดํฌํ๋ฉด, ์ง์ฒ๋์ ๊ณํ๋ฅ ์ ๊ณ์ฐํ ์ ์๋ค.
์ดํ ์์ ๊ฐ์ด ERD๋ฅผ ์ค๊ณํ๋ค. ๋ ธ์ ์ 1๋1, 1๋๋ค, ๋ค๋๋ค ์ ๋ถ ๊ฐ๋ฅํ๋ค. ์ด๋ฅผ ์ด์ฉํ์ฌ, Member์ Sprint๋ฅผ 1๋๋ค๋ก ์ฐ๊ฒฐํ์ฌ, ๋ฉค๋ฒ ๋ณ๋ก ์ฌ๋ฌ ๊ฐ์ ์คํ๋ฆฐํธ๋ฅผ ์งํํ ์ ์๋๋ก ํ๊ณ , ์คํ๋ฆฐํธ๋ ๋ํ ์ฌ๋ฌ ๊ฐ์ ์ธ๋ถ ํ ์ผ๋ก ๋๋ ์ง๊ฒ ํ์๋ค.
2. DB ๊ฐ์ ๊ด๊ณ ์ค์
๋
ธ์
์์๋ ๊ด๊ณ๋ฅผ ๊ฑฐ๋ ์ชฝ์ด ์์ ํ
์ด๋ธ์ด๋ค. ๋ฐ๋ผ์ ๋๋ ์์ ๊ทธ๋ฆผ์์ SPRINT ํ
์ด๋ธ
์ ํด๋นํ๋ SPRINT DB
์ ๋ค์ด๊ฐ ๋ค์ ๊ณผ์ ์ ์งํํ๋ค.
โด ๊ด๊ณํ์ ๋๋ฅธ๋ค.
โต ๊ด๊ณ๋ฅผ ๋งบ์ DB๋ฅผ ์ ํํ๋ค. ์ฌ๊ธฐ์ ์ ํํ๋ DB ํ ์ด๋ธ์ด ๋ฐ๋ก ๋ถ๋ชจ ํ ์ด๋ธ์ด ๋๋ค.
โถ ์ ํ์ '์ ํ ์์', ์๋ฐฉํฅ ๊ด๊ณ๋ 'ํ์ฑํ' ์ํจ๋ค.
์๋ DB๋ฅผ ์ง๋ฉด, ๋ถ๋ชจ ํ ์ด๋ธ์ Key๊ฐ ์์ ํ ์ด๋ธ์ ์ธ๋ํค๋ก ์ฝ์ ๋๋ค. ์ด๋ ๋ ธ์ ๋ ๋๊ฐ๋ค. ๋ค๋ง, ๋ ธ์ ์์๋ ์๋ฐฉํฅ ๊ด๊ณ๋ฅผ ์ค์ ํ๋ฉด, ์์์ KEY๊ฐ ๋ถ๋ชจ ํ ์ด๋ธ์ Attribute๋ก ๋ํ๋๊ฒ ํ ์ ์๋ค. ์ฌ์ค ์ํด๋ ๋์ง๋ง, ๋์ค์ ๋ถ๋ชจ ํ ์ด๋ธ์์ ์์ ํ ๋, ๊ด๊ณ์ ๊ฐ์์ฑ์ ๋ณด์ด๊ธฐ ์ํด ํ์ฑํ ์์ผฐ๋ค.
โท ์์ ๊ณผ์ ์ ์งํํ๋ฉด SPRINT
(์์ ํ
์ด๋ธ)์ ์ธ๋ ํค๋ก ๋ถ๋ชจ ํ
์ด๋ธ์ KEY๊ฐ ๋ค์ด๊ฐ๊ฒ ๋๋ค.
์ ์ฌ์ง์ ๋ค์ด๊ฐ ๋ชจ์ต์ด๊ณ , ์ด ์ธ๋ํค์ ์ด๋ฆ์ ํธ์์ ๋ง๊ฒ ๊ณ ์น ์ ์๋ค. ๊ทธ์ Member๋ผ๊ณ ๋๋ ๊ฒ์ ์ง๊ด์ ์ด์ง ์์์, ๋๋ ๋ด๋น์๋ผ๊ณ ๊ณ ์ณค๋ค.
โธ To do Table
์ ๋ง๋ค์ด ์ฐ๊ฒฐ์ํค๋ ๊ณผ์ ๋ ์์ ๊ฐ์ด ํ๋ฉด ๋๋ค. ํ๋ ์ดํด๋ณผ ๊ฒ์ To do Table
์ ๊ณํ ์ฌ๋ถ attribute์ผ ๊ฒ์ด๋ค. ์ด๋ฅผ ๊ทธ์ ์ฒดํฌ boolean์ผ๋ก ๋ํ๋ธ๋ค๋ฉด, ๊ณํ์ ํ๊ณ ์ฌ์ฉ์๊ฐ ์ง์ boolean์ true๋ก ๋ง๋ค์ด์ค์ผ ํ๋, ํด๋จผ ์๋ฌ๊ฐ ๋ ๊ฐ๋ฅ์ฑ์ด ๋ง๊ณ , ๊ท์ฐฎ๋ค. ๋ฐ๋ผ์ ํ์๋ ๋
ธ์
์ ์์์ ํ์ฉํ๋ค.
์์ ๊ฐ์ด, ๊ณํ๋ ์ง๊ฐ ๋น์ด์์ง ์์ ๊ฐ์ true๊ฐ ๋๋๋ก ์ค์ ํ๋ฉด, ๊ณํ ๋ ์ง๋ฅผ ์์ฑํ๋ ์๊ฐ ๊ณํ ์ฌ๋ถ๋ true๋ก ๋ฐ๋ ๊ฒ์ด๋ค.
์ดํ์ ๊ฐ ํ ์ด๋ธ์ ์ถ๊ฐ Attribute๋ฅผ ๋ง๋๋ ๊ณผ์ ๊ณผ ์ฐ๊ฒฐ์ ์์ ๊ฐ์ ๊ณผ์ ์ ๋ฐ๋ณต์ด๋ฏ๋ก, ์๋ตํ๊ณ ๋์ด๊ฐ๊ฒ ๋ค.
3. Roll up์ ํตํด ํต๊ณ ๋ํ๋ด๊ธฐ
๋
ธ์
์์ ๊ด๊ณํ ๋ฐ์ดํฐ ๋ฒ ์ด์ค๋ฅผ ํ์ฉํ ์ ์๋ ๋ ํ ๊ฐ์ง ๊ธฐ๋ฅ์ผ๋ก Roll up
์ด ์๋ค.
Roll up
์ด๋?
ํ ํ ์ด๋ธ์ Record๊ฐ ์์ ๊ณผ ์ฐ๊ด๋ ๋ถ๋ชจ ํน์ ์์ ํ ์ด๋ธ์ record์ ์์ฑ์ ๊ฐ์ ธ์ ํ์ํ๋ ๊ธฐ๋ฅ
์ฐ๋ฆฌ๋ Roll up
์ ํ์ฉํ์ฌ ERD ์ค๊ณ์ ๋ ๋ฒ์งธ ๋ชฉํ์๋ (1) Sprint ๋ณ ๊ณํ๋ฅ ๊ณผ (2) Sprint ๋ณ ๊ณํ ์ง์ฒ๋, (3) ๋ฉค๋ฒ ๋ณ ์ง์ฒ๋ ๋ฅผ ๋ํ๋ด๋ ค ํ๋ค.
(1) Sprint ๋ณ ๊ณํ๋ฅ ๋ํ๋ด๊ธฐ
๋ค์ Sprint DB ํ ์ด๋ธ๋ก ๋์์ค์.
Attribute๋ฅผ ์ถ๊ฐํ๊ณ , roll up์ ์ ํํ๋ค.
์ดํ ์์ ์ฒดํฌํ 3๊ฐ์ง๋ฅผ ์ํ๋ ๋๋ก ์ค์ ํ๋ฉด ๋๋ค. ๋๋ ๋ํ๋ผ ๊ด๊ณ DB๋ฅผ Sprint์ ์์ ํ
์ด๋ธ์ธ To-do๋ก ์ ํํ์๊ณ , ์์ ํ
์ด๋ธ์์ ๋ํ๋ผ ์์ฑ์ ๊ณํ ์ฌ๋ถ
๋ก ์ ํ, ๊ณ์ฐ์ ํ๋์ ์คํ๋ฆฐํธ์ ์ฐ๊ด๋ ๋ชจ๋ ๊ณํ ์๋ก ์ค์ ํ์๋ค. ์ด์ ๋๊ฐ์ ๋ฐฉ๋ฒ์ผ๋ก ๊ณํ๋ To-do ์๋ ๋๊ฐ์ด ์ฒดํฌํด์ฃผ๋ฉด ๋๊ฒ ๋ค.
์ด์ ์ด ๋์ ํ์ฉํด ๋น์จ์ ๊ณ์ฐํ ์์ attribute๋ฅผ ํ๋ ๋ง๋ค๋ฉด ๋๋ค. Roll up ์์ฑ์ ๋น์จ๋ก ๋ํ๋ด๊ธฐ
๊ธฐ๋ฅ์ ๋ฐ๋ก ์ฌ์ฉํ์ง ์๋ ์ด์ ๋ ๊ฐ์์ฑ ๋๋ฌธ์ด๋ค. ๋์ค์ ํ๊ฐ ์๋ ๊ฐค๋ฌ๋ฆฌ ๋ ์ด์์์ด๋, ๋ฆฌ์คํธ ๋ ์ด์์์ ์ธ ๋, ํด๋น ๊ธฐ๋ฅ์ผ๋ก ๋ํ๋ธ ๊ณํ๋ฅ ์ ๊ทธ์ ์ซ์๋ง ํ๊ธฐ๋์ด ์์ด, ๋ฌด์์ ๋ํ ์ซ์ ํ๊ธฐ์ธ์ง ์ฌ์ฉ์๊ฐ ์ดํดํ๊ธฐ ํ๋ค๋ค. ์ด ๋๋ฌธ์ ๊ฐ๋จํ ๋จ์ด์ emoji๋ฅผ ์ธ ์ ์๋ ์์ ์์ฑ์ ํ๋ ๋ ๋ง๋ค์ด ํ๊ธฐํ๋ ๊ฒ์ ์ ํํ๋ค.
๋ด ์์์ ๊ฐ๋จํ๊ฒ ($\frac{๊ณํ๋ ํ ์ผ ์}{์ ์ฒด ํ ์ผ ์}$)๋ก ํ๊ธฐํ๋ค.
(2) ๊ณํ ์ง์ฒ๋ ๋ํ๋ด๊ธฐ
๊ณํ ์ง์ฒ๋๋ ๊ฐ์ ๊ณผ์ , ๊ฐ์ ๋ฐฉ๋ฒ์ผ๋ก ํ๋ฉด ๋๋ค. ์ค๋ช
์ ์๋ตํ๊ณ ๊ณผ์ ์คํฌ๋ฆฐ ์ท๋ง ์ฌ๋ฆฌ๊ฒ ๋ค. ์ ์ฒด ํ ์ผ ์๋ Sprint ์ ์ฒด ๊ณํ ์
๋ผ๋ attribute์์ ์ธ์ด์ฃผ๊ณ ์์ผ๋, ์ฐ๋ฆฌ๋ ์๋ฃ ํ์๋ ํ ์ผ ์
๋ง ์ธ์ด์ค์ ๋ค์ ์์์ผ๋ก ๋ํ๋ด๋ฉด ๋๋ค.
๋
ธ์
์ ์ํ
์์ฑ์ roll up
์ผ๋ก ๋ํ๋์ ๊ฒฝ์ฐ, ๋ชจ๋ ๊ฐ์ String ํํ๋ก ๋ํ๋ธ๋ค. ๋ฐ๋ผ์ Notion์์ String์ Integer๋ก ๋ณํ์์ผ์ฃผ๋, toNumber()
๋ผ๋ ํจ์๋ฅผ ํ์ฉํด ๋ณํ ์์ผ์ค ๋ค์ ์ฌ์น์ฐ์ฐ์ ํด์ผ ํ๋ค.
(3) ๋ฉค๋ฒ ๋ณ ์ง์ฒ๋ ๋ํ๋ด๊ธฐ
์ด๋ฒ์ ๋ํ๋ด๋ ค๊ณ ํ๋ ๊ฒ์, ๋ฉค๋ฒ ๋ณ ์์ ์ด ์งํ ์ค์ธ ์ ์ฒด Sprint ํ ์ผ์ ๋ํ์ฌ ์ง์ฒ๋๊ฐ ์ด๋ ์ ๋ ์ธ๊ฐ ์ด๋ค. ์ด๋ฅผ ๋ํ๋ด๋ ค๋ฉด, Sprint table
์ roll up
์์ฑ๋ค์ ๊ฐ์ ธ์ค๋ฉด ์ฝ๊ฒ ๊ตฌ๋ ํ ์ ์์ง๋ง, ์์ ํ
์ด๋ธ์ด ์์ ํ
์ด๋ธ์์ ๊ฐ์ ธ์จ ๋กค์
์์ฑ๋ค์ ๋ถ๋ชจ ํ
์ด๋ธ์์ ๊ฐ์ ธ์ค์ง ๋ชปํ๋ค. ๋ฐ๋ผ์ ์ฐ๋ฆฌ๋ ์์์ ํ์ฉํ์ฌ ์ด๋ฅผ ์ฐํ ํ๊ฒ ๋ค.
โ ์์์ผ๋ก ์ ์ฒด ๊ณํ ์
์ ์๋ฃ๋ ํ ์ผ ์
๋ฅผ ๋๊ฐ์ด ๊ฐ์ง๊ณ ์๋ ์์ฑ์ 2๊ฐ ๋ ๋ง๋ ๋ค.
์ด๋ ๊ทธ์ ๋ถ๋ชจ ํ ์ด๋ธ์ธ Member์์ ๋ํ๋ด๊ธฐ ์ํ ์ฉ๋์ด๋ค.
โ ๋ฉค๋ฒ ํ
์ด๋ธ์์ ๊ฐ ๋ฉค๋ฒ ๋ณ ์ ์ฒด ํ ์ผ ๊ฐ์
, ์๋ฃ๋ ํ ์ผ ๊ฐ์
๋ฅผ ํฉ์ณ์ ๋ํ๋ด๊ธฐ
๋ฉค๋ฒ ๋ณ๋ก Sprint๊ฐ ์ฌ๋ฌ ๊ฐ์ผ ๊ฒ์ด๋ฏ๋ก, ๊ทธ์ ์ซ์๋ง ๋ค๊ณ ์จ๋ค๋ฉด, 5, 3, 2, ...
๊ณผ ๊ฐ์ด ๋ํ๋ ๊ฒ์ด๋ค. ์ฐ๋ฆฌ๋ ๊ทธ๊ฒ๋ค์ ํฉ๊ณ๋ฅผ ๋ํ๋ด๊ณ ์ถ๋ค. ์ฌ๊ธฐ์ ๋ฐ๊ฐ์ด ๊ฒ์ Notion์๋ ํฉ๊ณ๋ฅผ ๋ด์ฃผ๋ ๊ธฐ๋ฅ๋ ์๋ค! (๋๋จํ ๋
ธ์
...)
โ ๋ฉค๋ฒ๋ณ ์ง์ฒ๋ ์์์ผ๋ก ๋ํ๋ด๊ธฐ
4. ๋ ธ์ CRM ๊ฐ์์ฑ ๋๊ฒ ๊พธ๋ฏธ๊ธฐ
(1) ๊ฐ์ธ๋ณ SPRINT ์ค์ ๋ฐ To-do-List ๊ณํ ์ธ์ฐ๊ธฐ
์๋ ๊ฐ์ธ๋ณ ํ๋กํ์ ๋๋ ์ ๋, ๋์ค๋ ํ๋ฉด์ด๋ค. ๋ด๋น์์ SPRINT ๋ชฉ๋ก
, ๋ ์ง ์ค์ ์ด ์๋ TO-DO LIST
, TO-DO ๊ณํ ์ผ์
์ด ๊ฐ๊ฐ ์ ํ์๋ค. ์์ ๊ทธ๋ฆผ์ฒ๋ผ ๋ ์ง ์ค์ ์ด ํ์ํ TO-DO
๋ฅผ ๋๋ฅด๊ณ ์บ๋ฆฐ๋์ DRAG & DROPํ๋ฉด ๊ณํ ๋ ์ง๊ฐ ์ค์ ๋๋ค.
(2) ๋ฉค๋ฒ ๋ณ SPRINT ๋ชฉ๋ก ๋ฐ CAN-BAN BOARD
๋ฉค๋ฒ๋ณ๋ก ๊ณํ์ ์ผ๋ง๋ ํ๊ณ , ์ผ๋ง๋ ๋ฌ์ฑ ํ๋์ง๋ฅผ ๋ณด์ฌ์ฃผ๋ ๋ณด๋ ํ์ด๋ค. ๊ณํ๋ฅ ์ ๋ชจ๋ ๊ณํ์ด ์บ๋ฆฐ๋์ ๊ธฐ๋ก ๋์์ ๋, 100%๋ก ์ฐํ๋ค.
๋ณด๋ ๋ ์ด์์
์ ํ์ฉํ์ฌ ์นธ๋ฐ๋ณด๋๋ฅผ ๋ง๋ค์๋ค.
(3) ๋ฉค๋ฒ๋ณ ๊ธฐ์ ๋ก๊ทธ ๋ง๋ค๊ธฐ
์์ ๊ฐ์ด TagLog ์ฉ ํ ์ด๋ธ์ ํ๋ ๋ ๋ง๋ค์ด์ ๋ฉค๋ฒ ํ ์ด๋ธ๊ณผ ์ฐ๊ด์์ผ์คฌ๋ค. ์ด๋ฅผ ํตํด ๊ฐ ๋ฉค๋ฒ๋ณ๋ก ์์ฑํ ๊ธฐ์ ๋ก๊ทธ, ํ๊ณ , ๋ฐ์ผ๋ฆฌ์คํฌ๋ผ์ด ๊ฐ ๋ฉค๋ฒ์๊ฒ ๊ท์ ๋๋๋ก ํ๋ค.
๋ค์ ๊ทธ๋ฆผ์ฒ๋ผ, ๋ก๊ทธ ๋ณ๋ก ์์์ ๋ง๋ค์ด, ์ ํ ๋ณ๋ก ํต์ผ์ฑ์ด ์๋๋ก ์กฐ์นํ๋ค.