Bugfix Specs
결함의 근본 원인을 짚어내고, 필요한 수정만 정의하며, 기존 동작은 깨지지 않게 지키는 구조화된 버그 수정 워크플로입니다.
개요
Bugfix Spec은 숙련된 개발자가 결함을 다루는 방식을 그대로 본떠 만들어졌습니다. 즉흥적인 패치 대신 근본 원인 분석 → 수정안 설계 → 회귀 방지라는 일관된 흐름을 제공해, 같은 버그가 형태를 바꿔 다시 등장하는 일을 막습니다. Kiro는 이 과정을 통해 변경 범위를 최소화하면서도 무엇을 고쳤고 왜 그렇게 고쳤는지 명확하게 기록합니다.
이런 효과가 있습니다
- 외과적 수정 — 정해진 제약 안에서만 코드를 건드리므로 변경이 꼭 필요한 부분으로 한정됩니다.
- 회귀 방지 — 유지되어야 하는 기존 동작을 문서화하고 테스트로 검증합니다.
- 문서화 — 결함 내용, 해결 방식, 판단 근거가 한 곳에 남습니다.
- 안정성 — 즉흥적 핫픽스에서 흔히 발생하는 부작용을 구조화된 절차로 차단합니다.
언제 쓰면 좋은가
- 원인 파악부터 필요한 복잡한 결함
- 장애 비용이 큰 핵심 경로(critical path)에서 발생한 버그
- 규정 준수나 팀 지식 공유를 위해 기록을 남겨야 하는 문제
- 이전에 고치려다 회귀가 발생했던 사례
동작 방식
Bugfix Spec은 Feature Spec과 동일한 3단계 흐름(Requirements → Design → Tasks)을 따르되, 표적 수정에 맞게 각 단계가 조정됩니다.
1단계 · Bugfix 분석
일반적인 요구사항 문서 대신 bugfix.md를 작성합니다. 다음 세 범주를 함께 기술해, 무엇이 잘못됐고 무엇은 그대로여야 하는지 Kiro가 정확히 파악하도록 합니다.
- Current Behavior (Defect) —
WHEN [condition] THEN the system [incorrect behavior] - Expected Behavior (Correct) —
WHEN [condition] THEN the system SHALL [correct behavior] - Unchanged Behavior (Regression Prevention) —
WHEN [condition] THEN the system SHALL CONTINUE TO [existing behavior]
2단계 · Design
Kiro가 코드베이스를 직접 탐색해 근본 원인을 찾고 design.md를 만듭니다. 이 문서에는 원인 분석, 제안된 수정 접근법, 그리고 검증해야 할 속성들이 담깁니다.
- 현재 구현이 잘못된 동작을 그대로 재현하는지 (버그 존재 확인)
- 수정안이 올바른 동작을 만들어내는지 (해결 검증)
- 건드리지 않은 영역이 그대로 동작하는지 (회귀 방지)
3단계 · Tasks
구현 작업과 함께 property-based tests (PBTs)가 생성됩니다. 이 테스트들은 결함이 재현 가능한지, 수정이 그것을 해결하는지, 그리고 다른 동작이 깨지지 않는지를 모두 확인합니다.
팁. 버그를 설명할 때 재현 단계, 기대 동작, 그리고 "이 코드는 절대 건드리지 말 것"과 같은 제약을 함께 적어 두면 Kiro가 변경 범위를 더 정확히 좁힙니다.
시작하기
- 채팅 패널에서 Spec을 선택합니다.
- 버그를 설명합니다 — 재현 절차, 원하는 동작, 변경하면 안 되는 부분 같은 제약을 포함하세요.
- Kiro가 의도를 물어보면 Bugfix를 고릅니다.
- 분석 → 설계 → 구현 단계를 차례대로 진행합니다.
주의. 회귀 방지를 위한 Unchanged Behavior 항목을 비워 두면, 수정 과정에서 의도치 않은 동작 변경이 검증되지 않은 채 통과될 수 있습니다. 보존해야 할 동작은 빠짐없이 적어 두세요.
더 알아보기
- Best Practices — 효과적인 버그 수정을 위한 권장 사항
- Correctness — property-based tests에 대한 참고 자료