是什么品质使它如此出色,与您必须处理的不太出色的规格相比,是什么让它脱颖而出?或者,如果您以前从未使用过一个好的功能规范,那么您希望在一个出色的规范中会发生什么样的事情?
抱歉,这显然是主观的,但我正在创建一个功能规范(不是我的第一个),我突然想到我可能会从 SO 上的聪明人那里得到一些好主意!
是什么品质使它如此出色,与您必须处理的不太出色的规格相比,是什么让它脱颖而出?或者,如果您以前从未使用过一个好的功能规范,那么您希望在一个出色的规范中会发生什么样的事情?
抱歉,这显然是主观的,但我正在创建一个功能规范(不是我的第一个),我突然想到我可能会从 SO 上的聪明人那里得到一些好主意!
Joel on Software的Aardvark 项目 规范是我迄今为止遇到的最好的。每个屏幕都定义得很好,有图片。描述了该软件的主要功能以及一些技术细节。
可悲的是,我个人收到的规格并不是那么出色。通常,它们只是他们期望从系统的每个部分获得的功能的项目符号列表,并且他们期望您解决所有细节。我猜这很好。但是,我正在为我作为个人项目工作的 RPG 游戏编写游戏设计文档,并且我认为我正在编写的规范写得非常好。我已将游戏分为多个部分,例如
等等,并从游戏玩法以及一些技术细节方面描述了每个部分。它很容易解决。
我还强烈建议任何有兴趣编写更好规范的人阅读 Joel 关于软件的无痛功能规范系列。
恕我直言,一个关键质量应该是功能规范详细指定“什么”而不是“如何”。这样一来,请求者(营销人员?)就可以获得他们想要的外观和感觉以及功能集,但实现留给最了解它的人——开发人员。
显然,规范应该是完整的、一致的和可理解的。IMO 它也应该组织良好,因为它将产品特定部分的所有要求放在一起。我不止一次阅读过规范,其中某些模块的要求分散在整个文档中,例如,一般描述在第 4 章,但其他要求可以在第 2、5、7 章和附录 B 的条款中找到。这样的规范,我首先必须创建一个模块需求的交叉引用映射。
一个好的规范应该清楚地说明应用程序应该做什么。
这似乎很明显,但我通常得到的东西往往很模糊。显然,人们在纸上表达他们想要的东西并不容易,如果他们甚至知道他们想要什么的话。