초기 작업량만 줄어 보일 수 있다. 결함 발견 지연·통합·재작업 비용을 함께 본다.
테스트 주도 개발은 작은 실패 테스트→최소 구현→리팩터링의 짧은 피드백으로 설계를 발전시키는 실천이다. 단위 테스트만으로 수용·성능·보안까지 보장하지는 않는다. 지속 통합은 변경을 자주 합치고 검증해 통합 문제를 일찍 드러낸다.
짝 작업·리팩터링·집단 지식 공유는 품질과 팀 복원력을 도울 수 있다. 기술 부채는 나중의 유지·변경 비용을 키우는 설계·구현상의 부담이며 모든 결함과 같지는 않다. 가시화해 가치·위험·속도와 함께 우선순위를 판단한다.
생각을 정리하는 순서
- 1늦게 발견되는 비용을 확인한다
- 2짧은 검증과 기술 실천을 조합한다
- 3부채·품질·가치를 투명하게 우선순위화한다
비교해서 이해하기
| 개념 | 설명 | 확인할 점 |
|---|---|---|
| 테스트 주도 개발 · TDD | 실패 테스트·최소 구현·리팩터링의 짧은 순환. | 테스트를 먼저 쓰면 모든 품질 문제가 사라진다는 뜻은 아니다. |
| 지속 통합 · Continuous integration | 변경을 자주 통합하고 자동 검증으로 문제를 조기에 찾기. | 자동 운영 배포를 반드시 포함하는 것은 아니다. |
| 리팩터링 · Refactoring | 외부 동작을 유지하며 내부 구조를 개선하기. | 새 기능 추가와 목적이 다르다. |
| 기술 부채 · Technical debt | 단기 선택 등이 향후 변경·유지 비용을 높이는 구조적 부담. | 정해진 이유 없이 품질을 영구 면제하는 말이 아니다. |
| 짝 작업 · Pair programming | 두 사람이 협업해 구현·검토·지식 공유를 짧게 연결하기. | 모든 일에서 효과가 동일하다고 단정하지 않는다. |
예제로 따라가기
가상 예제: 빠른 출시를 위해 중복 로직을 남겨 변경마다 여러 곳을 고친다.
추가 변경 비용과 결함 위험을 가시화한다.
리팩터링 비용·가치·시급성을 PO·팀과 검토하고 적절한 작업으로 계획한다.
리팩터링의 핵심 목적은?
내 말로 정리하기
기술 부채를 사업 언어로 설명하는 예를 써 보자.
이 수업의 용어
- TDD
- 실패 테스트·최소 구현·리팩터링의 짧은 순환.
- Continuous integration
- 변경을 자주 통합하고 자동 검증으로 문제를 조기에 찾기.
- Refactoring
- 외부 동작을 유지하며 내부 구조를 개선하기.
- Technical debt
- 단기 선택 등이 향후 변경·유지 비용을 높이는 구조적 부담.
- Pair programming
- 두 사람이 협업해 구현·검토·지식 공유를 짧게 연결하기.