/basic/session-07
07기본과정180분 (이론 60 + 실습 120)

기획: 아이디어를 설계로

만들기 전에 정해야 하는 것들

02이 차시를 마치면

  • 1.만들고 싶은 서비스의 요구사항을 사용자 스토리 형태로 정리할 수 있다.
  • 2.Claude Code와 대화하며 PRD를 처음부터 끝까지 작성할 수 있다.
  • 3.완성된 화면 목록과 화면 간 이동을 흐름도로 정리할 수 있다.
  • 4.지금 만들 것과 나중에 만들 것을 가르는 MVP 기준을 세울 수 있다.

03왜 필요한가

아이디어가 떠오르자마자 바로 AI에게 '이런 서비스 만들어줘'라고 시켰다. 처음엔 순조로웠지만 대화가 길어질수록 신청 기능에 재고 관리가 붙고, 재고 관리에 승인 절차가 붙고, 승인 절차에 통계 대시보드까지 붙었다. 정작 첫 배포는 하지 못한 채, 지금 무엇을 만들고 있었는지조차 스스로 헷갈리는 상태가 됐다.

  • 계획 없이 코드부터 짜면 기능이 끝없이 늘어나 완성 시점을 정할 수 없다.
  • 대화창에서만 논의를 이어가면 이전에 정한 내용이 스크롤 위로 사라져 나중에 다시 찾기 어렵다.
  • 처음부터 모든 조건을 혼자 적으려 하면 놓치는 부분이 생기고, 그 부분은 한참 만들다가 뒤늦게 발견된다.
  • 화면 흐름을 정하지 않고 화면부터 만들면 화면 사이 이동 경로가 꼬이거나 빠진 화면이 생긴다.

04개념 설명

요구사항을 사용자 스토리로 적는다

요구사항을 '재고 관리 기능이 필요함' 같은 명사형으로 적으면 왜 필요한지가 빠져 있어 우선순위를 판단할 수 없다. 사용자 스토리는 '누가, 무엇을 하고 싶고, 왜 그런지'를 한 문장으로 묶어 적는 방식이다. 예를 들어 '비품 담당자는, 신청이 들어오면 한눈에 목록으로 보고 싶다. 왜냐하면 매번 메일함을 뒤지기 번거롭기 때문이다'처럼 적는다.

이렇게 적으면 이 기능이 지금 꼭 필요한지, 누구를 위한 것인지가 문장 안에 이미 드러난다. 나중에 MVP 범위를 자를 때도 '이 스토리가 없으면 누가 불편한가'로 바로 판단할 수 있다.

요소예시
누가비품 담당자는
무엇을신청 목록을 한눈에 보고 싶다
매번 메일함을 뒤지기 번거로워서
  • '누가·무엇을·왜'를 한 문장으로 묶어 적는다
  • 명사형 기능 목록보다 우선순위 판단이 쉬워진다

Claude Code로 PRD를 쓰는 이유

일반 채팅 대신 Claude Code로 PRD를 쓰는 이유는 크게 네 가지다. 대화창에 흩어지지 않고 PRD.md 파일로 프로젝트 폴더에 남는다. 코드를 쓰기 전에 방향을 문서로 먼저 맞춰, 다 만들고 나서 '이게 아닌데'를 겪지 않는다. 이미 있는 코드·문서를 참고해 현실적인 질문을 던진다. 그리고 열린 질문 대신 선택지를 만들어 되묻게 하면 결정 속도가 훨씬 빨라진다.

지금 여러분이 보고 있는 이 교육 웹사이트 자체가, 바로 이 방식으로 만들어진 PRD.md를 기반으로 제작됐다. 요청을 던지고, 되묻는 질문에 답하고, 파일로 저장해 훑어보고, 재검토하는 과정을 그대로 거쳐 지금의 커리큘럼 구조가 확정됐다.

포인트의미
파일로 남는다대화가 아니라 PRD.md
먼저 합의한다코드를 쓰기 전에 방향을 문서로
프로젝트를 안다기존 코드·문서를 참고해 되묻는다
객관식으로 좁힌다결정 속도가 빨라진다
  • 대화가 아니라 파일(PRD.md)로 남는다
  • 코드를 쓰기 전에 방향을 문서로 먼저 합의한다
  • 프로젝트를 아는 상태에서 현실적인 질문을 되묻는다
  • 열린 질문 대신 객관식으로 좁혀 결정 속도를 높인다

화면 흐름 설계

PRD에 기능이 다 나열돼 있어도, 사용자가 화면을 어떤 순서로 거쳐 목표를 달성하는지가 정리돼 있지 않으면 막상 화면을 만들 때 이동 경로가 꼬인다. 화면 흐름도는 서비스에 필요한 화면 목록을 뽑고, 시작 화면부터 목표 달성 화면까지 화살표로 연결한 그림(또는 텍스트)이다.

처음부터 모든 화면을 다 그리려 하지 않는다. 사용자가 가장 자주 거치는 '핵심 경로' 하나(예: 로그인 → 신청 → 완료)를 먼저 그리고, 나머지 화면은 그 경로에 곁가지로 붙인다.

01화면 목록 뽑기필요한 화면 전부 나열
02핵심 경로 그리기예: 로그인 → 신청 → 완료
03곁가지 붙이기나머지 화면은 핵심 경로에 연결
  • 필요한 화면 목록을 먼저 뽑는다
  • 핵심 경로 하나를 화살표로 먼저 그린다
  • 나머지 화면은 핵심 경로에 곁가지로 붙인다

MVP 범위를 자르는 기준

MVP(Minimum Viable Product)는 핵심 목적을 달성하는 데 반드시 필요한 최소한의 기능만 담은 버전이다. 아이디어를 구상하다 보면 '있으면 좋은 기능'이 계속 떠오르는데, 이걸 전부 지금 만들 것에 넣으면 정해진 차시 안에 완성하지 못한다.

기준은 단순하다. '이 기능이 없으면 서비스 핵심 목적을 달성할 수 없는가'를 묻는다. 답이 '그렇다'면 지금 만들 것(Now), '아니다'면 나중에 만들 것(Later)으로 분류한다. 이 기준 하나만 있어도 끝없이 늘어나는 기능 목록에 제동을 걸 수 있다.

없으면 핵심 목적을 달성 못함 → 그렇다

Now

지금 만든다

없어도 핵심 목적은 달성됨 → 아니다

Later

나중으로 미룬다

  • '이게 없으면 핵심 목적을 달성할 수 없는가'가 유일한 기준
  • 그렇다 → Now, 아니다 → Later

05실습 가이드

  1. 1. 아이디어를 한 문장으로 던지기

    • P7-1 프롬프트의 대괄호를 채워 Claude Code에 첫 요청을 보낸다.
    • 처음부터 모든 조건을 적으려 하지 말고, 한 문장 + 확실한 것 2가지 정도로만 시작한다.

    예상 결과AI가 대상·목표·범위·제약 등을 묻는 질문 목록(가급적 객관식)을 돌려준다.

    안 될 때질문 없이 바로 PRD 초안을 만들어버리면, '확실하지 않은 부분은 임의로 채우지 말고 객관식으로 물어봐줘'라고 다시 요청한다.

  2. 2. 되묻는 질문에 답하기

    • 질문 하나하나에 실제로 고민해서 답한다.
    • 답이 애매하면 '다 좋아요'로 넘기지 말고, '잘 모르겠다, 네 생각엔 뭐가 나을 것 같아?'라고 되묻는다.

    예상 결과답변을 반영해 PRD 문서의 해당 절이 점점 채워진다.

    안 될 때질문이 너무 많아 압도되면 '가장 중요한 질문 3개만 먼저 답할게'라고 우선순위를 정해 진행한다.

  3. 3. PRD.md로 저장하고 전체 훑어보기

    • 대화가 어느 정도 쌓이면 'PRD.md 파일로 저장해줘'라고 요청한다.
    • 저장된 파일을 열어 처음부터 끝까지 한 번 읽는다.

    예상 결과프로젝트 폴더에 PRD.md 파일이 생기고, 목차와 절 구조가 눈에 들어온다.

    안 될 때파일이 안 만들어지면 '파일로 저장해줘'라고 명확히 지시했는지 확인한다. 대화형 채팅만으로는 파일이 남지 않는다.

  4. 4. 열린 질문을 결정 목록으로 정리하기

    • P7-2 프롬프트로 아직 정해지지 않은 부분을 객관식 목록으로 다시 요청한다.
    • AI가 추천한 답을 참고해 실제 결정을 내린다.

    예상 결과'결정 사항' 목록이 만들어지고, 각 항목에 실제 선택이 표시된다.

    안 될 때추천 답이 마음에 안 들면 이유를 물어본 뒤 다른 선택지를 요청한다.

  5. 5. 결정 사항이 문서에 반영됐는지 검증하기

    • P7-3 프롬프트로 PRD.md 전체를 검토받는다.
    • 지적된 불일치·누락을 하나씩 확인해 반영을 요청한다.

    예상 결과앞뒤가 안 맞는 부분, 반영 안 된 결정, 구체화가 더 필요한 부분의 목록을 받는다.

    안 될 때지적이 애매하면 '몇 절 몇 번째 문장이 문제인지 구체적으로 짚어줘'라고 재요청한다.

  6. 6. 화면 흐름도 그리기

    • P7-4 프롬프트로 PRD에 정리된 화면 목록을 바탕으로 화면 간 이동을 흐름도로 요청한다.

    예상 결과시작 화면부터 핵심 화면까지 화살표로 연결된 흐름도가 만들어진다.

    안 될 때화면이 너무 많아 복잡해지면 '핵심 경로(로그인 → 신청 → 완료) 하나만 먼저 그려줘'라고 범위를 좁힌다.

  7. 7. MVP 범위 자르기

    • P7-5 프롬프트로 지금까지 나온 기능 목록을 '지금 반드시 있어야 하는 것'과 '나중에 추가할 것'으로 나눠 달라고 요청한다.

    예상 결과Now/Later로 나뉜 기능 목록이 PRD에 반영된다.

    안 될 때나눈 기준이 애매하면 '이 기능이 없으면 서비스 핵심 목적을 달성할 수 없는가'를 기준으로 다시 나눠 달라고 요청한다.

  8. 8. 완성된 한 페이지 PRD로 정리하기

    • 지금까지 만든 PRD와 화면 흐름도를 한 페이지로 요약해 달라고 요청한다.
    • 다음 차시부터 이 문서를 기준 문서로 삼기로 한다.

    예상 결과목표·대상·MVP 범위·화면 흐름이 한 페이지에 정리된 문서가 완성된다.

    안 될 때한 페이지에 안 들어가면 '핵심만 남기고 나머지는 부록으로 빼줘'라고 요청한다.

06실전 프롬프트

P7-1PRD 작성 시작하기

사용 시점 — 실습 1단계 — 아이디어를 처음 던지고 PRD 작성을 시작할 때

[내가 만들고 싶은 것 한 문장]을 위한 PRD를 작성해줘.

지금 확실한 건 이거야.
· 이걸 쓸 사람: [대상]
· 지금 겪는 불편: [상황]

확실하지 않은 부분은 임의로 채우지 말고,
결정이 필요한 부분마다 나에게 먼저 물어봐줘.
질문은 객관식으로 주면 내가 더 빨리 답할 수 있어.

기대 결과대상·범위·성공 기준 등을 구조화된 질문으로 되물음.

P7-2열린 질문을 결정 목록으로 정리하기

사용 시점 — 실습 4단계 — 대화가 쌓인 뒤 아직 안 정해진 것들을 한 번에 정리할 때

지금까지 나눈 대화에서 아직 결정 안 된 부분들을
객관식 질문 목록으로 정리해서 다시 물어봐줘.
각 질문에는 네가 추천하는 답을 하나씩 표시해줘.

기대 결과산발적인 대화가 '결정 사항 목록'으로 정리됨.

P7-3완성된 PRD를 검증하기

사용 시점 — 실습 5단계 — PRD.md 초안이 완성된 뒤 재검토할 때

지금 만든 PRD.md를 검토해줘.
1. 앞뒤가 안 맞는 부분이 있는지
2. 결정했다고 적었는데 실제로 본문에는 반영이 안 된 부분이 있는지
3. 아직 구체적이지 않아서 나중에 다시 물어볼 수밖에 없는 부분이 있는지
찾아서 알려줘.

기대 결과결정과 본문 사이의 누락·불일치 목록.

P7-4화면 흐름도 그려달라고 할 때

사용 시점 — 실습 6단계 — PRD에 정리된 화면 목록을 흐름도로 정리할 때

지금까지 정리한 PRD.md를 보고
이 서비스에 필요한 화면 목록을 뽑아줘.

그리고 사용자가 [처음 접속]부터 [핵심 목표 달성]까지
어떤 화면을 거쳐가는지 화살표로 연결한
화면 흐름도를 텍스트로 그려줘.

화면이 너무 많으면 핵심 경로부터 먼저 보여주고,
나머지는 나중에 붙일 수 있게 구분해줘.

기대 결과화면 목록과 핵심 경로 중심의 화살표 흐름도를 받는다.

P7-5기능이 자꾸 늘어나 범위를 못 정할 때 복구용

사용 시점 — 실습 7단계 — 대화 중 계속 새 기능이 붙어 MVP 범위가 흐려질 때(복구 프롬프트)

지금까지 PRD.md에 나온 기능들을 전부 나열해줘.

그리고 각 기능을 이 기준으로 나눠줘.
· 이게 없으면 서비스 핵심 목적을 달성할 수 없는 것 (지금 만들 것)
· 있으면 좋지만 없어도 서비스가 돌아가는 것 (나중에 만들 것)

'나중에 만들 것'에 넣은 이유도 한 줄씩 설명해줘.
내가 보기에 기준이 이상한 게 있으면 왜 그렇게 나눴는지 다시 설명해달라고 할게.

기대 결과기능이 Now/Later로 나뉘고, 각 분류의 이유를 함께 받는다.

07이것만은 주의

08자가 점검

0 / 5 완료0%
x

09과제

자신이 만들고 싶은 서비스(또는 자동화하고 싶은 업무) 아이디어로 실습에서 다룬 5단계 워크플로를 그대로 실행해, 한 페이지 PRD와 화면 흐름도를 완성한다. 마땅한 아이디어가 없다면 이번 실습에서 다룬 '사내 비품 신청 서비스'를 자신의 팀 상황에 맞게 바꿔 진행해도 된다.

제출 형식① 완성된 PRD.md 파일 ② 화면 흐름도(텍스트 또는 그림) ③ 사용한 프롬프트와 AI 응답 중 핵심 결정 부분 캡처를 하나의 문서로 정리해 제출한다.

10더 알아보기

  • 이 웹사이트의 PRD.md이 교육과정 자체가 이번 차시의 절차로 작성된 실제 예시 문서
사용자 스토리
'누가, 무엇을 하고 싶고, 왜 그런지'를 한 문장으로 정리한 요구사항 서술 형식.
MVP(Minimum Viable Product)
핵심 목적을 달성하는 데 반드시 필요한 최소한의 기능만 담은 버전.
계획 모드(Plan Mode)
코드를 바로 작성하지 않고 방향을 먼저 문서로 합의하는 Claude Code의 작업 모드.

다음 차시 예고 다음 차시에서는 이번에 만든 PRD와 화면 흐름도를 바탕으로, 실제로 동작하는 화면을 HTML/CSS/JS로 구현합니다.