天天看点

需求标准化的建议与实践

在进行软件造价评估的过程中,我们经常被问到关于需求的问题。例如:如何借助功能点分析(FPA)的技术,来提升需求的质量,以引导开发团队关注于价值交付?又例如:如何写需求文档才能以体现出真实的工作量?以确保开发方的利益?

需求文档的重要性

  在《敏捷宣言》里有一句:工作的软件胜于详尽的文档(working software over comprehensive documentation)。

  这句话的含义不是“文档可有可无”,而是不要求详尽和形式主义,但是一定要高质量。中外的软件工程专家普遍认为:没有高质量的需求文档,几乎无法做出“可工作”的软件。

  国标《软件工程 软件开发成本度量规范》以及具体的实践,都是要求将需求文档作为工作基础。高质量的需求文档是准确度量软件规模、评估造价的保障。

  提升需求的质量,较好的实践就是进行标准化。

什么是需求标准化?

标记需求标准化是组织的一种改进——团队成员在写需求文档过程中遵守一套规则,无论是需求规格、业务需求、用例、故事、图表、流程图,都不会特别“个性化”,而是遵守一致的写作风格。最后输出的文档是“同质”的。

  这里的同质(homogenous),是一个生物学术语。

  其效果就是:有很多人来合作写一个产品(项目)的需求文档,最后的产出物可以形成“有机”、“不排斥”的整体,就像是一个人写的。

  需求的标准化,类似于开发组织搞的“代码标准化”。团队约定一些标准化的规则,例如:命名不带_字符的变量,数据私有化,代码注释包含什么内容。

  我们推荐的需求标准化:

需求标准化的建议与实践

高质量需求的示例

1.1 居民信息维护

  功能描述:对居民信息进行维护,进行增、删、改、查。本期项目是在原有“居民信息”的基础上增加3个字段。

1.1.1用户:

需求标准化的建议与实践

1.1.2功能类型:

需求标准化的建议与实践

1.1.3 功能操作流程(功能详情):

需求标准化的建议与实践

1.2 居民上报体温监测情况

  功能描述:居民在“小程序”上报当天体温自测的情况

1.2.1用户:

需求标准化的建议与实践

1.2.2功能类型:

1.2.3 功能操作流程(功能详情):