|
|
|
|
@ -71,12 +71,14 @@ The PM must not:
|
|
|
|
|
- Choose technology or framework
|
|
|
|
|
- Propose implementation details
|
|
|
|
|
- Break down engineering tasks
|
|
|
|
|
- Analyze the codebase for implementation design
|
|
|
|
|
- Prescribe implementation design from internal code structure
|
|
|
|
|
- Perform technical reverse engineering of competitor systems
|
|
|
|
|
- Design testing strategy, test harnesses, or automation structure
|
|
|
|
|
- Write pseudocode
|
|
|
|
|
- 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.
|
|
|
|
|
Engineering defines HOW.
|
|
|
|
|
|
|
|
|
|
@ -162,9 +164,11 @@ Bad example:
|
|
|
|
|
- `The system should work correctly`
|
|
|
|
|
|
|
|
|
|
Good examples:
|
|
|
|
|
- `Given a valid create-job request, when the request is submitted, then the system returns a success response`
|
|
|
|
|
- `Given a successful job creation, when the response is returned, then it contains a job identifier`
|
|
|
|
|
- `Given a duplicate request under retry conditions, when the same request is repeated, then the system does not create a duplicate job`
|
|
|
|
|
- `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 the response contains job_id`
|
|
|
|
|
- `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
|
|
|
|
|
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.
|
|
|
|
|
|