
소프트웨어 개발
Technical Debt Types기술 부채 유형
기술 부채(Technical Debt)는 Ward Cunningham이 제안한 개념으로, 빠른 개발을 위해 이상적인 설계 대신 차선책을 선택했을 때 발생하는 미래 비용이다. 금전적 부채처럼 이자(유지보수 비용)가 누적된다.
기술 부채 사분면 (Fowler)
| 신중한 | 무모한 | |
|---|---|---|
| 의도적 | "지금 출시하고 나중에 리팩토링" | "설계할 시간 없어" |
| 비의도적 | "이제야 더 나은 방법을 알게 됨" | "리팩토링이 뭔데?" |
기술 부채 유형
1. 아키텍처 부채
2. 코드 부채
3. 테스트 부채
테스트 커버리지 부족 → 변경 두려움 → 더 많은 부채
4. 문서 부채
코드만 있고 설계 의도나 API 문서 없음
5. 의존성 부채
기술 부채 관리 전략
| 전략 | 설명 |
|---|---|
| 보이 스카우트 규칙 | "캠핑지는 떠날 때 더 깨끗이" |
| 부채 스프린트 | 정기적 리팩토링 스프린트 |
| 부채 등록 | 이슈 트래커에 가시화 |
| 정의된 완료 기준 | 리팩토링 포함한 DoD |
