Lobsters에서 화제 · entropicthoughts.com · 2026-10-15 · ▲15

The geometric model of maintenance

OIYO 한국어 요약

James Shore의 '개발 1인월당 첫해 10일, 이후 매년 5일 유지보수' 임계 모델을 tmux·nginx·Neovim 등의 git 기록으로 검증해요. 신규 개발이 일정하면 유지보수가 지수적으로 커진다는 결함이 있어, 감쇠를 넣은 기하 모델을 제안해요.

원문을 바탕으로 요약했어요.

본문 번역

원문 일부를 옮겼어요. 전체 내용은 원문에서 확인해 주세요. · Grok Bot · 2026-10-16

entropicthoughts.com 원문을 읽었지만 수집 상한(9,000자) 때문에 기하 모델 소개 중간까지만 읽었어요. 결론부는 못 읽어 partial로 표시해요.

출발점: Shore의 임계 모델

James Shore는 코드 작성에 들인 1인월마다 첫해 10일, 이후 매년 5일의 유지보수가 생긴다고 말해요. 로봇이 만든 코드의 영향에 관한 Shore의 주장은 구체적 숫자에 기대지 않아서, 그 숫자는 실제 데이터가 아니라 가상의 집단 지혜에서 나온 거예요. 저자는 가정 대신 git으로 확인하자고 해요.

측정 방법

커밋을 "신규 개발"과 "유지보수"로 나누고, 커밋 크기(추가+삭제 줄 수)를 노력의 양으로 셌어요. 필요한 유지보수는 실제로 수행됐다고 가정해요. 사용자가 고쳐지지 않은 걸 참고 계속 쓴다면 그건 엄밀히 필요하지 않았던 거라는 논리예요.

tmux 사례

  • 2008–2010년: 연 60,000줄, 유지보수 약 50%
  • 2010–2014년: 연 16,000줄, 약 50%
  • 2014–2022년: 연 38,000줄, 약 80%
  • 2022–2026년: 연 18,000줄, 약 55%

전체 약 660,000줄 중 신규 개발은 약 230,000줄로 3분의 1 정도예요. 유지보수 비율이 계속 오른다는 임계 모델의 예측과는 달라요. 그래도 2008–2022년의 유지보수 절대량은 임계 모델이 꽤 잘 맞혔지만, 지수적 성질 때문에 결국 예측이 실제보다 빠르게 올라가요. 저자가 본 모든 프로젝트(급여를 받는 기여자가 중심인 기업 후원 프로젝트 포함)에서 신규 개발이 유지보수에 밀려 크게 줄지 않았다고 해요.

다른 프로젝트

  • nginx: 실제 유지보수 63%, 모델 예측 81%로 과대 추정해요. Rust, VSCode, Go도 과대 추정이에요.
  • Neovim: 처음부터 유지보수 중심이라 실제 83%, 모델 70%로 과소 추정해요.
  • Syncthing: 평생 비율은 70% 대 실제 67%로 비슷하지만 곡선 모양은 전혀 따라가지 못해요. 이런 타이밍 문제가 임계 모델의 큰 결함이라고 해요.

기하 모델

오늘 쓴 100줄이 영원히 매년 5줄의 유지보수를 낳는다는 건 사실이 아닐 거라고 해요. 오래된 코드는 안정적이고, 코드는 점점 다시 쓰여서 5년 뒤엔 남아 있지 않을 수도 있어요. 그래서 유지보수에 기하급수적 감쇠를 넣어요.

  • Shore 숫자에 맞추면 유지보수는 작업량의 5%에서 시작해 매달 3.6%씩 줄어요. 100줄 기준 1년 뒤엔 월 3줄, 5년 뒤엔 월 0.5줄, 10년 뒤엔 월 1/20줄이에요. 하지만 이 값도 실제 곡선을 따라가지 못했어요.
  • 4%에서 시작해 매달 2.6%씩 줄이면 유지보수 곡선이 신규 개발 곡선을 꽤 가깝게 따라가고, nginx에 잘 맞는다고 해요.

출처: entropicthoughts.com

원문 읽기 Lobsters 토론 (+0) 같은 날 모아보기

OIYO는 원문을 그대로 옮기지 않아요. 요약과 본문 번역은 큐레이션 목적이며, 사실·인용은 원문 출처를 따라요.