어색함을 신뢰한다는 것
위저드를 만들었다 폐기하고, Event 엔티티를 시작했다 폐기했다. 0명 사용자 상태에서 "어색하다" 는 느낌이 거의 유일한 검증 신호인 이유와, 그것을 신뢰해서 멈추는 일에 대해.
어색함을 신뢰한다는 것
위저드를 만들었다
Project 설정을 도우려고 8단계짜리 마법사를 만들었다.
- 이름
- 기간
- 현재 상황
- 기대
- 난관
- 일일 루틴
- 마일스톤
- 완료
각 단계는 한 화면, 입력 하나. 마지막에 일괄 저장. 로딩 표시도 800ms로 맞춰 잠깐 보이게 했다. 만들면서 디테일을 다듬었다 — 첫 단계엔 X 버튼, 다음 단계부턴 “이전” 텍스트, 건너뛰기 옵션, 입력 칸이 작으면 키우고, ProjectInput 스타일 가져와서 통일하고, 분석 단계는 IntentionFieldLabel + DescriptionInput 으로…
그렇게 다듬다가, 이게 나아질 기미가 안 보인다는 걸 알았다.
”어색하다” 는 신호
명확한 결함은 없었다. 동작은 하고, 디자인 시스템과도 맞고, 단계도 합리적이었다. 그런데 눌러볼 때마다 어색했다.
그 어색함의 정체를 정확히 짚지 못했다. “단계가 너무 많아서?” “흐름이 부자연스러워서?” “타임라인 같은 다른 표현이 더 나아서?” — 이 중 어느 것도 “이거다” 가 아니었다. 그냥 어색했다.
처음엔 디테일을 더 다듬으면 풀릴 줄 알았다. 그런데 디테일을 다듬을수록 어색함이 더 분명해졌다.
그래서 멈췄다. “조금 더 고민해 봐야겠다” 라고 말하고, 만들었던 걸 통째로 지웠다.
마일스톤도 그랬다
같은 시간 즈음, 마일스톤 기능을 별도 Event 엔티티로 빼려고 시작했다. 서버 모델, CRUD 엔드포인트까지 절반쯤 만들었다.
그러다 멈췄다. 똑같이 어색했다. 뭐가 어색한지 정확히는 몰랐지만 — 정말 마일스톤이 새 엔티티가 되어야 하는 건지, Project Task 의 한 종류인지, 아니면 뭔가 다른 건지 — 그 결정을 미리 내리고 만들고 있다는 느낌이 있었다.
다 지웠다. 커밋도 안 했다.
어색함이 가지는 정보
이런 어색함은 0명 사용자 상태에서만 만나는 건 아니다. 하지만 0명 상태에서는 어색함이 거의 유일한 검증 신호다. 사용자가 없으니까 행동 데이터가 없고, 인터뷰 거리도 없고, 본능과 직관 외에는 기댈 게 없다.
그래서 어색하다는 느낌이 들면 그걸 신뢰해야 한다. “이건 어색한데 왜 그런지 모르겠다” 는 상태에서 계속 만드는 건, 아직 모델이 잡히지 않았다는 신호다. 지금 다듬어 봐야 모델이 안 잡혀 있는 채로 다듬어지는 거다.
Journey 폐기 글에서는 “엔티티의 경계는 연결할 때 드러난다” 고 썼다. 이번은 다른 형태의 같은 이야기다 — 구현이 한 발씩 나갈 때 어색함이 드러난다. 둘 다 모델이 아직 안 잡혀 있을 때 코드가 알려주는 신호다.
그래서 멈췄다
지금 시점에 명확해진 것:
- Project 자체는 단단하다 (이름 / 기간 / 문서 / 할 일 / 루틴 / 멤버)
- 그 위에 “설정 흐름”을 어떻게 줄지는 아직 모른다
- 마일스톤이 무엇이어야 하는지도 아직 모른다
이게 명확해진 것만으로도 두 번의 시도가 헛수고는 아니다. 다음 시도는 “왜 어색했는지” 를 답할 수 있을 때 시작한다.
빨리 만드는 게 답일 때가 있고, 느리게 생각하는 게 답일 때가 있다. 어색함이 답을 모를 때, 일단 멈추는 것 — 이게 0명 사용자 상태에서 살아남는 방법인 것 같다.