软件质量保证(SQA)何去何从?

本文转载自http://www.itjj.net/pm/zhiliang/20070607/152793.html

 

软件质量保证(SQA)何去何从?

  1 引论
        在51CMM的质量保证论坛中,Robinzrb 的一帖 “做QA,并且感到郁闷的请进!”,引无数英雄竟折腰。这些英雄包括思想活跃的hjhza,乐于传道授业解惑的wtswts,喜欢指点江山激扬文字的vvvvvv……。为什么郁闷呢?还是先让我们来讨论一下QA的何去何从吧!
 
  2 QA的由来
       我们知道,国外很多的大公司,QA的职责就是测试(主要是系统测试),比如IBM、CA、PeopleSoft等。其实在最初,几乎所有的公司都是这样的。后来,由于缺乏有效的项目计划和项目管理,留给系统测试的时间很少(注:我以前做的一个项目,项目经理就明确告诉我系统测试就1天,没得商量)。另外,需求变化太快,没有完整的需求文档,测试人员就只能根据自己的想象来测试。这样一来,测试就很难保障产品的质量,事先预防的QA职能就应运而生。
 
  事先预防其实是借鉴了TQM的思想,而且也符合软件工程“缺陷越早发现越早修改越经济”的原则。这些思想的渊源还可以追溯到中国古代的典故中,比如曲突徙薪、扁鹊论医术等。特别是扁鹊论医术这个典故,我偶然在国外的一篇文章中看到了(后来在林锐的文章中也看到了),常感叹我们国人连祖先的思想文化遗产都丢的差不多了。
 
  3 QA的现在
       目前,实施CMM的企业越来越多了。CMM模型就要求建立QA角色。这里的QA类似于过程警察,主要职责是,检查开发和管理活动是否与已定的过程策略、标准和流程一致,检查工作产品是否遵循模板规定的内容和格式。在这些企业中,一般还要求QA独立于项目组,以保障评价的客观性。从国内来看,多数的QA没有技术背景,检查出的偏差多为鸡毛蒜皮,再加上自己没有令人信服的背景,领导也不支持,当然做起来就很困难了。
 
  缺乏信任和支持只是一个方面,QA工作本身就很具挑战性。它要求QA具有软件工程的知识、软件开发的知识、行业背景的知识、数理统计的知识、项目管理的知识、质量管理的知识等等。
 
  我们常常遇到这样的问题,改进到一定程度就很难突破,感觉心有余而力不足了,就开始郁闷了。后来通过学习、培训、交流,思想和技能得到升华,又发现了木桶中最短的那块,然后又开始改进,然后又遇到了玻璃天花板,然后……就这样处于郁闷的循环中。
 
  假使我们掌握了所有的知识,能突破所有的玻璃天花板,那是不是QA就可以一帆风顺了。答案是否定的。QA角色定义本身就有很大的局限性。QA充当的是过程警察的角色,无论是否有意义,都专横地强制过程的执行,容易在项目组中造成敌对的关系,受到排挤,而且这种警察的姿态也破坏了团队精神。如此一来,QA工作还需要的是人际关系技能,就如我以前写的《质量平衡》和《QA应该独立于项目组吗?》一样,艺术化地处理这种关系。
 
  4 QA的未来
       从某种程度上说,独立的QA审查机制是瀑布模型的产物。随着现代软件开发技术的演变,螺旋模型和迭代模型的兴起,QA机制正在悄然发生变化。这种变化就是从独立专职的QA向贯穿过程的兼职QA演变。在CMMI模型中,这种兼职的QA也是被允许的。为什么会发生这种改变呢?无论是XP、RUP还是其它先进的方法论,都是先产生架构,然后再增量开发,直到完成。这种模式中,需求和设计缺陷在各个迭代周期被所尽早发现和修复,质量也内建于架构和过程中,项目的成本和进度也得到保障。
 
  到那时,是不是独立的QA就不复存在了呢?有些成熟度较低的企业还是需要的,主要是保证过程执行的有效性和评价的客观性。
 
  《 质量平衡》前几日,我有幸听了唐骏①关于“成功软件企业的经营模式与文化”的演讲。在会上,他谈到中国目前靠软件盈利(一定规模)的企业最多不超过5家。这一结论深深地震撼了我。难道国内成千上万家软件企业都在亏损吗?而为什么亏损呢?我想,一个个的软件项目延期、超出预算、质量低下是亏损的原因,而最根本的不是技术问题,而是管理问题。质量管理也是很重要的方面。
 
  从理论来看,质量管理应该属于项目管理的一部分。我们在实际运作过程中也不要把项目管理和质量管理分离开来。有些项目经理认为“提高质量就意味着成本更高、延迟交付”,这是一个比较片面的观点。多数情况下,质量和进度不是矛盾和冤家,而是可以协调和统一的。举例来说,移动网管维护项目为完成一个约20人日的维护需求,在设计和编码阶段比计划多花了0.5人日,测试阶段就比计划少花了6.5人日完成。这说明质量不但提前了进度,而且降低了成本。在有些特殊情况下,比如规模较小、需求变化较快、进度较紧的项目,我们可以采取更为灵活、敏捷的开发方式,但是这些方式应该在不影响产品质量的前提下进行。
 
  然而,现实情况往往比较复杂,也许会存在质量与进度相对立的情况。在这种情况下,应该以公司的商业目标为基准,寻求质量、进度、成本三者之间的平衡。而如何寻找平衡点呢?由于项目相关者(包括公司、部门经理、项目经理、员工、客户等)对质量利益(包括短期利益和长期利益)的获得不同以及质量观念的差异,存在不同的平衡点,从而引起质量方面的纷争和抵触。为了协调项目相关者的这种矛盾,责权利最大的一方(一般是公司)应该起到关键的作用。一方面要解决质量观念差异的问题,最好通过自上而下的教育、培训。为什么需要自上而下呢?经验告诉我们,公司领导学好了质量管理方法,才能采用正确的质量管理方案,才能有更强的执行力,才能选用合格的质量人员,才能看得到比较明显的质量改善效果,才能形成良性循环。另一方面,就是授权相关人员进行监督,控制平衡点移动到最佳位置。一般情况下,公司的质量管理员应该担当这种责任,但领导需要授予他们相应的权利。在企业中,责任和权利是成正比的。如果质量管理员的地位无足轻重,那么必然导致产品质量无足轻重。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值