原子需求的属性

现在让我们看一下完整、规范化的原子需求是怎样构成的。在我们处理构成一项需求的每个部分时,可考虑如何发现它,它如何适用于你的项目。

需求编号

每项需求必须有唯一的标识。原因很简单:需求在产品开发过程中必须是可追踪的,所以给每项需求一个唯一的编号是合理的。如何唯一地指定需求并不重要,只要用某种方式完成就行。

需求类型

以下几点说明了给需求附上类型是有用的。

可以根据其类型来分类。通过比较一个类型的所有需求,更容易发现互相冲突的需求。

理解了需求的类型,更容易写出适当的验收标准。

通过按类型对已知的需求分组,重复的需求或遗漏的需求就更明显了。

将需求按类型分组也有助于让利益相关者参与。例如,可以很容易地确定出所有的安全需求,将它们交给安全专家复查。

事件/用例编号

使用业务事件作为划分工具,工作上下文范围被分解为一些小块。工作对每个业务事件的响应就是业务用例(BUC)。如果你决定了业务用例的哪部分由产品来处理,那就是产品用例(PUC)。

为了方便引用,所有这些都有标识符,通常就是一个数字。你可以针对任何部分来编写原子需求,但通常业务分析师针对BUC编写需求。不论针对哪个层面来编写需求,你都应该提供标识符。事件/BUC/PUC#让你和所有人能从原子需求回溯到它的群组。

回溯是有用的,但能够针对一个BUC汇集整套需求更有用。这让你能验证这个BUC的所有需求是否已经编写。并且,假定你一次实现一个BUC,这让开发者更清楚地看到需要完成的任务。

描述

描述是该项需求的意图。它是一句英语(或你使用的自然语言)句子,用利益相关者的词汇说明他们想要的是什么。不必太关注它是否有二义性,但也不应太随意地使用自己的语言。验收标准将确定这项需求的准确含义,让它可测试。写下描述的目的是记录利益相关者的意愿。所以就目前来说,描述只要清楚到你和利益相关者能明白就行了。

理由

理由是需求存在的原因。它解释了为什么该需求是重要的,该需求对产品的目标作出了什么贡献。为需求加上理由有助于你和利益相关者理解需求真正的要求。理由指出了需求的重要性,告诉开发者和测试者要花多少工作来开发和测试它。

在用户故事(故事卡片)中,理由是故事的"以便能实现......"部分。我们强烈建议你总是包含理由,只有在最迟钝的人都很清楚需要这项需求时才省略理由。

来源

来源是首次提出该需求的人,或者要求该需求的人。你应该为需求附上提出者的姓名或首写字母,以防有问题或需要澄清,或者该需求与另一项需求发生冲突。如果它被质量关拒绝,这也有用。需求提出者必须拥有适合该类需求的知识和职权。

相关推荐
AIFQuant5 小时前
ETF行情API接入踩坑记:从报错到跑通的七个问题
python·金融·区块链·etf·基金
GPU实战笔记7 小时前
云端 Python 开发:JupyterLab 还是 VS Code Remote-SSH?
python·vs code·jupyterlab·remote-ssh·远程开发
狗狗狗狗狗乐啊7 小时前
搭一个 AI 对话工作台 AChat:从 0 到可用的完整记录(一)
python·react.js·ai编程
白猫不黑8 小时前
Python实现简易Web弱口令爆破与防护方案
python·web安全·计算机·网络安全·黑客·信息安全·渗透测试
kuuailetianzi8 小时前
Python初识:定位、优势与发展历程
python
guoran_shini8 小时前
LLM微调-训练垂类问答模型
python·lora·sft
basketball6168 小时前
Python FastAPI 介绍以及常用方法
python·fastapi·vllm·ai infra
论文复现现场9 小时前
企业知识库 RAG 用什么模型便宜?GLM-5.3-Flash 长文本 API 实测
python·rag·企业知识库·大模型api·glm-5.3-flash
梦在远山后9 小时前
从手写 Loop 到可恢复 Runtime:用 LangGraph、PostgreSQL Checkpoint 与 AG-UI 跑通中断恢复
python·langchain·agent
Yolanda_20229 小时前
8.tensorboard的使用
python