Community

๐Ÿ˜“ ๊ธฐ์ˆ ๋ถ€์ฑ„(technical debt)์— ๊ด€ํ•˜์—ฌ

์ตœ๊ทผ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ, ์ˆœ๊ฐ„์˜ ํŽธ์˜๋ฅผ ์œ„ํ•ด ์†Œํ™€ํžˆ ๋‹ค๋ฃฌ ์ผ์ด ๊ธฐ์ˆ  ๋ถ€์ฑ„(technical debt)๋กœ ํ™˜์›๋˜๋Š” ๊ฒฝํ—˜์„ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๐Ÿ˜“ ์˜ค๋Š˜์€ ์ด ๊ธฐ์ˆ ๋ถ€์ฑ„์— ๋Œ€ํ•˜์—ฌ ์—ฌ๋Ÿฌ๋ถ„๊ณผ ์–˜๊ธฐ๋ฅผ ํ•ด๋ณด๋ ค ํ•ฉ๋‹ˆ๋‹ค. โœ… ๊ธฐ์ˆ ๋ถ€์ฑ„(technical debt)์˜ ์ •์˜ '๊ธฐ์ˆ  ๋ถ€์ฑ„'๋ผ๋Š” ์šฉ์–ด๋Š” 1992๋…„ ์ปดํ“จํ„ฐ ๊ณผํ•™์ž์ธ ์›Œ๋“œ ์ปค๋‹ํ–„(Ward Cunningham)์ด ์ฒ˜์Œ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ์šฉ์–ด๋Š” ๊ธˆ์œต๋ถ€์ฑ„์™€ ๋น„์Šทํ•œ ๊ฐœ๋…์œผ๋กœ ๊ธฐ์ˆ ๋ถ€์ฑ„๊ฐ€ ์‹œ๊ฐ„์ด ์ง€๋‚ ์ˆ˜๋ก ์ ์  ํ•ด๊ฒฐํ•˜๊ธฐ ์–ด๋ ค์šด ๋‚œ์ œ๊ฐ€ ๋˜๊ณ , ๋ฏธ๋ž˜์— ์„ ํƒํ• ์ˆ˜ ์žˆ๋Š” ์˜ต์…˜์„ ์ค„์ธ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์–ด๋А์ƒˆ ์ด์ž๊ฐ€ ์ œ3๊ธˆ์œต๊ถŒ, ๊ณ ๋ฆฌ๋Œ€๊ธˆ ์ด์ž๋งŒํผ ๋ถ™์–ด์„œ ๊ฐš์œผ๋ ค๋ฉด ์ข…์ „์˜ ๋ฆฌ์†Œ์Šค๋ฅผ ์••๋„ํ•˜๋Š” ์ƒํ™ฉ์„ ๋งž์ด ํ• ์ˆ˜ ์žˆ๊ฒŒ ๋˜๋Š”๊ฑฐ์ฃ . 2009๋…„, ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์˜ ๊ตฌ๋ฃจ ๋งˆํ‹ด ํŒŒ์šธ๋Ÿฌ(Martin Fowler)๋Š” ๊ธฐ์ˆ  ๋ถ€์ฑ„์— ๋Œ€ํ•ด ์ด๋ ‡๊ฒŒ ์–ธ๊ธ‰ํ–ˆ์Šต๋‹ˆ๋‹ค. "์ผ์„ ์„ฑ๊ธ‰ํ•˜๊ฒŒ ์ง€์ €๋ถ„ํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•˜๋ฉด ๊ธฐ์ˆ  ๋ถ€์ฑ„๊ฐ€ ์Œ“์ด๋Š”๋ฐ, ์ด๋Š” ๊ธˆ์œต ๋ถ€์ฑ„์™€ ๋น„์Šทํ•˜๋‹ค. ๊ธˆ์œต ๋ถ€์ฑ„์ฒ˜๋Ÿผ ์ด์ž๋ฅผ ์ง€๋ถˆํ•ด์•ผ ํ•˜๊ณ , ๊ฒฐ๊ตญ ๋‚˜์ค‘์— ๊ฐœ๋ฐœํ•ด์•ผ๋งŒ ํ•˜๋Š” ์ถ”๊ฐ€์  ์—…๋ฌด์˜ ํ˜•ํƒœ๋กœ ๋‚จ๋Š”๋‹ค" 2018๋…„ ์ŠคํŠธ๋ผ์ดํ”„(Stripe)์˜ ๊ฐœ๋ฐœ์ž ๊ณ„์ˆ˜(Developer Coefficient) ๋ณด๊ณ ์„œ์— ๋”ฐ๋ฅด๋ฉด, ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์ž๊ฐ€ ๊ธฐ์ˆ  ๋ถ€์ฑ„๋ฅผ ํ•ด๊ฒฐํ•˜๋Š”๋ฐ ์ผ์ฃผ์ผ์— ํ‰๊ท  13์‹œ๊ฐ„ ์ด์ƒ์„ ์†Œ๋น„ํ•œ๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ •๋ง ์–ด๋งˆ์–ด๋งˆํ•˜์ฃ .๐Ÿ˜ฒ ๊ธฐ์ˆ  ๋ถ€์ฑ„๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์œ ํ˜•์œผ๋กœ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. ๐Ÿ“Š ์ผ๋ฐ˜์ ์œผ๋กœ ๋‹ค์Œ 6๊ฐ€์ง€๋กœ ๋ถ„๋ฅ˜๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋“ค์€ ์„œ๋กœ ๋ณตํ•ฉ์ ์œผ๋กœ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. โ–ถ๏ธ ๊ธฐ์ˆ ๋ถ€์ฑ„ ์œ ํ˜•๋“ค ------------------------------- 1. Developer efficiency debt(๊ฐœ๋ฐœ์ž ํšจ์œจ์„ฑ ๋ถ€์ฑ„) 2. Stability debt (์•ˆ์ •์„ฑ ๋ถ€์ฑ„) 3. Security debt(๋ณด์•ˆ ๋ถ€์ฑ„) 4. Technical product debt(๊ธฐ์ˆ  ์ œํ’ˆ ๋ถ€์ฑ„) 5. Decision debt(์˜์‚ฌ ๊ฒฐ์ • ๋ถ€์ฑ„) 6. Maintenance debt(์œ ์ง€ ๊ด€๋ฆฌ ๋ถ€์ฑ„) (*์ฐธ๊ณ : https://www.reforge.com/blog/managing-tech-debt) ๊ทธ๋ ‡๋‹ค๋ฉด ๊ธฐ์ˆ  ๋ถ€์ฑ„๋ฅผ ์–ด๋–ป๊ฒŒ ์ค„์ผ ์ˆ˜ ์žˆ์„๊นŒ์š”? ๐Ÿ’ก์šฐ๋ฆฌ๊ฐ€ ์ด๋ฏธ ์•Œ๊ณ  ์žˆ๋Š” ๋ฐฉ๋ฒ•๋“ค์ด ๋‹ต์ž…๋‹ˆ๋‹ค. 1๏ธโƒฃ ๋ณต๋ฆฌ ์ด์ž๊ฐ€ ๋ถ™๊ธฐ ์ „์— ์กฐ๊ธˆ์”ฉ ์ƒํ™˜ํ•˜๊ธฐ : ์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋ง, ์•„ํ‚คํ…์ณ ๊ฐœ์„ ์„ ์ง„ํ–‰ํ•˜๋ฉด์„œ, ๋ณต๋ฆฌ ์ด์ž๊ฐ€ ๋ถ™์ง€ ์•Š๋„๋ก ์ง€์†์ ์œผ๋กœ ๊ฐœ์„ ํ•ด ๋‚˜๊ฐ‘๋‹ˆ๋‹ค. ์ง€์†ํ•ด์„œ ๊ธฐ์ˆ  ๋ถ€์ฑ„๋ฅผ ์ƒํ™˜ํ•œ๋‹ค๋ฉด ํฐ ๊ณ ํ†ต์— ์‹œ๋‹ฌ๋ฆฌ์ง€ ์•Š๊ฒ ์ฃ . 2๏ธโƒฃ. ๊ธฐ์ˆ  ๋ถ€์ฑ„์˜ ์ค‘์š”๋„์™€ ์šฐ์„  ์ˆœ์œ„๋ฅผ ์„ค์ •ํ•˜์—ฌ ์ƒํ™˜ํ•˜๊ธฐ : ์ค‘๋Œ€ํ•œ ๋ฌธ์ œ๊ฐ€ ๋ ์ˆ˜ ์žˆ๋Š” ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋Š”์ง€, ๋น„์ฆˆ๋‹ˆ์Šค์— ๋ฏธ์น ์ˆ˜ ์žˆ๋Š” ์˜ํ–ฅ, ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์— ๋ฏธ์น ์ˆ˜ ์žˆ๋Š” ์˜ํ–ฅ ๋“ฑ์„ ๊ณ ๋ คํ•˜์—ฌ ์šฐ์„ ์ˆœ์œ„๋ฅผ ์ •๋ฆฌํ•˜์—ฌ ํ•˜๋‚˜์”ฉ ๊ฐš์•„๋‚˜๊ฐ‘๋‹ˆ๋‹ค. 3๏ธโƒฃ ๊ธฐ์ˆ  ๋ถ€์ฑ„๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ๋Š” ๋„๊ตฌ์™€ ์ ˆ์ฐจ ๋„์ž…ํ•˜๊ธฐ : ํ…Œ์ŠคํŠธ ์ž๋™ํ™”, ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋“ฑ์„ ํ†ตํ•ด ๊ธฐ์ˆ  ๋ถ€์ฑ„๊ฐ€ ์Œ“์ด๋Š” ๊ฒƒ์„ ์ตœ์†Œํ™”ํ•ฉ๋‹ˆ๋‹ค. ๐Ÿค” ๐Ÿค” ๐Ÿค” ์‚ฌ์‹ค, ๊ธฐ์ˆ  ๋ถ€์ฑ„๋Š” ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์˜ ๋ถˆ๊ฐ€ํ”ผํ•œ ์ธก๋ฉด์ž…๋‹ˆ๋‹ค. ์‹œ๊ฐ„์ด ์ง€๋‚˜๋ฉด์„œ ์‚ฌ์—…์˜ ์š”๊ตฌ์‚ฌํ•ญ์ด ๋ณ€ํ•˜๊ณ , ๊ธฐ์ˆ ์€ ์ง€์†์ ์œผ๋กœ ๋ฐœ์ „ํ•˜๊ณ  ๊ฐœ์„ ๋˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ณ€ํ™”์— ๋”ฐ๋ผ ๊ธฐ์กด์˜ ์ฝ”๋“œ๋‚˜ ์•„ํ‚คํ…์ฒ˜๊ฐ€ ๋” ์ด์ƒ ์ ํ•ฉํ•˜์ง€ ์•Š๊ฒŒ ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด๋Š” ๊ฒฐ์ฝ” ์†Œํ™€ํžˆ ํ•ด๋„ ์ข‹์€ ์ด์œ ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. ์˜คํžˆ๋ ค ์ด๋Ÿฐ ๋ณ€ํ™”๊ฐ€ ๋นˆ๋ฒˆํ•˜๊ฒŒ ์ผ์–ด๋‚˜๋Š” ํ™˜๊ฒฝ์—์„œ ๋”์šฑ ์ฒด๊ณ„์ ์ด๊ณ  ์‹ ์ค‘ํ•œ ๊ด€๋ฆฌ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ง€์†์ ์œผ๋กœ ๋ˆ„์ ๋˜๋Š” ๊ธฐ์ˆ  ๋ถ€์ฑ„๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ  ๊ฐ์†Œ์‹œํ‚ค๋Š” ๊ฒƒ์€ ๊ธฐ์ˆ  ํŒ€์˜ ์ค‘์š”ํ•œ ์—ญํ• ์ด๋ฉฐ, ์ด๋ฅผ ํ†ตํ•ด ๋”์šฑ ํšจ์œจ์ ์ธ ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ์™€ ์ œํ’ˆ ํ’ˆ์งˆ ํ–ฅ์ƒ์„ ์ด๋ฃจ์–ด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๐Ÿ’ช๐Ÿป๐Ÿš€ ๐Ÿ“š References: https://www.itworld.co.kr/insider/238829 https://stripe.com/files/reports/the-developer-coefficient.pdf https://johngrib.github.io/wiki/technical-debt/ https://brunch.co.kr/@jowlee/168

์•Œ๋ฆผ

์•Œ๋ฆผ์ด ์—†์Šต๋‹ˆ๋‹ค