全面软件质量管理培训教材林锐博士(编辑修改稿)内容摘要:
弹发生故障等等。 这些事故的确不是危言耸听,给人们敲响了质量的警钟。 学术界总是喜欢宣扬质量至上的理念,而忽视企业的商业利益,将质量目标凌驾于商业目标之上。 我不能评判这种现象是好还是坏,但是的确误导了大量读者。 许多软件人员都有 “ 质量越高越好 ” 的观念,这是被教科书灌输的,而不是他自己领悟出来的。 我曾在著作 《 高质量程序设计指南 ——C++/C语言 》 中大肆宣扬了高质量程序设计的理念 , 力求使 C++程序达到 “ 零缺陷 ” 的质量目标。 尽管此书得到了许多程序员的赞同 , 但是我经过反思之后改变了质量观念 , 我要着重指出的是: 重视软件质量是应该的 , 但是 “ 质量越高越好 ” 并不是普适的真理。 只有极少数软件应该追求 “ 零缺陷 ” , 对绝大多数软件而言 , 商业目标决定了质量目标 , 而不该把质量目标凌驾于商业目标之上。 严格系统对质量的要求 航空航天等系统对质量要求极高 , 任何缺陷都有可能导致机毁人亡 , 所以人们不惜一切代价去消除缺陷。 在发射航天器之前 , 只要发现任何异常 , 就会立即取消发射指令 , 直到异常被消除为止。 前苏联做得最过分 , 许多重大武器系统的负责人都签了生死状 , 系统研制成功则获得英雄勋章, 失败则被枪毙。 在这种压力下没有人敢对质量有一丝松懈。 Page 14 3. 商业目标决定质量目标 普通商业软件:商业目标决定质量目标 上述严格系统毕竟是少数 , 绝大多数普通软件的缺陷并不会造成机毁人亡这样的重大损失 , 否则没有人敢从事软件开发了。 在日常工作中 , 我们接触过的软件几乎都是有缺陷的 , 即便是软件业老大 Microsoft, 它的软件产品也经常出错甚至导致死机 , 人们骂几句后还会照样使用有缺陷的软件。 企业的根本目标是为了获取尽可能多的利润 , 而不是生产完美无缺的产品。 如果企业销售出去的软件的质量比较差 , 轻则挨骂 , 重则被退货甚至被索赔 , 因此为了提高用户对产品的满意度 , 企业必须提高产品的质量。 但是企业不可能为了追求完美的质量而不惜一切代价 , 当企业为提高质量所付出的代价超过销售收益时 , 这个产品已经没有商业价值了 , 还不如不开发。 企业必须权衡质量 、 效率和成本 , 产品质量太低了或者太高了 , 都不利于企业获取利润。 企业理想的质量目标不是 “ 零缺陷 ” , 而是恰好让广大用户满意 , 并且将提高质量所付出的代价控制在预算之内。 Page 15 4. 质量保证能够保证质量吗 美丽的谎言 CMM对软件质量保证是这样描述的: – 软件质量保证 ( Quality Assurance) 的目的是为管理者提供有关软件过程和产品的适当的可视性。 它包括评审和审核软件产品及其活动 , 以验证其是否遵守既定的规程和标准 , 并向有关负责人汇报评审和审核的结果。 质量保证 ( Quality Assurance, QA) 是 CMM和 ISO9001最为推崇的改善软件质量的方法。 基于我亲身实践和调查研究 , 我敢冒天下之大不讳说一句: 质量保证并不能保证质量 , 它是个美丽的谎言。 简而言之,质量保证活动就是检查软件项目的 “ 工作过程和工作成果 ” 是否符合既定的规范。 如此简单的活动为什么被冠以 “ 质量保证 ” 这等份量的术语呢。 没有历史典故,经我考究,猜想是源于一个天真的假设: – 过程质量与产品质量存在某种程度的因果关系,通常“好的过程”产生“好的产品”,而“差的过程”将产生“差的产品”。 假设企业已经制定了软件过程规范,如果质量保证人员发现某些项目的“工作过程以及工作成果”不符合既定的规范,那么马上可以断定产品存在缺陷。 反之,如果质量保证人员没有发现不符合既定规范的东西,那么也可以断定产品是合格的。 符合既定规范的东西并不意味着质量一定合格,仅靠规范无法识别出产品中可能存在的大量缺陷(以高手与新手的设计、编程为例)。 质量保证的技术含量太低了,只能检查出肤浅的缺陷,不能对付有技术难度的缺陷。 所以单独的“ 质量保证 ” 其实并不能 “ 保证质量 ”。 Page 16 4. 质量保证能够保证质量吗 CMM3级企业 QA人员的迷惘( 摘录) 我很迷茫 , 很想找一个人聊聊 , 希望你能给我点主意 , 化解我心中的谜团。 昨天我们公司拿到了 CMM3的证书 , 但是我一点都高兴不起来。 公司宣称 , 我们的软件质量大大提高了 , 但是我却没有信心。 我们的过程执行得很好 , 但是我觉得并没有在很大程度上改善产品的质量。 今天还有一个项目经理跟我诉苦:前一阶段大家都忙于执行过程 , 但是他的产品质量令人很不满意 , 尤其是测试做的很不到位。 我是这个项目的 SQA, 所以我很理解他 , 但是我帮不上他的忙。 因为他们的过程执行得很好 , 这个项目可是通过 CMM3级正式评估了的。 当然 , 执行 CMM有不少好处 , 比如文档全面完整了 , 项目管理的可视性提高了。 但是对于我们公司而言 , 它并没有在根本上提高我们公司的软件能力。 比如概要设计 , 开发人员根本就不知道用来干吗的 , 怎么能指望他们写出高质量的概要设计说明书出来。 而在做技术评审的时候 , 他们很少能找出逻辑性的错误 , 只能发现一些诸如错别字之类的小错误。 我们几乎每一个配置项都要经过评审 , 但是大部分评审都只能发现一些无关痛痒的问题。 公司已经通过 CMM3级了 , 我认为过程执行得很好了 , 可是软件质量仍然比较差。 这是怎么回事啊 , 你觉得原因在哪里。 结论: 公司按照 CMM3级的要求执行,而且质量人员也认为执行过程符合既定的规范,但是软件产品的质量仍然低下。 所以说 “ 质量保证并不能保证质量 ” ,这句话一点都不过分。 质量保证对于保证质量而言只是必要的手段,而不是充分的手段。 Page 17 5. 质量人员的状况 郁闷 QA人员诉苦: 我现在觉得很郁闷 , CMM评估前还有目标 , 评估完了冷静下来却觉得效果很差 ,很没劲。 项目经理向我诉苦 , 他们过程执行的很好 , 但是对产品质量很不满意 , 我却无能为力 ,我这个 QA还有什么用处啊。 所以我现在干活没有动力 , 因为不能产生效益 , 做再多的工作也觉得是白干。 而且我现在手头有 5个项目要跟踪 , 还不包括一些整理培训记录的杂活 , 我觉得自己连工人也不如。 我有一些很好的想法却无处发挥 , 所以我很迷茫 , 很矛盾地考虑去留问题。 郁闷的滋味各色各样 , 只有正在郁闷的人感受最真切。 我发现在软件职业里 , 质量人员是最郁闷的一族。 郁闷的共同特征有: – ( 1) 在执行质量保证活动时 , 经常受别人的气 , 真是吃力不讨好。 – ( 2) 如果项目取得。全面软件质量管理培训教材林锐博士(编辑修改稿)
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。