docs(workflow): PRD와 계획 문서 구조를 정리한다
This commit is contained in:
@@ -20,10 +20,18 @@
|
||||
- 변경 후: 최소 단일 테스트(`--tests`) 또는 `./gradlew :app:test`를 실행하고 필요 시 `./gradlew :app:ktlintCheck`를 수행한다.
|
||||
|
||||
## 작업 계획 문서 규칙 (docs)
|
||||
- 모든 작업 시작 전에 `docs` 폴더 아래 계획 문서를 먼저 생성하고, 해당 문서를 기준으로 구현한다.
|
||||
- 연속된 하나의 작업이라면 별도 새 문서를 만들지 말고 기존 계획 문서에 추가 작업으로 이어서 기록한다.
|
||||
- 계획 문서 파일명은 `[날짜]_구현할내용한글.md` 형식을 사용한다.
|
||||
- 모든 구현 작업은 PRD 문서와 구현 계획/TASK 문서가 모두 준비된 뒤에 시작한다.
|
||||
- 사용자가 프롬프트를 입력하면 먼저 PRD 문서를 작성한다.
|
||||
- PRD 작성 중 애매하거나 더 필요한 내용, 결정해야 하는 사항이 있으면 애매한 사항이 없어질 때까지 사용자와 인터뷰한다.
|
||||
- 인터뷰로 확정한 내용을 PRD 문서에 보강한 뒤, 해당 PRD를 기준으로 구현 계획/TASK 문서를 작성한다.
|
||||
- 구현은 계획/TASK 문서를 기준으로 필요한 내용만 최소 범위로 진행한다.
|
||||
- PRD 문서는 `docs/prd/` 아래에 작성한다.
|
||||
- 구현 계획/TASK 문서는 `docs/plan-task/` 아래에 작성한다.
|
||||
- PRD 문서는 `sample-prd.md` 파일에서 작업에 필요한 부분만 발췌해 작성한다. `sample-prd.md`가 없거나 위치가 불명확하면 추측하지 말고 사용자에게 확인한다.
|
||||
- PRD 문서 파일명은 기존 계획 문서 파일명 규칙을 따르되, 계획 문서와 구분되도록 `prd` 표기를 포함한다.
|
||||
- 계획/TASK 문서 파일명은 `[날짜]_구현할내용한글.md` 형식을 사용한다.
|
||||
- 날짜는 `YYYYMMDD` 8자리 숫자를 사용한다.
|
||||
- 연속된 하나의 작업이라면 별도 새 문서를 만들지 말고 기존 PRD와 계획/TASK 문서에 추가 작업으로 이어서 기록한다.
|
||||
- 구현 항목은 기능/작업 단위 체크박스(`- [ ]`)로 작성하고 완료 즉시 `- [x]`로 갱신한다.
|
||||
- 작업 도중 범위가 변경되면 계획 문서 체크리스트를 먼저 업데이트한 뒤 구현한다.
|
||||
- 결과 보고 시 문서 하단에 검증 기록(무엇/왜/어떻게, 실행 명령, 결과)을 한국어로 남긴다.
|
||||
|
||||
106
docs/prd/sample-prd.md
Normal file
106
docs/prd/sample-prd.md
Normal file
@@ -0,0 +1,106 @@
|
||||
# PRD: [제품명]
|
||||
|
||||
## 1. Overview
|
||||
이 제품이 무엇인지 한 줄 설명
|
||||
|
||||
---
|
||||
|
||||
## 2. Problem
|
||||
어떤 문제를 해결하는가?
|
||||
|
||||
- 현재 사용자의 불편
|
||||
- 기존 방식의 한계
|
||||
- 왜 지금 필요한가
|
||||
|
||||
---
|
||||
|
||||
## 3. Goals
|
||||
성공 기준
|
||||
|
||||
예:
|
||||
- 가입 전환율 20%
|
||||
- 작업 시간 50% 감소
|
||||
|
||||
---
|
||||
|
||||
## 4. Non-Goals
|
||||
이번에 하지 않을 것
|
||||
|
||||
매우 중요함.
|
||||
|
||||
예:
|
||||
- 모바일 앱 지원 안 함
|
||||
- 실시간 협업 제외
|
||||
- 다국어 제외
|
||||
|
||||
---
|
||||
|
||||
## 5. Target Users
|
||||
누가 사용하는가?
|
||||
|
||||
- 초보 개발자
|
||||
- PM
|
||||
- 디자이너
|
||||
|
||||
---
|
||||
|
||||
## 6. User Stories
|
||||
사용자 행동 시나리오
|
||||
|
||||
예:
|
||||
- 사용자는 버튼 하나로 요약하고 싶다
|
||||
- 사용자는 로그인 없이 체험하고 싶다
|
||||
|
||||
---
|
||||
|
||||
## 7. Core Features
|
||||
|
||||
### Feature A
|
||||
설명
|
||||
|
||||
#### Requirements
|
||||
- must
|
||||
- should
|
||||
- constraints
|
||||
|
||||
#### Edge Cases
|
||||
- 빈 입력
|
||||
- timeout
|
||||
- 중복 요청
|
||||
|
||||
---
|
||||
|
||||
## 8. UX / UI Expectations
|
||||
|
||||
- 반응속도
|
||||
- 클릭 수
|
||||
- 모바일 대응
|
||||
- 접근성
|
||||
|
||||
---
|
||||
|
||||
## 9. Technical Constraints
|
||||
|
||||
- Next.js 사용
|
||||
- PostgreSQL 사용
|
||||
- API latency 2초 이하
|
||||
|
||||
---
|
||||
|
||||
## 10. Metrics
|
||||
|
||||
무엇을 측정할 것인가?
|
||||
|
||||
- retention
|
||||
- DAU
|
||||
- conversion
|
||||
|
||||
---
|
||||
|
||||
## 11. Open Questions
|
||||
|
||||
아직 결정 안 된 것
|
||||
|
||||
- OAuth 제공?
|
||||
- pricing?
|
||||
- offline mode?
|
||||
Reference in New Issue
Block a user