
prd.md 작성사람은
AI는
prd.md 파일을 완성할 수 있도록 상세한 가이드를 제공techspec.md (기술 설계 문서 또는 design.md) 작성
앞에서 만든 prd.md를 바탕으로 시스템의 뼈대를 잡는 과정
AI의 도움을 받아 시스템 구조와 데이터베이스, API 등을 설계
이 단계가 끝나게 되면 개발의 전체적인 청사진이 완성됨
tasks.md 파일이 준비됨
techspec.md를 바탕으로 실제 개발에서 해결해야 할 세부 작업들을 정의
AI는 복잡한 설계를 작은 단위의 태스크로 나누고, 우선순위를 정함
칸반 보드에 올라온 작업 티켓을 하나씩 해결
AI와의 협력으로 실제 코드를 구현하고 테스트
AI는 코드 작성 뿐만 아니라 버그 수정과 최적화까지 지원

프로젝트를 시작하는 이유
단순히 기능을 나열하는 것이 아닌, 현재 사용자가 겪는 고통(Pain Point)과
우리가 그것을 해결해야 하는 이유
이 문서 한장으로 '이 문서는 무엇이며, 우리는 왜 이 일을 하는가?'
에 대한 대답이 되어야 함
목표: 프로젝트가 끝났을 때 도달해야 할 목적지
Core Goal: "이 제품을 통해 사용자에게 어떤 가치를 줄 것인가?"를
한 문장으로 정의
사용자 시나리오
사용자의 관점에서 소프트웨어가 제공해야 하는 기능을 짧고 명확하게 기술
3단 구성 공식: [누가, who]로서 [무엇, what]을 원한다.
왜냐하면 [이유, why] 때문이다.
AC(Acceptance Criteria)
인수 기준은 명확하고 구체적이어야 한다.
좋은 인수 기준은 "테스트할 수 있는가?"
예)
사용하기 편해야 한다 [X] - 편하다는 기준은 사람마다 다름
업로드 버튼을 누르고 1초 이내에 메시지가 떠야 한다 [O]
더 체계적이고 전문적으로 쓰고 싶을 경우
EARS(Easy Approach to Requirements Syntax) 문법을 활용
AI의 역할

우선순위(Prioritization)-중증도 분류(Triage): 기능 우선순위
P0 (Immediate)
"이게 없으면 제품이 아니다" 싶은 필수 기능
P1 (Urgent)
"있으면 정말 좋지만, 없어도 당장 죽지는 않는" 기능
P2 (Non-Urgent)
"여유가 생기면 추가할 사치품"
이러한 우선순위를 잘 정해놓아야, 마감 기한이 다가왔을 때
무엇을 버릴지 잘 결정할 수 있음
사용자 스토리 우선순위 정하기: MoSCoW 기법
우리가 가진 제한된 시간과 자원 내에서 사용자에게 최대의 가치를 전달하기 위해
무엇에 집중해야 할지 결정하는 나침반

"모두를 만족시키는 제품은 누구도 만족시키지 못하는 결과물이 됨"
주요 페르소나(Primary Persona)
핵심 타겟의 특성 및 행동 양식
사용자 세그먼트(User Segmentation)
그룹 분류 (숙련도, 연령 등)
사용자 니즈(User Needs)
제품을 통해 해결하고자 하는 요구사항
재방문률(Retension)
사용자가 얼마나 우리 앱에 자주 들어오는지 보여줌
전환율(Conversion Rate)
실제로 물건을 구매했는지 보여줌
모든 지표 중 팀이 가장 우선적으로 바라봐야 할 단 하나의 목표
구체적이고 측정 가능하며, 달성 가능한 숫자로 적어야 함
로직(Logic)
시스템이 동작하는 기본 원리와 알고리즘
밸리데이션(validation)
입력값의 유효성을 검사하는 규칙
엣지 케이스(Edge Case)
예외적이거나 극단적인 상황에서의 처리 방식

각 요건에는 F-01, F-02와 같은 고유한 ID를 부여해야 함

비즈니스 우선 순위가 높은 것 부터 시스템의 언어로 풀어가는 과정임
예쁜 그림을 보여주는 곳이 아닌,
사용자가 어떤 경로로 이동하고 화면이 어떤 논리적 구조를 갖는지 정의
디자인의 느낌보다 컴포넌트의 배치와 동작 규칙을 전달



기능이 무엇을 하는지(what)라면,
품질 속성은 그것을 얼마나 잘 하는지(How Well)
시스템의 기능이 수행되는 동안 만족해야 하는 운영적 특성이나 제약 사항
예)
개발자가 코드를 짤 때, 기능은 구현할 대상
품질 속성은 구현의 범위와 한계를 정하는 제약 조건
품질 속성은 반드시 측정 가능, measureable 해야 함





1. 비전 정의
게임 개발을 예로 들었을 때,
게임의 본질적인 목적과 타켓 사용자를 정의해야 함
방향성이 이 단계에서 결정됨
사용자가 해당 프로그램을 통해 얻을 수 있는 가장 중요한 가치 정의
2. 사용자 경험 설계
이 과정에서 시스템의 필수 요소들이 자연스럽게 리스트업 됨
3. 핵심 로직 상세화
핵심 비즈니스 로직을 기술적으로 상세화하는 과정임
반드시 edge 케이스와 validation 로직을 이 단계에서 보완해야 함
4. 수용 기준 확정
각 기능이 완벽하게 구현되었는지 판단할 수 있는 기준인
Acceptance Criteria를 확정하며 문서를 마무리
이 세 가지 전략을 상황에 따라 유연하게 결합하는 하이브리드 접근법이 가장 강력