ํ”ผ๋“œ๋กœ ๋Œ์•„๊ฐ€๊ธฐ
Tired of unrealistic to-do lists? I wrote an open-source MilkScript that turns RTM into a personal Agile Coach โฑ๏ธ๐ŸŒก๏ธ
Dev.toDev.to
Backend

MilkScript ๊ธฐ๋ฐ˜ Capacity-Aware ์Šค์ผ€์ค„๋ง ์—”์ง„์œผ๋กœ Planning Fallacy ํ•ด๊ฒฐ

Tired of unrealistic to-do lists? I wrote an open-source MilkScript that turns RTM into a personal Agile Coach โฑ๏ธ๐ŸŒก๏ธ

yi grant2026๋…„ 6์›” 2์ผ3๋ถ„intermediate

Context

๋‹จ์ˆœ ์ฒดํฌ๋ฆฌ์ŠคํŠธ ๊ธฐ๋ฐ˜์˜ Task ๊ด€๋ฆฌ ์ฒด๊ณ„๋กœ ์ธํ•œ ๊ฐ€์šฉ ์‹œ๊ฐ„ ์˜ˆ์ธก ๋ถˆ๋Šฅ ๋ฐ ์—…๋ฌด ๊ณผ๋ถ€ํ•˜ ๋ฐœ์ƒ. ์‹ค์ œ ์ž‘์—… ๊ฐ€๋Šฅ ์‹œ๊ฐ„๊ณผ ํ• ๋‹น ์—…๋ฌด๋Ÿ‰ ์‚ฌ์ด์˜ ๊ดด๋ฆฌ๋กœ ์ธํ•œ Burn-out ์œ„ํ—˜์„ ์ œ์–ดํ•  ์ •๊ตํ•œ Capacity ๊ด€๋ฆฌ ๋ฉ”์ปค๋‹ˆ์ฆ˜ ๋ถ€์žฌ.

Technical Solution

  • ๋ถ„ ๋‹จ์œ„ ์‹œ๋ฎฌ๋ ˆ์ด์…˜์„ ํ†ตํ•œ Precision Scheduling Engine ์„ค๊ณ„๋กœ ๊ฐ€์šฉ ์‹œ๊ฐ„ ์ดˆ๊ณผ ์‹œ ์ž๋™ Carry-over ์ฒ˜๋ฆฌ ๋กœ์ง ๊ตฌํ˜„
  • Objective Priority, Task Priority, Urgency๋ฅผ ๊ฒฐํ•ฉํ•œ Weighted Algorithm ๊ธฐ๋ฐ˜์˜ Smart Triage ๋ฐ Pruning ์‹œ์Šคํ…œ ๊ตฌ์ถ•
  • Historical Data(7/30/180์ผ) ๋ถ„์„์„ ํ†ตํ•œ ์‹ค์ œ ์™„๋ฃŒ์œจ ์‚ฐ์ถœ ๋ฐ ์˜ˆ์ธก์น˜ ๋ณด์ •์œผ๋กœ Planning Fallacy ์ตœ์†Œํ™”
  • ์‹œ๊ฐ„ ์™ธ ๊ทผ๋ฌด ์‹œ ์ธ์ง€ ๋น„์šฉ(Cognitive Cost)์„ ๋ฐ˜์˜ํ•œ ๊ฐ€์ค‘์น˜ ์ ์šฉ ๋ฐ 21์‹œ ์ดํ›„ Circuit Breaker ํŠธ๋ฆฌ๊ฑฐ ์„ค๊ณ„
  • ๊ฐ€์šฉ๋Ÿ‰ ๋Œ€๋น„ ๋ถ€ํ•˜์œจ์„ ์‹œ๊ฐํ™”ํ•œ Workload Heatmap ์ƒ์„ฑ ๋ฐ ์ž„๊ณ„์น˜ ๊ธฐ๋ฐ˜์˜ ์ƒํƒœ ์•Œ๋ฆผ ์ฒด๊ณ„ ๊ตฌ์ถ•

- ์ž‘์—… ์ถ”์ •์น˜์— ๊ณผ๊ฑฐ ์™„๋ฃŒ์œจ(Completion Rate) ๊ฐ€์ค‘์น˜๋ฅผ ์ ์šฉํ•˜๊ณ  ์žˆ๋Š”๊ฐ€ - ๊ฐ€์šฉ ์ž์› ์ž„๊ณ„์น˜ ๋„๋‹ฌ ์‹œ ์ž๋™ ํŠธ๋ฆฌ๊ฑฐ๋˜๋Š” Circuit Breaker ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด ์กด์žฌํ•˜๋Š”๊ฐ€ - ์šฐ์„ ์ˆœ์œ„ ๊ฒฐ์ • ์‹œ ๋‹จ์ผ ์ง€ํ‘œ๊ฐ€ ์•„๋‹Œ ๋‹ค์ค‘ ๊ฐ€์ค‘์น˜(Weighted) ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜๋Š”๊ฐ€

์›๋ฌธ ์ฝ๊ธฐ