浅谈如何提高软件项目产品的质量
在考虑如何提高产品质量前,我们需要明白什么是产品的质量,对于很多从事软件开发或者互联网开发的工程师或者项目经理来说,第一反应估计应该是:“产品的质量就是产品的缺陷率“。这也无可厚非,这帮哥们都让绩效考核、KPI跟折腾的。其实真正的产品质量应该和用户满意度画上等号。考量一个产品是否满足质量要求应该就是考量的一个产品是否满足用户的要求,当然这里的用户是一个逻辑的概念,指产品的典型目标用户。所以要提高产品质量就是要提高产品的用户满意度。这是一个系统的工程,涵盖了产品设计,产品开发的所有阶段和方方面面。基于时间和篇幅的考虑,本文只想对软件本身的质量来进行讨论。
一:软件的质量是规划出来的,而不是测试出来。
个人认为,项目的计划阶段已经决定了软件的质量。很多项目人员和项目经理一直对做软件的开发计划异常的不理解,认为在软件的过程种各种风险发生的可能太大,计划永远都跟不上变化。而我认为,这里的软件开发计划并不仅仅是一个时间计划。而是让项目经历在计划的过程种综合考虑项目的实施的各个方面,包括范围,进度,质量,风险等,从而形成一份包括进度计划,质量保证计划和风险计划的项目manage计划。在这里根据项目的情况,这些计划可以不以书面的形式来进行体现。然而项目经理一定要经过充分的思考和规划。
为保证软件产品的质量,项目经理在这个阶段要考虑的因素包括但不限于如下各个方面
1:定义项目的质量目标,这些指标包括功能指标,性能指标等等。项目也可以根据公司的情况为各个研发活动定义质量目标。比如设计阶段的Bug检出率等等。质量目标是基于,质量保证活动都要依据目标进行建设。
2:项目采用的软件开发流程。采用什么样的流程取决了公司的标准流程和裁剪规范以及软件项目的难以程度。在这个研发活动中项目经理需要根据自己的经验判断项目需要的质量保证过程。比如是否需要引入单元测试,是否需要测试用例等等
3:项目的三要素的平衡,我们之前说过,产品的质量=产品的用户满意度。所以对不同的产品用户的满意度是不同的,比如电信产品的质量要求和互联网产品的质量要求是不同的,项目经理需要能够根据产品的用户满意素来决定在项目的三要素之间来进行平衡。
4:项目的质量保证计划,这个研发活动应该是SQA的职责,但是很多企 业都没有设立这个职位,在没有这个职位的时候,默认应该由项目经理来承担这个职责。项目经理要根据之前定义的项目目标来定义质量保证活动和质量保证计划。项目质量保证计划需要依据项目定义的软件开发流程,是对软件开发流程种质量活动的更详细的定义。
不管你采用的CMM还是敏捷的软件开发,以上活动都需要进行,只不过进行的复杂程度和研发活动的交付不同罢了,最基本的要求是项目经理要在自己的脑子里面考虑过以上事情。
从manage上来说“软件的质量是规划出来的,而不是测试出来”讲的是流程。决定软件产品质量的另外一个关键要素是人。这里的人包括了技能这个要素。在网络上关于CMM和敏捷 每次都是诱惑我们前来送经验…^_^ 有竞争才有进步嘛 不错,支持下楼主 工业工程,很不错 楼主的帖子实在是写得太好了。文笔流畅,修辞得体,深得魏晋诸朝遗风,更将唐风宋骨发扬得入木三分,能在有生之年看见楼主的这个帖子。实在是我三生之幸啊。看完楼主的这个帖子之后,我竟产生出一种无以名之的悲痛感——啊,这么好的帖子,如果将来我再也看不到了,那么不是浪费楼主的心血吗?经过痛苦的思想斗争,我终于下定决心,牺牲小我,奉献大我。我要拿出这帖子奉献给世人赏阅,我要把这个帖子一直往上顶,往上顶!顶到所有人都看到为止! 自从论坛改版之后,我就已经心灰意冷,对论坛也没抱什么希望了,传说已经幻灭,神话已经终结,留在论坛还有什么意思。没想到,没想到,今天可以再睹楼主的风范,我激动得忍不住就在屏幕前流下了眼泪。是啊,只要在楼主的带领下,论坛就有希望了。我的内心再一次沸腾了,我胸腔里的血再一次燃烧了。 前排支持下分享 请大声告诉我这是几楼