docs(workflow): PRD와 계획 문서 구조를 정리한다
This commit is contained in:
@@ -124,6 +124,12 @@ Strong success criteria let you loop independently. Weak criteria ("make it work
|
|||||||
- 모든 명령은 저장소 루트에서 실행한다.
|
- 모든 명령은 저장소 루트에서 실행한다.
|
||||||
- 요청 범위를 우선 충족하고, 변경은 작고 안전하게 유지한다.
|
- 요청 범위를 우선 충족하고, 변경은 작고 안전하게 유지한다.
|
||||||
|
|
||||||
|
## 작업 절차 핵심 규칙
|
||||||
|
- PRD 문서와 구현 계획/TASK 문서 없이 구현하지 않는다.
|
||||||
|
- 사용자의 프롬프트를 받으면 먼저 PRD 문서를 작성하고, 애매하거나 결정이 필요한 내용은 모호함이 사라질 때까지 사용자와 인터뷰한다.
|
||||||
|
- 인터뷰 내용을 PRD에 반영한 뒤, PRD를 기준으로 계획/TASK 문서를 작성하고 그 문서에 따라 필요한 내용만 최소 구현한다.
|
||||||
|
- PRD 문서는 `docs/prd/`, 계획/TASK 문서는 `docs/plan-task/` 아래에 둔다.
|
||||||
|
|
||||||
## 상세 참조 문서
|
## 상세 참조 문서
|
||||||
- 빌드/린트/테스트/코드 스타일은 `docs/agent-guides/build-test-style.md`를 참고한다.
|
- 빌드/린트/테스트/코드 스타일은 `docs/agent-guides/build-test-style.md`를 참고한다.
|
||||||
- 작업 절차/docs/커밋 규칙은 `docs/agent-guides/workflow-docs-commits.md`를 참고한다.
|
- 작업 절차/docs/커밋 규칙은 `docs/agent-guides/workflow-docs-commits.md`를 참고한다.
|
||||||
|
|||||||
@@ -20,10 +20,18 @@
|
|||||||
- 변경 후: 최소 단일 테스트(`--tests`) 또는 `./gradlew :app:test`를 실행하고 필요 시 `./gradlew :app:ktlintCheck`를 수행한다.
|
- 변경 후: 최소 단일 테스트(`--tests`) 또는 `./gradlew :app:test`를 실행하고 필요 시 `./gradlew :app:ktlintCheck`를 수행한다.
|
||||||
|
|
||||||
## 작업 계획 문서 규칙 (docs)
|
## 작업 계획 문서 규칙 (docs)
|
||||||
- 모든 작업 시작 전에 `docs` 폴더 아래 계획 문서를 먼저 생성하고, 해당 문서를 기준으로 구현한다.
|
- 모든 구현 작업은 PRD 문서와 구현 계획/TASK 문서가 모두 준비된 뒤에 시작한다.
|
||||||
- 연속된 하나의 작업이라면 별도 새 문서를 만들지 말고 기존 계획 문서에 추가 작업으로 이어서 기록한다.
|
- 사용자가 프롬프트를 입력하면 먼저 PRD 문서를 작성한다.
|
||||||
- 계획 문서 파일명은 `[날짜]_구현할내용한글.md` 형식을 사용한다.
|
- 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자리 숫자를 사용한다.
|
- 날짜는 `YYYYMMDD` 8자리 숫자를 사용한다.
|
||||||
|
- 연속된 하나의 작업이라면 별도 새 문서를 만들지 말고 기존 PRD와 계획/TASK 문서에 추가 작업으로 이어서 기록한다.
|
||||||
- 구현 항목은 기능/작업 단위 체크박스(`- [ ]`)로 작성하고 완료 즉시 `- [x]`로 갱신한다.
|
- 구현 항목은 기능/작업 단위 체크박스(`- [ ]`)로 작성하고 완료 즉시 `- [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