시작 전
수직 조각은 작은 기능이 아니라 작은 완주입니다
입력만 만들고 결과는 나중에 만들면 어디에서도 사용하지 못합니다. 한 행동이 실제 입력에서 확인 가능한 결과까지 이어져야 합니다.
- 수평 만들기: 입력·처리·화면을 각각 조금씩 만드는 방식
- 수직 조각: 한 행동의 입력·처리·결과를 끝까지 연결한 한 줄
- Red: 기대 결과를 먼저 실패 상태로 고정하는 검증
- Green: 그 검증만 통과시키는 최소 구현
01 · 조각 고르기
명세에서 오늘 끝낼 문장 하나만 고르기
좋아 보이는 기능이 아니라 출처 판정이 있고 혼자 결과를 보여주며 끝이 보이는 행동을 고릅니다.
- 01
통과 판정 위의 문장 찾기
왜 하나요? 검증되지 않은 욕심을 구현에 넣지 않습니다.
할 일 W05 명세에서 행동 후보 두 개와 출처 판정을 표시합니다.
복사해서 써도 되는 요청첫 수직 조각 후보 두 개와 출처 판정·끝나는 결과를 골라줘.
정상이라면 기능 이름이 아니라 사용자 행동·입력·결과가 남습니다.
- 02
하나를 선택하고 경계 목록 만들기
왜 하나요? 아이디어가 조각을 삼키지 않게 합니다.
할 일 오늘 할 문장 하나를 표시하고 나머지는 다음 목록으로 보냅니다.
정상이라면 “이것도 같이”가 나와도 어디에 적을지 압니다.
02 · Red → Green
기대를 먼저 고정하고 필요한 만큼만 구현하기
AI가 코드를 빠르게 쓸수록 판정이 먼저 필요합니다.
- 01
실제 형태의 입력으로 Red 만들기
왜 하나요? 무엇이 되어야 하는지 실행 명령으로 고정합니다.
할 일 명세 입력과 기대 결과를 검증으로 작성하고 실패를 확인합니다.
복사해서 써도 되는 요청선택한 행동을 입력·기대 결과·실패 메시지가 있는 가장 작은 Red 검증으로 바꿔줘. 구현은 하지 마.
정상이라면 검증이 먼저 실패하고 기대 결과와 연결됩니다.
- 02
Green을 만드는 최소 구현만 추가하기
왜 하나요? 경계 밖 완성도를 뒤로 미룹니다.
할 일 Red를 통과하는 코드만 추가하고 확장은 목록에 적습니다.
복사해서 써도 되는 요청이 Red만 통과하게 최소 변경해줘. 범위 밖 제안은 목록으로 남겨줘.
정상이라면 한 사례를 통과시키는 작은 변경이 됩니다.
- 03
Green마다 커밋하기
왜 하나요? 조각의 경계를 남깁니다.
할 일 검증·구현·실행 결과를 확인하고 행동 문장이 드러나는 메시지로 커밋합니다.
정상이라면 어느 문장이 언제 통과했는지 커밋에서 찾을 수 있습니다.
03 · 시연
샘플 화면이 아니라 실제 입력으로 보여주기
테스트에만 쓰던 입력이 아니라 업무에서 받을 형태를 넣고 결과와 근거를 확인합니다.
- 01
대표 입력을 직접 넣기
왜 하나요? 검증과 실제 사용 사이의 빈칸을 찾습니다.
할 일 실제 형태의 입력을 한 번 실행하고 결과와 근거를 저장합니다.
정상이라면 사용자가 검토할 결과 위치가 남습니다.
- 02
어긋나면 W04 루프로 돌아가기
왜 하나요? 문제를 범위 확장으로 덮지 않습니다.
할 일 재현 명령·후보·한 변수·diff를 W04 형식으로 기록합니다.
정상이라면 성공을 억지로 유지하지 않고 배움을 남깁니다.
마지막 확인
vertical-slice-note.md
첫 조각의 약속·Red·Green·시연을 한 장에 기록합니다.
# 첫 수직 조각
## 행동 문장
사용자는 [입력]을 해서 [검토 가능한 결과]를 얻는다.
- 출처: [W05 명세 링크]
- 오늘의 경계: [이번에 하지 않을 것]
## Red → Green
- Red 입력·기대·실패: [기록]
- 최소 변경: [파일·변경]
- Green 명령·결과: [기록]
- 커밋: [해시·메시지]
## 실제 입력 시연
- 입력: [업무 형태]
- 결과와 근거: [위치]
## 다음 목록
- [경계 밖에서 발견한 일] 완료 체크
이 7가지가 보이면 오늘의 목표를 달성한 것입니다
- 출처 판정이 있는 행동 하나를 골랐다.
- 경계 밖 목록을 먼저 만들었다.
- 실제 입력으로 Red를 확인했다.
- Red를 통과하는 최소 구현만 추가했다.
- Green마다 커밋을 남겼다.
- 실제 업무 입력으로 결과와 근거를 시연했다.
- 어긋나면 W04 기록으로 돌아갔다.
다음 단계
다음 주에는 통과한 조각을 실제 시스템과 연결합니다
W08에서 입력·저장·승인 게이트를 붙이고 실패 시 멈추는 경계를 설계합니다.
막힐 때
자주 나오는 질문
수직 조각과 기능 하나는 같은 말인가요?
기능 이름보다 끝까지 이어지는 경로가 기준입니다. 입력부터 결과·확인까지 완주하면 수직 조각입니다.
Red를 먼저 만들면 시간이 더 걸리지 않나요?
처음 몇 분을 써서 기대를 고정하면 AI가 엉뚱한 방향으로 구현하는 시간을 줄입니다.
구현 중 좋은 아이디어가 나오면 바로 넣고 싶어요.
아이디어는 목록에 적고 현재 조각을 끝내세요. 경계 밖을 즉시 구현하면 첫 결과가 보이지 않습니다.
테스트가 통과하면 실제 시연은 생략해도 되나요?
안 됩니다. 테스트는 고정 사례, 시연은 실제 사용 형태라는 서로 다른 증거입니다.