바이브코딩을 시작하려고 검색하면 꼭 나오는 말이 있어요. "기획에 90%를 써라." 맞는 말이에요. 그래서 대부분은 이렇게 해요. 노션을 열고 PRD를 쓰고 피그마에서 와이어프레임을 그려요. 기능 목록까지 쭉 정리하면 기획 끝이라고 생각하거든요. 그 다음은 빨라요. Cursor를 켜서 프롬프트 몇 줄 넣으면 며칠 안에 앱이 하나 나와요. 근데 런칭하고 일주일이 지나도 사람이 안 와요. 다운로드는 그대로고 가입한 사람도 다시 안 들어와요. 그때 드는 생각이 있어요.
"기획을 했는데 왜 안 되는 거지?"
90%를 쓰라던 그 "기획"이 PRD가 아니었기 때문이에요.
PRD를 아무리 잘 써도 대답 못 하는 질문이 있어요
오해하지 마세요. PRD를 잘 쓰는 건 진짜 중요해요. 프롬프트를 구체적으로 넣을수록 AI가 더 정확한 코드를 만들어줘요. 화면 흐름까지 미리 그려놓으면 개발 속도도 확실히 빨라지거든요. 다만 PRD가 아무리 정교해도 한 가지를 알려주지는 않아요. 이 앱을 누가 쓰는지. 이 기능이 왜 필요한지. PRD는 "뭘 만들지"를 정리하는 문서예요. "왜 만드는지"를 정리하는 문서가 아니거든요. 그러니까 진짜 시간을 써야 하는 건 PRD를 쓰기 이전 단계예요. 근데 이 단계가 어려운 게 눈에 보이는 결과물이 안 나와요. PRD를 쓰면 페이지가 나오잖아요. 코드를 치면 화면이 나오고요. 이 단계는 그런 게 없어요. 머릿속에서만 돌아가니까 건너뛰게 돼요.
- PRD 작성
- 와이어프레임
- 기능 목록 정리
- 고객이 누구인지 찾기
- 문제가 진짜인지 확인
- 돈 낼 만큼 아픈지 검증
코드를 치기 전에 먼저 해야 하는 일이 있어요
바이브코딩이 빨라진 건 "만드는 단계"예요. Cursor한테 말 몇 마디 하면 화면이 나오고 기능이 붙잖아요. 이 속도는 진짜 강점이에요. 다만 그 속도가 제 역할을 하려면 방향이 먼저 잡혀 있어야 해요. 예를 들면 이런 거예요. 내가 만들려는 앱이 풀려는 문제가 진짜 있긴 한 건지. 그 문제를 지금 겪고 있는 사람이 실제로 존재하는 건지. 그리고 그 사람이 이 문제에 돈을 내면서까지 해결하고 싶어 하는 건지. 이 질문들에 답하는 건 Cursor로 하는 일이 아니에요. 카페에 나가서 사람을 만나야 해요. 커뮤니티에 글을 올려서 반응을 봐야 해요. 가설을 세운 뒤에 직접 검증하는 거예요. 이게 기획의 진짜 90%예요.
"누가 쓸 건데?"에 답 못 하면 기능 20개가 소용없어요
한번은 이런 분을 본 적이 있어요. PRD에 기능 20개를 깔끔하게 정리해놓으셨어요. 화면 흐름도 논리적이고 데이터 구조까지 잡아놨어요. 근데 "이 앱을 누가 쓰나요?" 하고 물어봤더니 한참을 생각하시더라고요. 돌아온 답은 이랬어요.
"아마 이런 사람들이 쓰지 않을까요?"
"아마"가 붙는 순간 그건 기획이 아니라 가설이에요. 가설 자체가 나쁜 건 아니에요. 다만 검증 없이 그 위에 PRD를 쌓으면 문제가 생겨요. 기능 목록은 완벽한데 정작 누구를 위한 앱인지가 빠져 있는 거예요. 바이브코딩이 빠르니까 그 앱은 일주일이면 만들어져요. 그런데 일주일 만에 나온 앱을 아무도 안 쓰면 그 일주일이 무슨 의미가 있을까요. 그러니까 코드를 치기 전에 사람부터 만나야 해요. 카페에 가서 이 문제를 겪고 있는 사람을 찾아보세요. 오픈채팅에 들어가서 반응도 보세요. 그리고 직접 물어보는 거예요.
"이런 게 있으면 돈 내고 쓸 거냐?" 이 질문에 "네"가 나오면 그때 PRD를 쓰는 겁니다.
Cursor를 열기 전에 이 세 줄부터 적어보세요
거창한 게 아니에요. 종이든 노션이든 메모장이든 아무 데나 이 세 줄만 적어보세요.
세 줄이 다 적히면 신기하게도 MVP에 뭘 넣고 뭘 뺄지가 바로 보여요. 기능 20개를 펼쳐놓고 고민하던 게 이 세 줄 위에서 보면 두세 개로 걸러지거든요. PRD도 이 세 줄 위에 쓰면 완전히 달라져요. 혹시 지금 안 적히더라도 당황하지 마세요. 그게 정상이에요. 머릿속에는 뭔가 있는 것 같은데 글로 꺼내려면 안 나오거든요. 저도 처음엔 그랬어요. 다만 옆에서 "이 부분은 이런 뜻이야?" 하고 한번만 물어봐 주면 한두 시간 만에 잡히는 것들이에요.
방향이 잡히면 바이브코딩은 진짜 빨라져요
바이브코딩의 속도를 느려지게 만드는 건 코드가 아니에요. 방향이 안 잡힌 상태에서 기능 넣고 빼고를 반복하는 루프가 속도를 잡아먹는 거예요. 이걸 반복하면 바이브코딩이 아무리 빨라도 결국 제자리거든요. 반대로 방향이 잡혀 있으면 완전히 달라져요. 뭘 만들지가 명확하고 누구한테 보여줄지가 정해져 있으면 바이브코딩의 속도가 비로소 무기가 돼요. 같은 Cursor를 쓰는데 결과가 달라지는 이유는 도구가 아니라 출발점이 다르기 때문이에요. 지금 Cursor를 열기 전에 아까 그 세 줄을 한번 적어보세요. 적히면 그대로 가시면 돼요. 안 적히면 코드보다 그 세 줄을 먼저 채우는 게 순서예요.
만들고 나서 사람이 안 오는 이야기. 혼자 결정하다 방향을 잃은 이야기. 비슷한 글을 이 블로그에 계속 쓰고 있어요.
→ 다른 글 보러가기