TA的每日心情 | 郁闷 2018-8-3 13:59 |
---|
签到天数: 12 天 连续签到: 1 天 [LV.3]测试连长
|
浅谈项目中的质量管理
提起软件质量管理,人们更多地会想起ISO9001、CMM、CMMI这些“质量管理圣经”。但国内一些企业做了这么多年的质量认证,却没有使软件质量有大幅度地提高。并且更多的中小企业,他们本身就没能力去做这些认证.实际上,即使通过ISO9001、CMM、CMMI等质量认证的企业,其目的不是为了提高质量,而是为了跟风,为了向客户展示证书。
在这样的一个大环境下,我们怎样来做好项目中的质量管理呢?
我认为至少做到”一个中心,三个做到”.那就是以产品质量为中心,做到产品部、研发部、测试部和项目管理部良好的沟通与协作;做到建立一套适合公司质量管理体系的规范与流程;做到项目中的每一个细节都要有相关记录。我是这样来诠释”一个中心,三个做到”的,那就是我眼中所看到的一个理想的质量管理的过程:一个项目的开始,由产品部调查采集需求,并提交最终的需求说明文档;由项目管理部门对该需求说明文档进行评审,组织研发部和测试部对需求进行详细的分析和测试,并开始对该需求进行需求变更管理;然后是研发部和测试部完成研发和测试工作,项目管理部在此过程进行进步的跟踪和质量的监控;最后是以上各部门对研发完的产品进行最后的评审,看产品质量是否达到发布的标准.在这个过程中,充分发挥了各部门的职能,体现了团队的协作关系,重视项目管理的规范性和流程性,形成了一套自己的产品质量的标准,并把整个过程以文档的形式记录在案.使整个软件过程可管理、可控制和可视化.
医学上讲对症下药,我认为软件的质量管理也要对症下药,容易出现问题的地方就是我们要加强管理的地方。以我多年的测试经验和目前公司的现状,我认为要加强以下方面的管理:
需求管理:
据统计,一个产品有30%的错误是由需求直接引起的,主要是因为需求不能真实的反映用户的需要引起的,同时还有需求文档本身的错误引起的;有高达70%的错误是与需求有间接关系的,主要体现在开发人员对需求的理解错误或偏差,没有严格按照需求文档进行设计,其中需求变更是存在风险最大的地方。
我认为需求和软件是”母子”的关系,先有需求后有软件.一个优秀的产品质量必须有一个好的需求管理,如果需求管理做的不好,软件就好比一个”孤儿”,没有”母爱”,它能”健康成长”吗?需求是一种约束,它明确了必须做到什么,同时也暗含了必须不能做什么,需求可以很好的帮助开发人员记住并理解这些”必须做到”和”必须不能做”的事情.同时,需求管理可以很好的记录下软件过程的需求变更,使每一次变更都有据可查.可以说软件的可管理性主要体现在需求的可管理性上.需求管理可以借助一些需求管理工具,如ERS等。
配置管理:
软件过程中的变更是不可避免的,配置管理的目标就是控制这些变更,确保变更正确实现并向其他有关人员报告变更。另外,配置管理还对软件过程的相关文档进行管理,这些文档包括内部文档和外部文档。内部文档包括:项目开发计划、需求分析、详细设计说明、构件接口及调用说明、组件接口及调用说明、类索引、类属性及方法说明、测试报告、源代码、文档分类版本索引、软件安装打包文件等;外部文档主要包括:软件安装手册、软件操作手册、在线帮助、系统性能指标报告、用户使用手册等。
内部文档为软件开发和测试提供了技术支持和依据,记录了软件的整个过程;外部文档作为产品的一部分提交给用户,帮助用户理解、安装和使用系统。在配置管理中,版本控制是存在风险最大的地方,如果出现问题,将会造成不可估量的损失。常用的配置管理工具,如VSS、CVS等。
规范和流程
规范和流程是保证项目成功的一个最关键因素。一个技术实力强大的团队再加上一个良好的规范和流程,才能最大限度地保证项目的成功。流程强调软件过程中行为的过程和顺序,规范强调的是软件行为的规范性及团队行为和个人行为的规范性。
举一个简单的例子,测试过程中有一个流程叫测试启动标准,是说当开发完成编码之后,必须自己先经过测试,保证其主要的功能点正常,方可提交到测试部进行测试。因为一旦开始测试,就随之生成了测试成本,如果再因为一些重要功能错误导致测试无法进行下去,那么就造成了测试成本的浪费,所以制定了测试启动标准,尽量避免反复提交测试。规范和流程是根据公司的实际情况制定的,强调的是可执行性。
团队精神和培训
软件公司以人力为根本,一个项目少则几个人,多则十余人,团队合作精神显得优为重要。团队合作精神其本质就是要求员工之间的互相协调和理解,用团队的力量去克服困难。项目中每个人都有着自己的任务,但由于每个人经验的多少,技术水平的高低,导致了做出来的产品质量的差距,所以技术培训也应该是保证软件质量的一个重要环节。
总之,项目的质量管理是一个广泛而又复杂的过程,除以上谈到的几点,还有很多其他方面的因素,如项目计划、项目方案和项目风险分析等。一个成熟的质量管理不单单是提高软件的质量,它还能大大的节约软件开发成本,避免成本浪费;一个成熟的质量管理使整个软件过程具有可控制可视性,可以规避很多风险;一个成熟的质量管理最终可以增加产品的竞争力。
21世纪什么最重要----人才;21世纪软件行业什么最重要----质量。让我们做一个懂质量,重视质量,切实维护质量的“质量型”人才。 |
|