【SQA】SQA如何解决软件质量问题
关键词:SQA
导语:在我们的生活中,对于质量的要求不仅仅局限于吃穿用的物品上,在计算机、互联网技术发展如此迅速的今天,我们是不是也该关注下计算机软件的质量情况呢?
在经济全球化发展的今天,人类逐步走入了信息化的时代,生活也被各式各样的高科技产品充斥着。在提高生活质量的同时,人们对于产品的要求也越来越高,可谓在现实和精神上都得到了全面的提高,真正意识到了质量的重要性。在我们的生活中,对于质量的要求不仅仅局限于吃穿用度的物品上,在计算机、互联网技术发展如此迅速的今天,我们是不是也该关注下计算机软件的质量情况呢?计算机应用领域日益庞大和复杂,人们却忽视了对软件质量管理的重视,便出现了软件质量下降、成本难于控制、软件进度无法完成、软件的可维护性差等问题。因此,人们引入了软件质量保证(即SQA)理论,在开发过程中对软件进行质量管理。
软件质量保证(即SQA——Software Quality Assurance),是贯穿整个软件过程的第三方独立审查活动,出现在大多数关键过程域的检查与验证的公共特性中,在整个软件开发过程中充当重要角色。软件质量的管理主要来自于对软件开发过程的管理。传统的观点认为软件产品的质量主要取决于软件产品的测试和确认,而忽视对软件开发过程的重视。但正确的认识是软件质量来自于正确的软件设计和正确的实现过程,而不是靠对软件产品的保证和测试。因此软件质量的提高依靠软件质量管理水平的不断提高。SQA的目标是以独立审查方式,从第三方的角度监控软件开发任务的执行,就软件项目是否正遵循已制定的计划、标准和规程给开发人员和管理层提供反映产品和过程质量的信息和数据,提高项目透明度,同时辅助软件工程组取得高质量的软件产品。
SQA可以参与软件开发过程,改善质量,反馈工作中遇到的问题。主要从以下几方面来进行开发过程质量管理。
一.协助项目经理定义项目开发过程和项目目标
我们知道项目策划的好坏是项目成功的关键,而策划的首要工作是先制定项目的开发过程,明确项目的规范和标准,这时SQA可以根据检查众多项目的实践经验协助项目经理裁剪组织标准软件过程,形成项目定义软件过程。SQA作为质量保证体系中的一员,了解组织的目标,了解所负责业务的项目过程平均数据和产品平均数据以及偏差范围,有的公司SQA还担当客户质量的窗口,所以SQA也了解客户的目标,因此在项目策划的时候SQA往往需要协助项目经理制定项目的各项目标。
二.SQA计划
SQA的工作是一个有计划性的工作,SQA的检查和审计贯穿了项目开发的全过程,从项目立项到项目结束各个过程或活动都要进行监控,为了保证SQA工作的实施必须先制定SQA计划并得到项目经理的评审。
三.参与质量改善
SQA有机会直接接触各个项目,同时参加管理者的评审会议,甚至还能直接接触到客户的反馈和抱怨,能够从各个项目的优缺点中发现各个过程好的工作方法,协助改善项目及组织的开发过程,丰富过程财富。 同时SQA会把各类客户好的方法和习惯在项目间传播,这对改善企业的质量文化意识起到很好的催化作用。
四.SQA人员的素质要求
SQA人员要很深刻地了解软件开发过程,特别是组织的标准软件开发过程,了解组织的 目标和各类相关的数据如何运用,了解统计过程控制方法,给项目以指导,为项目组增加价值,获得项目的认可、管理者的认可。另一方面,要有很强的沟通能力,需要和项目经理、开发人员保持很好的沟通,要营造良 好的气氛,避免和项目组成员的正面冲突, 对于不能按照规范执行的项目首先要分析原因,要从其他的渠道进行舒缓,讲清楚按照规范作的重要性,抓住问题的重点和本质,放弃细小的问题。
通过以上分析,我们首先要明确一点:软件质量的管理主要是对软件开发过程的管理。不同的思想方法决定不同的开发方法及最终产品的结构、特性等。目前国外的很多软件开发企业,对软件开发的管理已经成熟,相对而言,国内的软件开发行业对软件开发的管理始终处于比较低的水平。我们应该突破陈旧的思想观念,对软件开发过程管理的思想予以高度重视,早日走上软件强国之路。