我最近遇到一个项目,在该项目中,一个新的开发小组将针对早先的开发小组所开发的
求实现一个应用程序。这个新的开发小组一看到由3英寸活页纸订成的软件需求规格说明就
到十分恐惧,于是立刻编写代码。在构造软件的过程中,他们没有参考软件需求规格说明,
而是根据他们对预期系统的不完整且不正确的理解,按他们自己的想像进行编码设计。因此,
该项目遇到许多问题便不足为奇了。试图理解这个庞大的需求规格说明肯定会令人恐惧的,
况且需求规格说明有些部分可能还不完善,但忽略了需求规格说明必定会导致失败。
我知道一个十分成功的项目,在开发项目的过程中,开发人员列出了与特定代码版本相
对应的需求。项目的质量保证组通过对照需求来执行测试用例从而评价其对应的代码版本。
根据测试标准,如果不满足需求的话就算是一个错误。如果不满足的需求数量超过预先给定
的一个数字,或者特定的有重大影响的需求没有被满足,那么这个代码块就被拒绝了。这个
项目的成功之处在于把需求文档作为何时发行产品的基础。
一个软件开发项目最终可发行的是满足客户需求和期望的软件系统。需求是从产品概念
通向用户满意之路的最本质的一步。如果你不以高质量的需求作为项目规划、软件设计和系
统测试的基础,那么在试图开发优秀产品的过程中将浪费大量的人力和物力。
然而,也不要成为需求过程的奴隶。避免陷入畸形分析的陷阱,此时,开发小组将花费
大量的时间创建不必要的文档,并举行各种形式上的会议和评审,而并不编写任何软件代码,
这将会导致项目被取消。努力在精确的规格说明与可将产品失败的风险降至可接受程度的编
码之间做出明智的选择。
求实现一个应用程序。这个新的开发小组一看到由3英寸活页纸订成的软件需求规格说明就
到十分恐惧,于是立刻编写代码。在构造软件的过程中,他们没有参考软件需求规格说明,
而是根据他们对预期系统的不完整且不正确的理解,按他们自己的想像进行编码设计。因此,
该项目遇到许多问题便不足为奇了。试图理解这个庞大的需求规格说明肯定会令人恐惧的,
况且需求规格说明有些部分可能还不完善,但忽略了需求规格说明必定会导致失败。
我知道一个十分成功的项目,在开发项目的过程中,开发人员列出了与特定代码版本相
对应的需求。项目的质量保证组通过对照需求来执行测试用例从而评价其对应的代码版本。
根据测试标准,如果不满足需求的话就算是一个错误。如果不满足的需求数量超过预先给定
的一个数字,或者特定的有重大影响的需求没有被满足,那么这个代码块就被拒绝了。这个
项目的成功之处在于把需求文档作为何时发行产品的基础。
一个软件开发项目最终可发行的是满足客户需求和期望的软件系统。需求是从产品概念
通向用户满意之路的最本质的一步。如果你不以高质量的需求作为项目规划、软件设计和系
统测试的基础,那么在试图开发优秀产品的过程中将浪费大量的人力和物力。
然而,也不要成为需求过程的奴隶。避免陷入畸形分析的陷阱,此时,开发小组将花费
大量的时间创建不必要的文档,并举行各种形式上的会议和评审,而并不编写任何软件代码,
这将会导致项目被取消。努力在精确的规格说明与可将产品失败的风险降至可接受程度的编
码之间做出明智的选择。