Files
ks-prd-draft/references/prd-draft-document-spec.md
2026-05-14 12:31:10 +08:00

7.3 KiB
Raw Blame History

PRD 草案文档规范

适用范围

  • 创建、修改或检查任意项目的 PRD、需求草案、产品需求、业务规则文档时遵守本文件。
  • 本文件是通用兜底规范;如果项目已有更具体的需求模板、命名规则或文档结构,优先沿用项目规范。
  • 本文件只约束需求草案阶段不替代数据模型、API 设计、技术方案、任务拆解或代码实现规范。
  • 需求草案只整理业务目标、规则、数据、边界和闭环,不设计下游实现。

阶段

  • 需求草案阶段:收集和归并已确认需求;未确认项显式标注 需补待确认;不要求同步修改代码和下游文档。
  • 可进入下一阶段需求草案已稳定阻塞问题已消除可作为后续数据、API、设计或实现工作的输入。
  • 归档阶段:需求已经确认并沉淀;新增需求或未确认变更应回到需求草案阶段处理。
  • 如果项目使用不同阶段名称,保留项目名称,但仍遵守本文件的阶段边界。

文档结构

  • 文档路径和文件名优先沿用项目既有约定;没有约定时,由用户确认目标路径。
  • 一个需求文档应描述一个清晰业务主题;主题过宽时先建议拆分。
  • 标题、元信息、章节结构优先沿用项目模板;没有模板时,可使用 prd-draft-format-template.md 的通用骨架。
  • 不为了套模板创建空章节、空表格、伪造对象或重复内容。
  • 不把同一批数据项、规则或流程在多个章节中重复抄写。
  • 未确认事项必须保留在相关需求语境中,标记为 需补待确认

需求表达

  • 用业务语言描述需求:目标、参与方、触发条件、输入、处理规则、输出、状态、边界、异常、权限和生命周期。
  • 用户用实现语言表达时,转译为业务需求:
    • 表、字段、列、属性、model、struct 转为业务数据对象和数据项。
    • API、Service、任务、队列、缓存、页面组件 转为业务能力、流程、交互、集成或展示需求。
    • 索引、唯一约束、字段类型、请求响应结构 转为业务唯一性、校验规则、数据含义或交互约束。
  • 如果某个技术名词本身就是项目通用业务术语,可以保留术语,但不要扩展成实现设计。
  • 备选方案只能写成备选或待确认,不写成已确认结论。

数据表达

  • 涉及保存、维护、读取、展示、统计或传递的数据时,必须说明数据的业务含义、来源、生成方式、更新时机和使用场景。
  • 数据项统一表达为业务数据项不写数据库字段类型、ORM 类型、索引、迁移脚本或存储结构。
  • 多值、多对多、明细记录、操作记录、绑定关系等独立存在的数据,应识别为独立业务对象或独立业务记录,不塞进主对象的单个数据项里。
  • “唯一”只能表达为业务唯一性要求,不写索引、约束或数据库实现方式。
  • 值域、状态、类型、来源、等级等要说明业务含义、可见范围、是否参与流程分支和状态流转。

既有资产

  • 需求涉及既有业务对象、数据、页面、权限、状态、集成、模块复用或“新增 xxx 功能”时,必须先检查项目已有文档和事实来源。
  • 如果复用既有承载,在需求中写明 复用既有 <业务对象/流程/页面/模块/集成>
  • 如果无法确认是否复用,写明 待确认:是否复用 <候选承载>
  • 只有确认没有合理既有承载,或用户明确确认不存在可复用承载时,才写成创建新的业务对象、流程、页面或集成能力。
  • 与既有文档、实现、术语、权限或业务规则冲突的需求,必须先提示冲突,不得写成确定结论。

检查口径

检查 PRD draft 时至少覆盖:

  • 完整性:目标、范围、参与方、触发、输入、处理、输出、权限、边界、异常、状态和生命周期是否齐全。
  • 闭环:用户或系统从触发到结果是否能走通;成功、失败、取消、重复、历史数据和异常中断是否有合理结果。
  • 数据:业务数据对象、数据项、来源、生成规则、使用场景、值域和状态是否完整。
  • 合理性:是否符合主流产品习惯、正规业务流程、行业常识、权限常识和最小必要复杂度。
  • 复用:是否已检查既有资产,是否误写成新增表、新增接口、新增页面或新增模块。
  • 边界:是否遗漏空数据、重复提交、并发、撤销、回退、历史兼容、不可见、无权限和生命周期结束场景。
  • 未确认项:是否还存在阻塞进入下一阶段的 需补待确认、事实冲突或未闭环事项。
  • 越界项:是否混入 API 路径、请求响应结构、SQL、字段类型、类名、文件结构、任务拆解或代码实现。

问题分级

  • 阻塞问题:不解决就无法进入下一阶段,例如核心目标不清、关键流程断裂、权限或数据规则冲突、事实来源冲突。
  • 建议修正:不一定阻塞,但会导致误解、返工或不符合主流做法,例如命名不清、边界缺失、重复表达、复杂度过高。
  • 可后续确认:不影响当前主链路,但后续设计或实现前需要补齐,例如提示文案、排序细节、默认展示数量。

检查输出格式

  • 检查中一旦识别出真实问题、闭环缺口、业务 bug 风险、事实冲突或明显不合理点,不只指出问题,还要同步给出修正路径。
  • 阻塞问题建议修正 中的每一个问题,必须提供恰好 3 个可执行方案,不能只给 1 个,也不能只说“可进一步讨论”。
  • 每个问题的输出至少包含:
    • 问题描述:当前问题是什么。
    • 影响说明:为什么它会阻塞、返工或产生业务风险。
    • 方案 A / 方案 B / 方案 C三个彼此可区分的处理方案。
    • AI 推荐最优方案:明确只选一个最优方案。
    • 推荐理由:说明为什么这个方案在当前上下文下最优,以及主要前提和取舍。
  • 可后续确认 如果本身已经形成明确决策分叉,也按同样格式提供 3 个方案和 AI 推荐;如果只是信息待补,不强制展开 3 个方案,但要说明影响和最晚确认时点。
  • 除非用户明确要求“只列问题不要给方案”,否则检查输出不得只报问题不报方案。

禁止事项

  • 禁止修改代码、测试、配置、数据库迁移、构建脚本、部署文件或生成物。
  • 禁止在需求草案阶段写数据模型、API 文档、技术设计、实现计划或任务拆解,除非用户明确切换阶段。
  • 禁止写 API path、HTTP method、鉴权实现、request/response schema。
  • 禁止写 SQL DDL、字段类型、索引、唯一约束、迁移脚本。
  • 禁止写类名、struct、component、router、service、job、queue、cache 或文件结构设计。
  • 禁止为了套模板编造业务对象、数据项、字段清单、状态值、字典值或空章节。
  • 禁止把未确认事项写成确定结论。
  • 禁止把用户的功能需求在未检查既有资产前直接推导为新建表、新增接口、新建页面或新模块。

模板

创建新文档、重建正文结构或需要参考需求项写法时,读取 prd-draft-format-template.md