在软件/硬件产品研发过程中,质量检查是必不可少的环节。从形式上看,质量检查有评审,也有质量人员/质量保证人员(QA)的专项检查;从内容上看,质量检查分成产品完成状态和格式检查以及产品内容检查。
产品完成状态和格式的检查是确保产品按照计划节点和规定的格式完成,产品内容的检查则是确保产品的内容是否恰当、精确,是否充分达到了项目要求的目标。
如果用语言的概念来表述,前者关乎语法,后者关乎语义。
我们的软件工作产品也都是可以看作由语法和语义构成的:比如需求规格说明文档的语法是GJB438B规定的编写要求、文档结构;而它的语义是软件的功能、接口得到准确的定义,非功能性需求被分配到软件功能/子功能,所有的用户需求都被分析和追溯。
我们都知道这样一个事实:一个只知道几个简单的英文单词的人,也可以与母语是英语语种的人沟通。所以,语义远比语法更为重要。同理,质量检查也必须是内容重于形式。
不关心语义,只关心交付物的句法纯粹就是舍本逐末。
所以,如果我们对一份需求规格说明文档进行质量检查,仅仅指出是否与GJB438B的编写要求或者文档模板是否相符,或者标点符号、错别字以及格式错误,却没有指出需求定义是否准确、是否可测试,有无遗漏的用户需求等内容上的问题,那就是错误的质量检查。
这种错误的质量检查甚至还不如不做,因为它给人传递了一种错误的认知——需求规格说明文档通过了质量检查,它的质量值得信任,而实际上需求规格说明中的很多问题没有被发现,而这些问题会在后面的测试阶段大爆发,给软件的进度和成本带来巨大的影响。
可叹,这种错误的质量检查在实施GJB5000的组织中也仍然很是普遍。
造成这种现象可能有以下几个原因:
不是我的职责
做质量检查的人不是这个项目的重要利益相关方,他们对于仔细研读和评审这个项目的产品压根没有兴趣。因此,他们不会那么用心,只是随意翻阅下工作产品,凭借经验提出那么一两条浅显的形式上的问题就可以交差了。
不具备检查能力
有些执行质量检查的人虽然是项目的利益相关方,但他们并没有接受相关质量检查的培训,又或者缺乏领域知识和经验。因此,他们只能找出诸如文档的标题和编号方式、空白行等语法方面的问题。
不适合的检查要求
在很多组织里,对于QA的工作不够重视,是被安排做这项工作的人并不是需求、设计、编程、测试或者系统开发其他任何方面的专家,他们只是“QA人士”,只要求他们使规定好的检查单去检查文档,然后在不去理解文档含义的情况下对着检查条目打勾。这些组织对于QA的职责要求也不会太高,就是检查文档的完备性、一致性以及格式正确性。
所以,我们要杜绝错误的质量检查,就要选择合适的人负责质量检查,在规章制度上也要明确检查内容重于形式。
这正是:
形式检查可以有,但它不能宾夺主
质量检查看内容,形式只能打辅助
参考书目:项目百态:深入理解软件项目行为模式,作者:(美)Tom DeMarco等,译者:金明,出版社:人民邮电出版社
联系客服