![]() |
| PRD가 뭐길래 |
바이브 코딩 하면서 커서AI한테 이것저것 물어보다 보면 꼭 한 번은 듣는 말이 있다.
"PRD부터 작성하시는 게 좋을 것 같습니다."
나도 처음엔 그냥 하라니까..
"네네" 하고 시키는 대로 했다.
근데 정작 "PRD가 뭔데요?"라고 물으면 나 스스로도 대답을 못 하겠더라고요?
그냥 AI가 하라니까 하고,
어떻게든 그럴싸한 문서 하나 뽑아내고,
그걸로 다음 단계로 넘어가고...
이러면 안 될 것 같아서 오늘은 제대로 정리해보려고 한다.
PRD가 대체 뭔데?
PRD는 Product Requirements Document의 줄임말이다.
우리말로 하면 "제품 요구사항 정의서" 정도.
말이 어려운데,
쉽게 비유하면 집 짓기 전에 그리는 설계도라고 생각하면 된다.
설계도 없이 그냥 벽돌부터 쌓기 시작하면 어떻게 될까?
방이 몇 개인지,
화장실은 어디 넣을지,
창문 크기는 얼마로 할지
매번 즉흥적으로 정하다가 결국 이상한 집이 완성된다.
PRD도 똑같다.
"내가 만들 앱(또는 기능)이 뭘 해야 하고, 왜 필요하고, 어떻게 생겨야 하는지"
를 미리 글로 정리해두는 문서다.
근데 나 혼자 코딩할 건데 이게 왜 필요해?
나도 이 부분이 제일 궁금했다.
팀 프로젝트도 아니고 혼자 바이브 코딩 하는데
왜 이런 문서까지 만들어야 하나.
이유는 명확했다.
AI는 내 머릿속을 못 본다.
내가 "회원가입 기능 만들어줘"라고만 던지면,
AI는 그럴싸하게 뭔가를 만들어주긴 한다.
근데
이메일로 가입할지,
소셜 로그인도 넣을지,
닉네임 중복 체크는 어떻게 할지
같은 세부사항은 AI가 임의로 정해버린다.
그리고 그 결과물이 내가 원하던 것과 다르면?
처음부터 다시 설명하고,
다시 수정 요청하고,
이 과정이 반복된다.
PRD는 이 왔다갔다 헤매는 과정을 줄여주는 역할을 한다.
미리 방향을 정해두면 AI가 그 안에서 일관성 있게 작업할 수 있고,
나도 매번 처음부터 설명 안 해도 된다.
PRD에는 뭘 담아야 할까
내가 실제로 커서AI랑 대화하면서 정리했던 항목들이다.
AI한테 PRD 작성 요청할 때 실제로 이렇게 물어봤다
처음엔 그냥 "PRD 작성해줘"라고만 했더니
너무 뻔하고 형식적인 문서가 나왔다.
몇 번 시행착오 끝에 이렇게 요청하니까 훨씬 쓸만한 결과가 나오더라.
나는 [개발자 영어 단어 학습 앱]을 만들려고 해.
타겟 유저는 [한국어를 쓰는 개발자 취준생/주니어]이고,
핵심 기능은 [플래시카드 학습, 퀴즈, 오답노트]야.
이 정보를 바탕으로 PRD를 작성해줘.
단, 한 번에 다 만들지 말고
목적 → 타겟 유저 → 핵심 기능 → 화면 구성 순서로
하나씩 나한테 물어보면서 같이 채워나가자.
포인트는
"한 번에 다 만들지 말고 하나씩 물어보면서 같이 채워나가자"
는 부분이었다.
이렇게 요청하니까 AI가 각 항목마다 나한테 되물어봐서,
나도 뭘 빠뜨렸는지 자연스럽게 체크하게 되더라.
PRD 다 쓰고 나서는 어떻게 활용해?
PRD를 완성했다고 끝이 아니다. 나는 이렇게 활용하고 있다.
- 커서AI 프로젝트 안에 PRD 파일을 넣어둔다 (예:
PRD.md) - 새로운 기능 요청할 때마다 "PRD.md 참고해서 진행해줘"라고 언급한다
- 진행하다가 PRD랑 다른 방향으로 가고 있으면 AI가 먼저 "PRD랑 다른데 괜찮으신가요?"라고 되물어주기도 한다
- 기능이 추가되거나 방향이 바뀌면 PRD도 같이 업데이트한다 (문서는 한 번 쓰고 끝이 아니라 계속 살아있는 문서)
PRD 있을 때 vs 없을 때, 진짜 다르다
오늘의 정리
- PRD는 개발 시작 전에 "무엇을, 왜, 어떻게 만들지" 정리한 문서다
- 혼자 바이브 코딩 해도 AI와의 소통 비용을 줄여주기 때문에 필요하다
- 목적, 타겟 유저, 핵심 기능, 화면 방향, 성공 기준 정도만 채워도 충분하다
- AI한테 요청할 땐 "한 번에 다 말고 하나씩 물어보면서 같이 채워달라"고 하는 게 훨씬 효과적이다
- 다 쓰고 끝이 아니라 프로젝트 진행하면서 계속 참고하고 업데이트하는 문서다
이제 나도 "PRD가 뭔지도 모르면서 시키니까 하는" 단계는 벗어난 것 같다.
다음엔 실제로 개발자 영어 앱 프로젝트에서 썼던 PRD를 예시로 들면서,
어떻게 활용했는지 경험담으로 풀어볼 예정이다.


댓글 없음:
댓글 쓰기