개념
이 단계의 제약을 먼저 인정한다
시드 단계의 제품은 양산차가 아니라 풍동 실험용 목형에 가깝다. 목형에 에어백과 열선 시트를 달지 않는다. 달아 봐야 다음 주에 차체 형상이 바뀌면 같이 버려진다. 그런데 그 목형을 사람이 타는 시험 주행에 쓰기로 했다면 브레이크는 있어야 한다. 이 레슨은 그 둘을 가르는 선을 어디에 긋는지를 다룬다.
프리시드·시드 기업의 개발 조직은 흔히 2~5명이다. 전담 QA는 없고, 테스트 환경도 하나뿐이거나 아예 로컬뿐이며, 제품 방향이 2주마다 바뀐다. 여기서 대기업식 테스트 프로세스를 제안하면 옳지만 채택되지 않는 제안이 된다.
이 구간의 진짜 질문은 "어떻게 잘 테스트할 것인가" 가 아니라 이것이다.
지금 가진 시간의 총량이 하루 2시간뿐이라면, 그 2시간을 어디에 쓰고 나머지를 의도적으로 포기할 것인가.
모듈 4에서 배운 리스크 기반 테스트가 가장 순수한 형태로 필요한 곳이 여기다. 차이는 하나뿐이다 — 여기서는 포기 목록을 문서로 남기는 것이 계획서를 쓰는 것보다 중요하다.
이 단계에서는 과잉 품질 투자가 실제로 해롭다
"품질에 더 쓰는 것이 나쁠 리 없다" 는 직관이 이 구간에서는 틀린다. 시드 단계의 품질 자산은 유지 비용을 동반한 자산이고, 그 비용이 제품을 바꾸는 비용에 그대로 더해지기 때문이다.
| 품질 투자 | 만드는 비용 | 피벗이 일어날 때 생기는 일 |
|---|---|---|
| 전 기능 E2E 자동화 | 작성 2주, 유지 주 4시간 | 화면 구조가 바뀌며 절반이 깨진다. 복구에 다시 1주 |
| 상세 테스트 케이스 300건 | 작성 3주 | 기능이 바뀌면 통째로 거짓이 된다. 아무도 안 읽는다 |
| 엄격한 결함 등급·승인 절차 | 회의 주 2시간 | 등급을 매기는 시간이 고치는 시간보다 길어진다 |
| 환경 3단 분리(dev·stg·prod) | 구축 1주, 운영 주 2시간 | 스키마가 바뀔 때마다 세 곳을 맞춰야 한다 |
이 단계에서 지켜야 하는 것은 코드의 견고함이 아니라 버릴 수 있는 능력(throwaway) 이다. 폐기 비용이 큰 자산을 쌓으면 팀은 무의식적으로 바꾸지 않는 쪽을 고르고, 그 결과 틀린 가설을 더 오래 붙든다. 단, 이 논리는 다음 절의 네 가지에는 적용되지 않는다.
의도적 부채와 사고의 구분
시드 단계에서 "제대로 안 만든 것" 은 대부분 잘못이 아니다. 폐기될 수도 있는 기능에 견고한 구조를 미리 넣는 것이 오히려 낭비다. 문제는 의도한 부채와 모르고 생긴 구멍이 섞여 있을 때다.
| 구분 | 예 | 처리 |
|---|---|---|
| 의도적 부채 | 관리자 화면을 스프레드시트로 대체, 결제 실패 재시도 수동 처리 | 목록에 적고 회수 조건을 정해둔다 |
| 모르는 구멍 | 동시 가입 시 중복 계정, 토큰 만료 미처리 | 찾는 즉시 판단 대상에 올린다 |
QA가 없는 팀에서 이 목록을 만드는 것만으로도 역할이 성립한다. "무엇이 약한지 아는 팀" 과 "모르는 팀" 의 차이는 다음 라운드의 기술 실사에서 그대로 드러난다. (레슨 5)
단계와 무관한 최소선 네 가지
포기 목록을 쓰기 전에, 포기 목록에 들어갈 수 없는 것을 먼저 고정한다. 기준은 중요도가 아니라 되돌리는 비용이다.
| 최소선 | 왜 단계와 무관한가 | 최소 점검 |
|---|---|---|
| 돈 (결제·정산·환불) | 틀리면 사용자 계좌에서 금액이 실제로 움직인다. 되돌리려면 사람이 붙는다 | 결제 성공 1건, 실패 1건, 같은 요청 두 번 |
| 데이터 손실 | 사용자가 넣은 것이 사라지면 신뢰는 복구되지 않는다 | 저장 실패 시 입력 보존, 삭제 전 확인, 백업에서 1회 복구 리허설 |
| 개인정보 | 사고 규모가 회사 규모와 무관하다. 신고 의무는 직원 5명 회사에도 적용된다 | 권한 없는 조회, 로그에 평문 노출, 공개 설정된 저장소 |
| 되돌릴 수 없는 것 | 전체 사용자에게 잘못 나간 푸시·메일은 회수되지 않는다 | 수신자 범위 확인, 드라이런, 발송 상한 |
네 영역의 공통점은 되돌리는 비용이 만드는 비용보다 크다는 것이다. 트래픽이 적다는 사실은 성능 테스트를 미룰 근거는 되어도 이 넷을 미룰 근거는 되지 않는다. 사용자가 10명인 서비스에서 결제 중복 청구가 나면 그 10명이 전부 초기 레퍼런스 고객이다.
실패 비용이 비대칭적으로 큰 두 지점
최소선이 "되돌릴 수 없어서" 지키는 것이라면, 아래 둘은 "틀렸을 때 회사가 흔들려서" 지킨다.
| 지점 | 왜 비대칭인가 |
|---|---|
| 투자 유치·데모데이 시연 경로 | 3분짜리 데모의 오류는 제품 결함이 아니라 팀에 대한 평가로 읽힌다 |
| 첫 파일럿 고객의 핵심 업무 | 고객 수가 적어 한 곳의 이탈이 곧 레퍼런스와 매출의 소멸이다 |
둘 다 사용자 수와 무관하게 위험하다. 트래픽이 적다는 사실이 성능 테스트를 미룰 근거는 되어도 이 둘을 미룰 근거는 되지 않는다.
"검증하지 않기로 한 목록" 을 쓰는 법
이 레슨의 핵심 산출물이다. 테스트 계획서가 아니라 한 장이고, 왼쪽보다 오른쪽이 중요하다.
검증 범위 합의서 (1장) 작성 2026-10 / 작성자 ___
[보는 것] 배포 직전 15분
1. 로그인 → 핵심 작업 1건 완료 2분 깨지면: 제품을 쓸 수 없다
2. 결제 성공 1건 + 실패 1건 4분 깨지면: 돈이 틀린다
3. 신규 가입 계정으로 첫 화면 2분 깨지면: 신규 유입이 빈 화면을 본다
4. 저장 후 재접속 시 데이터 유지 3분 깨지면: 사용자 입력이 사라진다
5. 관리자 삭제의 확인 단계 2분 깨지면: 되돌릴 수 없다
[보지 않는 것 — 합의 사항]
· 크롬 외 브라우저 호환 사유: 사용자 94%가 크롬
· 모바일 웹 레이아웃 사유: 이번 분기 타깃 아님
· 동시 접속 100명 이상 성능 사유: 현재 DAU 40
· 관리자 조회·수정 화면 사유: 내부 2명만 사용, 수동 복구 가능
· 다국어·시간대 사유: 국내 단일 시장
[재검토 시점] 유료 고객 10곳 돌파 / 다음 라운드 준비 착수 / 피벗 확정
[읽고 동의한 사람] 대표 ___ 개발 ___ (날짜 ___)이 문서가 생기면 세 가지가 함께 생긴다.
- 장애가 났을 때 "몰랐다" 가 아니라 "그때 그 사유로 안 보기로 했다" 가 된다
- 사유가 숫자라서 사유가 깨지는 시점이 자동으로 재검토 시점이 된다. "사용자 94%가 크롬" 이 70%로 내려가면 그 줄은 스스로 다시 열린다
- 다음 라운드 기술 실사에서 관리된 리스크의 증거가 된다 (레슨 5)
분량은 한 장을 넘기지 않는다. 두 장이 되면 아무도 읽지 않고, 읽히지 않는 합의서는 합의가 아니라 메모다.
개발자가 자기 코드를 검증할 때의 한계
1인 다역 팀에서 "개발자가 테스트한다" 는 조직 구조가 아니라 동일 인물의 자기 검증이다. 한계는 능력이 아니라 구조에서 온다.
| 한계 | 왜 생기는가 | 비용 0의 보완 |
|---|---|---|
| 성공 경로만 지난다 | 만든 사람은 의도한 순서를 몸이 기억한다 | 짝 확인 — 만들지 않은 사람이 신규 계정으로 1회 |
| 자기 가정을 다시 검증하지 못한다 | 버그는 대개 가정의 실수이고, 같은 머리는 같은 가정을 반복한다 | PR 설명에 "가정한 것 3줄" 을 쓰게 한다 |
| 데이터 상태가 늘 깨끗하다 | 개발용 계정에는 필요한 데이터가 이미 다 있다 | 고정 계정 3종 — 신규·결제 완료·만료 토큰 |
| 구현 직후가 가장 피곤하다 | 주의력이 가장 낮은 시점에 확인한다 | 외우지 않고 읽으면서 따라가는 체크리스트 |
보완의 방향이 "사람을 늘리기" 가 아니라 "시선을 바꾸는 장치" 라는 점이 중요하다. 셋 다 인건비가 들지 않는다. 모듈 5 레슨 13의 짝 탐험이 이 단계에서 비용 대비 효과가 가장 큰 기법인 이유다.
지금 쌓으면 자산이 되는 것과 짐이 되는 것
시드 단계에서 만든 산출물의 상당수는 다음 단계에 부채로 넘어간다. 무엇이 넘어가고 무엇이 남는지는 미리 갈라진다.
| 지금 하는 일 | 다음 단계에 | 이유 |
|---|---|---|
| 결함을 한 곳에 기록 (제목·재현·영향만) | 자산 | 시리즈 A 이후 결함 밀도·탈출률의 기준선이 된다 (모듈 6 레슨 5) |
| 검증 범위 합의서를 분기마다 갱신 | 자산 | 실사에서 리스크를 관리했다는 증거가 된다 (레슨 5) |
| 장애 1건당 5줄 회고 (원인·놓친 지점·재발 조건) | 자산 | 그 목록이 그대로 첫 회귀 스위트의 후보가 된다 |
| 핵심 흐름 1~3개만 자동화 | 조건부 자산 | 피벗해도 안 바뀌는 것만. 로그인·결제는 대개 남는다 |
| 상세 테스트 케이스 300건 문서 | 짐 | 기능이 바뀌면 거짓이 된다. 거짓 문서는 없는 문서보다 나쁘다 |
| 전 기능 UI 자동화 | 짐 | 유지 비용이 제품 변경을 막는다 |
| 엄격한 결함 등급 체계 | 짐 | 분류 회의가 수정 시간보다 길어진다 |
가르는 기준은 하나다 — 제품이 바뀌어도 살아남는가. 기록(일어난 일)은 살아남고 명세(그때의 모습)는 살아남지 못한다. 쌓을 것은 문서가 아니라 이력이다.
데모 경로 테스트 — 이 단계에만 있는 QA 업무
시드 기업에서는 투자 심사역·심사위원 앞에서 도는 시연이 그 분기의 가장 중요한 실행 경로다. 일반 사용자 시나리오와 다른 점이 많아 따로 설계해야 한다.
데모 경로 점검 목록 (실제로 자주 터지는 순서)
1. 네트워크 행사장 와이파이·핫스팟, 프록시 차단 환경에서 동작하는가
2. 계정·데이터 데모 계정의 데이터가 초기화됐거나 만료되지 않았는가
3. 외부 연동 결제 샌드박스·지도·소셜 로그인의 쿼터와 토큰 만료
4. 화면 노트북 → 빔프로젝터 해상도, 확대 표시, 다크모드
5. 시간 의존 "오늘" 기준 데이터가 행사 당일에도 비어 있지 않은가
6. 복구 계획 실패 시 무엇을 보여줄 것인가 (녹화본·스크린샷 백업)6번이 빠진 데모 준비가 가장 흔하다. 복구 계획이 있는 팀은 장애가 나도 침착해 보이고, 없는 팀은 무너진다.
첫 QA를 언제 뽑는가 — 일반적인 논의
업계의 조언은 대체로 "PMF 신호와 제품 방향의 안정성이 생긴 뒤" 로 모인다. 너무 이른 채용의 위험으로 자주 지적되는 것은 비용이 아니라 심리적 효과다. QA가 "품질 담당자" 가 되는 순간 개발자들이 테스트에서 손을 떼는 현상이 관찰된다는 것이다.
| 채용을 미뤄도 되는 신호 | 지금 필요하다는 신호 |
|---|---|
| 기능 방향이 매달 바뀐다 | 규제·인증 요구가 있다(의료·금융·안전) |
| 사용자 수가 적고 수동 확인으로 충분하다 | 하드웨어·기기 조합 검증이 필요하다 |
| 릴리즈가 주 1회 이하 | 릴리즈마다 회귀 결함이 반복된다 |
채용한다면 수동 테스터가 아니라 테스트 기반을 만들 수 있는 사람이어야 한다는 조언도 함께 나온다. 이 단계의 QA 1호는 혼자서 프로세스·환경·자동화의 최소 집합을 세우는 자리이기 때문이다.
사례 — 중복 청구 87만 원이 파일럿 계약을 멈춘 일
시드 단계 B2B SaaS였다. 개발 3명, QA 없음, 유료 고객 7곳, 월 구독료 29만 원. 배포 전 확인은 만든 사람이 자기 화면에서 한 번 눌러보는 것이 전부였다.
결제 모듈을 손댄 배포 다음 날, 고객 3곳에서 같은 달 구독료가 두 번 청구됐다. 합쳐 87만 원으로 크지 않았다. 문제는 금액이 아니었다.
| 실제로 일어난 일 | 영향 |
|---|---|
| 환불 처리에 재무 담당(대표)이 이틀 붙었다 | 그 주 영업 미팅 4건이 취소됐다 |
| 고객사 3곳 중 1곳이 결제 정보를 삭제했다 | 다음 달 자동 갱신이 실패했다 |
| 진행 중이던 파일럿 계약 1건이 보류됐다 | "청구 사고" 가 고객사 보안 검토 항목으로 올라갔다 |
| 대표가 투자자 업데이트 메일에 이 건을 적었다 | 다음 라운드 대화에서 되물어졌다 |
원인은 둘이었다. 재시도 로직을 추가하면서 멱등 키(같은 요청을 두 번 보내도 한 번만 처리되게 하는 장치)를 넣지 않았다. 그리고 그 변경을 만든 개발자가 자기 테스트 계정에서 확인했는데, 그 계정은 이미 당월 결제가 완료된 상태라 중복이 애초에 재현되지 않았다.
바꾼 것은 프로세스가 아니라 한 장과 네 줄이었다.
| 바꾼 것 | 비용 |
|---|---|
| 배포 직전 12분 점검 5줄 (결제 성공·실패·중복 요청 포함) | 배포당 12분 |
| "검증하지 않기로 한 목록" 1장 작성, 대표·개발 서명 | 최초 40분, 분기 갱신 10분 |
| 결제 경로만 짝 확인 — 만들지 않은 사람이 신규 계정으로 1회 | 변경당 10분 |
| 고정 테스트 계정 3종 (신규·결제 완료·결제 실패) | 최초 1시간 |
결과는 이랬다. 결제 경로 사고는 이후 6개월간 0건, 배포 속도는 주 2회 유지 (12분이라 아무도 생략하지 않았다), 보류됐던 파일럿은 4개월 뒤 재개됐고 그때 제출한 자료가 바로 그 한 장이었다. 시리즈 A 기술 실사에서는 이 합의서의 갱신 이력이 쓰였다.
여기서 남는 교훈이 셋이다.
- 품질 투자의 총량이 아니라 배치가 문제였다. 이 팀은 그 뒤에도 전 기능 회귀를 돌리지 않았고 자동화도 하지 않았다. 바뀐 것은 12분을 어디에 썼는가뿐이다
- 최소선은 단계와 무관하다. 유료 고객 7곳, 월 29만 원 규모에서도 돈의 경로 사고는 계약과 투자자 대화까지 올라갔다
- 한 장의 합의서가 두 번 일했다 — 사고 당시에는 책임 논의를 재발 방지로 바꾸고, 넉 달 뒤에는 고객과 투자자에게 내는 증거가 됐다
실무에서 왜 필요한가
"테스트할 시간이 없다" 에 대응하는 유일한 방법
시드 단계에서 품질 제안이 거절되는 이유는 반대해서가 아니라 시간이 실제로 없어서다. 그래서 이 단계의 제안은 언제나 총량이 고정된 형태여야 한다.
거절되는 제안: "릴리즈 전에 회귀 테스트를 돌리자"
채택되는 제안: "배포 직전 15분, 다섯 개만 본다. 목록은 이것이고,
여기서 걸리면 배포를 멈춘다. 나머지는 안 본다고 합의한다."두 번째 제안의 핵심은 "나머지는 안 본다" 를 명시한 것이다. 그래야 팀이 그 15분을 비용으로 받아들이고, 통과했을 때의 의미도 분명해진다.
범위를 적어두면 사고 후의 대화가 달라진다
사고 직후 팀에서 나오는 첫 질문은 거의 항상 "이걸 왜 아무도 못 봤나" 다. 이 질문에는 답이 없다. 아무도 안 보기로 한 적이 없으니 누군가 안 본 것이 되고, 논의는 곧 사람 쪽으로 간다.
검증 범위가 한 장 적혀 있으면 질문이 바뀐다 — "이것은 안 보기로 한 영역인가, 보기로 했는데 빠진 것인가." 전자면 사유가 틀렸으므로 합의를 갱신하는 일이고, 후자면 점검 목록을 고치는 일이다. 둘 다 다음 행동이 있는 질문이다. 모듈 6 레슨 3의 비난 없는 결함 커뮤니케이션이 초기 기업에서 실제로 작동하려면 이 문서가 먼저 있어야 한다.
창업자와 대화가 가능해진다
이 단계의 의사결정권자는 대개 창업자 본인이다. 모듈 26에서 배운 C레벨 커뮤니케이션이 가장 짧은 경로로 작동하는 환경이면서, 동시에 가장 급한 판단이 오가는 환경이기도 하다. "이 결함은 데모 전까지 못 고치면 시연 순서를 바꿔야 합니다" 같은 문장이 통하는 이유는 QA가 회사의 일정(라운드 일정)을 알고 말하기 때문이다.
채용시장에서의 위치
"QA 1호" 공고는 경력 3~7년 구간에서 자주 열린다. 요구사항이 길고 모호한 것이 특징인데, 실제로 평가되는 것은 도구 숙련도보다 없는 상태에서 순서를 정하는 능력이다.
질문은 대개 "없는 상태에서 무엇부터 하겠는가" 를 돌려 묻는 형태로 온다. 답이 갈리는 지점은 이렇다.
| 질문 | 약한 답 | 강한 답 |
|---|---|---|
| "입사 첫 달에 뭘 하시겠어요?" | "테스트 케이스를 정리하고 프로세스를 세웁니다" | "배포 직전 15분 점검 5줄과 '안 보는 것' 목록 한 장을 먼저 만듭니다. 케이스 문서는 제품 방향이 안정된 뒤에요" |
| "QA가 없어서 품질이 엉망입니다" | "체계부터 잡아야 합니다" | "QA가 없는 게 문제가 아닐 수 있습니다. 무엇을 안 보기로 했는지 아무도 모르는 상태가 문제입니다. 그 목록부터 만듭니다" |
| "테스트 환경이 없는데요" | "환경 구축을 먼저 요청합니다" | "지금은 고정 계정 3종으로 시작합니다. 환경 분리는 릴리즈가 주 2회를 넘고 환경 탓 사고가 반복될 때 제안하겠습니다" |
| "자동화는 어디까지 하실 건가요?" | "핵심 기능부터 전부 자동화합니다" | "피벗해도 안 바뀔 흐름만요 — 로그인·결제 정도. 나머지 UI 자동화는 유지비가 제품 변경을 막습니다" |
| "다 못 본다면 뭘 포기하시겠어요?" | "우선순위가 낮은 것부터요" | "돈·데이터 손실·개인정보·되돌릴 수 없는 것은 안 포기합니다. 호환성·성능·관리자 조회 화면은 사유를 적고 포기합니다" |
두 번째와 다섯 번째가 변별력이 가장 크다. 둘 다 "무엇을 하겠다" 가 아니라 무엇을 안 하겠다 를 말한다. 초기 기업 면접관(대개 대표나 CTO)이 경계하는 지원자는 능력이 부족한 사람이 아니라 큰 조직의 프로세스를 그대로 들고 오는 사람이다. 들고 오면 2주 뒤 아무도 쓰지 않고, 그 2주가 런웨이다.
다섯 번째 답의 구조도 볼 만하다. 사수 목록과 포기 목록을 같은 호흡으로 말한다. 포기만 말하면 품질 기준이 없는 사람으로 읽히고, 사수만 말하면 단계를 모르는 사람으로 읽힌다. 둘을 같이 말할 때 비로소 "제약 안에서 선을 그을 수 있는 사람" 이 된다.
세 번째는 조건과 타이밍이 붙어 있다는 점에서 강하다. 역질문으로도 쓸 수 있다 — "현재 런웨이에서 품질에 쓸 수 있는 시간이 주당 몇 시간인가요" 는 지원자가 이 단계의 언어를 안다는 신호가 된다. (레슨 7)