Files
gh-wasabeef-claude-code-coo…/commands/tech-debt.md
2025-11-30 09:05:40 +08:00

8.5 KiB
Raw Blame History

Tech Debt

프로젝트의 기술적 부채를 정량적으로 분석하고, 건전성 스코어와 개발 효율성에의 영향을 가시화합니다. 트렌드 분석을 통해 개선 상황을 추적하고, 시간적 비용을 산출하여 우선순위가 매겨진 개선 계획을 작성합니다.

사용법

# 프로젝트의 구성을 확인해서 기술적 부채를 분석
ls -la
"이 프로젝트의 기술적 부채를 분석해서 개선 계획을 작성해줘"

프로젝트 건전성 대시보드

프로젝트 건전성 스코어: 72/100
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

📊 카테고리별 스코어
├─ 의존관계의 신선도: ████████░░ 82% (최신: 45/55)
├─ 문서 충실도: ███░░░░░░░ 35% (README, API 문서 부족)
├─ 테스트 커버리지: ██████░░░░ 65% (목표: 80%)
├─ 보안: ███████░░░ 78% (취약점: 2건 Medium)
├─ 아키텍처: ██████░░░░ 60% (순환 의존: 3곳)
└─ 코드 품질: ███████░░░ 70% (복잡도 높음: 12파일)

📈 트렌드 (과거 30일)
├─ 종합 스코어: 68 → 72 (+4) ↗️
├─ 개선 항목: 12건 ✅
├─ 신규 부채: 3건 ⚠️
├─ 해소 부채: 8건 🎉
└─ 개선 속도: +0.13/일

⏱️ 부채의 시간적 영향
├─ 개발 속도 저하: -20% (신기능 개발이 통상의 1.25배 시간)
├─ 버그 수정 시간: +15% (평균 수정 시간 2h → 2.3h)
├─ 코드 리뷰: +30% (복잡성에 의한 이해 시간 증가)
├─ 온보딩: +50% (신규 멤버가 이해에 필요한 시간)
└─ 누적 지연 시간: 주 40시간 상당

🎯 개선에 의한 기대 효과 (시간 베이스)
├─ 즉시 효과: 개발 속도 +10% (1주후)
├─ 단기 효과: 버그율 -25% (1개월후)
├─ 중기 효과: 개발 속도 +30% (3개월후)
├─ 장기 효과: 메인터넌스 시간 -50% (6개월후)
└─ ROI: 투자 40시간 → 회수 120시간 (3개월)

기본 예

# 건전성 스코어의 상세 분석
find . -name "*.js" -o -name "*.ts" | xargs wc -l | sort -rn | head -10
"프로젝트 건전성 스코어를 산출해서, 카테고리별로 평가해줘"

# TODO/FIXME의 부채 임팩트 분석
grep -r "TODO\|FIXME\|HACK\|XXX\|WORKAROUND" . --exclude-dir=node_modules --exclude-dir=.git
"이 TODO들을 부채 임팩트 (시간×중요도)로 평가해줘"

# 의존관계의 건전성 체크
ls -la | grep -E "package.json|Cargo.toml|pubspec.yaml|go.mod|requirements.txt"
"의존관계의 신선도 스코어를 산출하고, 업데이트의 리스크와 효과를 분석해줘"

Claude와의 연계

# 포괄적인 기술적 부채 분석
ls -la && find . -name "*.md" -maxdepth 2 -exec head -20 {} \;
"이 프로젝트의 기술적 부채를 다음 관점에서 분석해줘:
1. 코드 품질 (복잡도, 중복, 보수성)
2. 의존관계의 건전성
3. 보안 리스크
4. 성능 문제
5. 테스트 커버리지 부족"

# 아키텍처의 부채 분석
find . -type d -name "src" -o -name "lib" -o -name "app" | head -10 | xargs ls -la
"아키텍처 레벨의 기술적 부채를 특정하고, 리팩터링 계획을 제안해줘"

# 우선순위가 매겨진 개선 계획
"기술적 부채를 다음 기준으로 평가해서 표 형식으로 제시해줘:
- 영향도 (높음/중간/낮음)
- 수정 비용 (시간)
- 기술적 리스크 (시스템 장애, 데이터 손실 가능성)
- 개선에 의한 시간 삭감 효과
- 추천 실시 시기"

상세 예

# 프로젝트 타입의 자동 검출과 분석
find . -maxdepth 2 -type f \( -name "package.json" -o -name "Cargo.toml" -o -name "pubspec.yaml" -o -name "go.mod" -o -name "pom.xml" \)
"검출된 프로젝트 타입에 기반해서, 다음을 분석해줘:
1. 언어・프레임워크 고유의 기술적 부채
2. 베스트 프랙티스로부터의 일탈
3. 모던화의 기회
4. 단계적인 개선 전략"

# 코드의 품질 메트릭스 분석
find . -type f -name "*" | grep -E "\.(js|ts|py|rs|go|dart|kotlin|swift|java)$" | wc -l
"프로젝트의 코드 품질을 분석하고, 다음 메트릭스를 제시해줘:
- 순환 복잡도가 높은 함수
- 중복 코드의 검출
- 너무 긴 파일/함수
- 적절한 에러 핸들링의 결여"

# 보안 부채의 검출
grep -r "password\|secret\|key\|token" . --exclude-dir=.git --exclude-dir=node_modules | grep -v ".env.example"
"보안에 관한 기술적 부채를 검출하고, 수정 우선도와 대책을 제안해줘"

# 테스트 부족의 분석
find . -type f \( -name "*test*" -o -name "*spec*" \) | wc -l && find . -type f -name "*.md" | xargs grep -l "test"
"테스트 커버리지의 기술적 부채를 분석하고, 테스트 전략을 제안해줘"

부채의 우선순위 매트릭스

우선도 = (영향도 × 발생빈도) ÷ 수정 비용
우선도 개발에의 영향 수정 비용 시간 삭감 효과 투자 대 효과 대응 기한
[P0] 지금 당장 대응 높음 낮음 > 5배 투자 1h→삭감 5h+ 즉시
[P1] 이번 주중 높음 중간 2-5배 투자 1h→삭감 2-5h 1주일 이내
[P2] 이번 달중 낮음 높음 1-2배 투자 1h→삭감 1-2h 1개월 이내
[P3] 분기중 낮음 낮음 < 1배 투자=삭감시간 3개월 이내

부채 타입별의 평가 기준

부채 타입 검출 방법 개발에의 영향 수정 시간
아키텍처 부채 순환 의존, 밀결합 변경시 영향범위 대, 테스트 곤란 40-80h
보안 부채 CVE 스캔, OWASP 취약성 리스크, 컴플라이언스 8-40h
성능 부채 N+1, 메모리 리크 응답시간 증가, 리소스 소비 16-40h
테스트 부채 커버리지 < 60% 버그 검출 지연, 품질 불안정 20-60h
문서 부채 README 부족, API 문서 없음 온보딩 시간 증가 8-24h
의존관계 부채 2년 이상 미업데이트 보안 리스크, 호환성 문제 4-16h
코드 품질 부채 복잡도 > 10 이해・수정 시간 증가 2-8h

기술적 부채의 영향도 산출

영향도 = Σ(각 요소의 가중치 × 측정값)

📊 측정 가능한 영향 지표:
├─ 개발 속도에의 영향
│  ├─ 코드 이해 시간: +X% (복잡도에 비례)
│  ├─ 변경시의 영향 범위: Y파일 (결합도로 측정)
│  └─ 테스트 실행 시간: Z분 (CI/CD 파이프라인)
│
├─ 품질에의 영향
│  ├─ 버그 발생률: 복잡도 10마다 +25%
│  ├─ 리뷰 시간: 행수 × 복잡도 계수
│  └─ 테스트 부족 리스크: 커버리지 60% 미만에서 고리스크
│
└─ 팀 효율에의 영향
   ├─ 온보딩 시간: 문서 부족으로 +100%
   ├─ 지식의 속인화: 단일 기여자율 >80%에서 요주의
   └─ 코드 중복에 의한 수정 개소: 중복률 × 변경 빈도

시간 베이스의 ROI 계산

ROI = (삭감 시간 - 투자 시간) ÷ 투자 시간 × 100

예: 순환 의존의 해소
├─ 투자 시간: 16시간 (리팩터링)
├─ 삭감 효과 (월차):
│  ├─ 컴파일 시간: -10분/일 × 20일 = 200분
│  ├─ 디버그 시간: -2시간/주 × 4주 = 8시간
│  └─ 신기능 추가: -30% 시간 단축 = 12시간
├─ 월차 삭감 시간: 23.3시간
└─ 3개월 ROI: (70 - 16) ÷ 16 × 100 = 337%

주의사항

  • 프로젝트의 언어나 프레임워크를 자동 검출하고, 그에 따른 분석을 실행합니다
  • 건전성 스코어는 0-100점으로 평가하고, 70점 이상을 건전, 50점 이하를 요개선으로 합니다
  • 시간적 비용과 개선 효과를 구체적으로 산출하고, 데이터에 기반한 의사결정을 지원합니다
  • 금전 환산이 필요한 경우는, 팀의 평균 시급이나 프로젝트 고유의 계수를 별도 지정해 주세요