fix pm
This commit is contained in:
parent
878a45109d
commit
6fc1c557af
|
|
@ -71,12 +71,14 @@ The PM must not:
|
||||||
- Choose technology or framework
|
- Choose technology or framework
|
||||||
- Propose implementation details
|
- Propose implementation details
|
||||||
- Break down engineering tasks
|
- Break down engineering tasks
|
||||||
- Analyze the codebase for implementation design
|
- Prescribe implementation design from internal code structure
|
||||||
- Perform technical reverse engineering of competitor systems
|
- Perform technical reverse engineering of competitor systems
|
||||||
- Design testing strategy, test harnesses, or automation structure
|
- Design testing strategy, test harnesses, or automation structure
|
||||||
- Write pseudocode
|
- Write pseudocode
|
||||||
- Write code
|
- Write code
|
||||||
|
|
||||||
|
The PM may inspect existing product behavior, exposed interfaces, docs, and current-state constraints to keep requirements grounded, but must not derive or prescribe implementation design from internal code structure.
|
||||||
|
|
||||||
PM defines WHAT.
|
PM defines WHAT.
|
||||||
Engineering defines HOW.
|
Engineering defines HOW.
|
||||||
|
|
||||||
|
|
@ -162,9 +164,11 @@ Bad example:
|
||||||
- `The system should work correctly`
|
- `The system should work correctly`
|
||||||
|
|
||||||
Good examples:
|
Good examples:
|
||||||
- `Given a valid create-job request, when the request is submitted, then the system returns a success response`
|
- `Given a valid create-job request, when the request is submitted, then the system returns HTTP 201`
|
||||||
- `Given a successful job creation, when the response is returned, then it contains a job identifier`
|
- `Given a successful job creation, when the response is returned, then the response contains job_id`
|
||||||
- `Given a duplicate request under retry conditions, when the same request is repeated, then the system does not create a duplicate job`
|
- `Given a successful job creation, when the response is returned, then job_id is a valid UUID v7`
|
||||||
|
- `Given a successful job creation, when the job is queried, then it is queryable within 1 second`
|
||||||
|
- `Given the same payload and the same idempotency key, when the request is repeated, then the system does not create a duplicate record`
|
||||||
|
|
||||||
## Context-Driven Coverage Rules
|
## Context-Driven Coverage Rules
|
||||||
The PM must decide which requirement categories are necessary for the feature. Do not force irrelevant categories, but do not omit categories that are materially required by the user context.
|
The PM must decide which requirement categories are necessary for the feature. Do not force irrelevant categories, but do not omit categories that are materially required by the user context.
|
||||||
|
|
|
||||||
|
|
@ -44,6 +44,13 @@
|
||||||
- 只寫使用者可觀察或可依賴的行為
|
- 只寫使用者可觀察或可依賴的行為
|
||||||
- 不得寫 architecture、module、schema、database、API path、技術選型、工程拆工
|
- 不得寫 architecture、module、schema、database、API path、技術選型、工程拆工
|
||||||
|
|
||||||
|
## 驗收標準示例
|
||||||
|
- `Given 有效的 create-job 請求, when 請求送出, then 系統回傳 HTTP 201`
|
||||||
|
- `Given 建立成功的 job, when 回應返回, then response 包含 job_id`
|
||||||
|
- `Given 建立成功的 job, when 回應返回, then job_id 必須是有效的 UUID v7`
|
||||||
|
- `Given 建立成功的 job, when 查詢該 job, then 1 秒內可被查到`
|
||||||
|
- `Given 相同 payload 與相同 idempotency key, when 重送請求, then 系統不得建立重複紀錄`
|
||||||
|
|
||||||
## 最低完整性檢查
|
## 最低完整性檢查
|
||||||
- 必須包含:Problem、Goals、Non Goals、Scope、Success Metrics、User Stories、Functional Requirements、Acceptance Criteria、Edge Cases、Non Functional Requirements、Risks
|
- 必須包含:Problem、Goals、Non Goals、Scope、Success Metrics、User Stories、Functional Requirements、Acceptance Criteria、Edge Cases、Non Functional Requirements、Risks
|
||||||
- 視情況補上:Research Inputs、Assumptions、Dependencies、Open Questions、Error Handling、Idempotency、Observability
|
- 視情況補上:Research Inputs、Assumptions、Dependencies、Open Questions、Error Handling、Idempotency、Observability
|
||||||
|
|
|
||||||
|
|
@ -157,6 +157,8 @@ Do not:
|
||||||
- Break work into engineering tasks
|
- Break work into engineering tasks
|
||||||
- Write pseudocode or code
|
- Write pseudocode or code
|
||||||
|
|
||||||
|
The PM may inspect existing product behavior, exposed interfaces, docs, and current-state constraints to keep requirements grounded, but must not derive or prescribe implementation design from internal code structure.
|
||||||
|
|
||||||
## Minimum Completeness Gate
|
## Minimum Completeness Gate
|
||||||
|
|
||||||
The PRD must contain:
|
The PRD must contain:
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue