实践中的敏捷开发之如何管理项目质量
程序员文章站
2022-03-03 11:53:18
...
【常见的质量问题现象】
软件质量问题很大程度上可以从其开发过程上表现出来
。在缺乏有效项目管理的团队中,下面的现象我相信是典型的。
一个功能第一次转测的时候,测试人员能够发现N个低级错误型的Bug。接着开发人员”改完”代码后,测试人员进行回归测试继续发现N个Bug。这些Bug有些是第一轮测试中发现的Bug没有修复正确或者完全的,而很大一部分可能是因修改之前的Bug而引入的新Bug。于是,这种现象不断得在第三次、第四次……回归测试中出现。
上面的现象就是典型的返工。返工不仅浪费了时间和人力,也是质量问题的标志。
而最后交付的功能还有若干Bug被发现。因为,测试人员漏测试了。
【原因分析与解决问题的经验分享】
质量问题的产生原因主要有两个因素:个人的因素和项目管理的因素。
人的因素主要有开发人员、测试人员的知识、能力和经验以及工作习惯。
比如,虽然敏捷开发一直强调测试先行。但是,仍然有很多开发人员习惯于先编码后测试。更为不好的是,很多开发人员习惯于把所有代码都”写好”,然后集中对这些代码进行测试。这样做的结果往往是一个地方发现的问题往往在其它地方也存在。于是,他不得不重复得修改这些问题。这种情形不仅浪费了他们的宝贵时间。也往往使问题没有被彻底修正。另外,很多没有计算机专业背景的人被培训机构以高薪为诱惑被培训为测试人员。对于这些测试人员,当被测试的对象的技术性比较鲜明的时候,他们往往不知怎么测试。
但是,人的因素往往很难短期内有所改善。所以,我将重点从项目管理的角度来分析。
返工和漏测试是软件质量的两大问题。返工从项目管理的角度看,很大程度上是因为缺乏有效的流程控制。即,在一个功能转测试人员进行测试前,没有检查其质量是否满足一定的要求——最低质量要求。这一点,其实可以借鉴建筑工程中的材料验收。比如,建设一栋大楼,其所需的钢筋水泥等材料如果我们不在使用它们前检查其质量是否符合要求。那么,后面才发现它们的质量问题则必然要返工。关于如何进行流程控制,以使被转测的功能符合最低质量要求,可以借鉴下Story演示这个具体实践。感兴趣的读者可以借鉴下IBM developerWorks网站上的文章:
《敏捷项目管理实战之在敏捷开发中引入Story演示》 http://www.ibm.com/developerworks/cn/rational/r-cn-agilestorydemo
当然,质量问题是一个系统性的问题。那么,解决这个问题的方法也必然是要系统性。另外,管理不是照着菜谱做菜。管理者必须要掌握一套质量管理的方法,而非”拷贝”所谓优秀实践。学习优秀实践的意义在于掌握其背后所体现的方法与思想。下面的文章中以这样的一种思路分享了基于“经验过程控制”的质量管理思想,并以作者的项目管理经验为基础分享了另外一些提升项目质量的一些具体实践。
《敏捷项目管理实战之质量管理》http://www.ibm.com/developerworks/cn/rational/r-cn-agiletestingbestpractice
软件质量问题很大程度上可以从其开发过程上表现出来
。在缺乏有效项目管理的团队中,下面的现象我相信是典型的。
一个功能第一次转测的时候,测试人员能够发现N个低级错误型的Bug。接着开发人员”改完”代码后,测试人员进行回归测试继续发现N个Bug。这些Bug有些是第一轮测试中发现的Bug没有修复正确或者完全的,而很大一部分可能是因修改之前的Bug而引入的新Bug。于是,这种现象不断得在第三次、第四次……回归测试中出现。
上面的现象就是典型的返工。返工不仅浪费了时间和人力,也是质量问题的标志。
而最后交付的功能还有若干Bug被发现。因为,测试人员漏测试了。
【原因分析与解决问题的经验分享】
质量问题的产生原因主要有两个因素:个人的因素和项目管理的因素。
人的因素主要有开发人员、测试人员的知识、能力和经验以及工作习惯。
比如,虽然敏捷开发一直强调测试先行。但是,仍然有很多开发人员习惯于先编码后测试。更为不好的是,很多开发人员习惯于把所有代码都”写好”,然后集中对这些代码进行测试。这样做的结果往往是一个地方发现的问题往往在其它地方也存在。于是,他不得不重复得修改这些问题。这种情形不仅浪费了他们的宝贵时间。也往往使问题没有被彻底修正。另外,很多没有计算机专业背景的人被培训机构以高薪为诱惑被培训为测试人员。对于这些测试人员,当被测试的对象的技术性比较鲜明的时候,他们往往不知怎么测试。
但是,人的因素往往很难短期内有所改善。所以,我将重点从项目管理的角度来分析。
返工和漏测试是软件质量的两大问题。返工从项目管理的角度看,很大程度上是因为缺乏有效的流程控制。即,在一个功能转测试人员进行测试前,没有检查其质量是否满足一定的要求——最低质量要求。这一点,其实可以借鉴建筑工程中的材料验收。比如,建设一栋大楼,其所需的钢筋水泥等材料如果我们不在使用它们前检查其质量是否符合要求。那么,后面才发现它们的质量问题则必然要返工。关于如何进行流程控制,以使被转测的功能符合最低质量要求,可以借鉴下Story演示这个具体实践。感兴趣的读者可以借鉴下IBM developerWorks网站上的文章:
《敏捷项目管理实战之在敏捷开发中引入Story演示》 http://www.ibm.com/developerworks/cn/rational/r-cn-agilestorydemo
当然,质量问题是一个系统性的问题。那么,解决这个问题的方法也必然是要系统性。另外,管理不是照着菜谱做菜。管理者必须要掌握一套质量管理的方法,而非”拷贝”所谓优秀实践。学习优秀实践的意义在于掌握其背后所体现的方法与思想。下面的文章中以这样的一种思路分享了基于“经验过程控制”的质量管理思想,并以作者的项目管理经验为基础分享了另外一些提升项目质量的一些具体实践。
《敏捷项目管理实战之质量管理》http://www.ibm.com/developerworks/cn/rational/r-cn-agiletestingbestpractice
推荐阅读
-
《他和他的质量管理》--51Testing专访(3) 项目管理敏捷开发软件测试面试CMM
-
敏捷项目管理实战之质量管理
-
实践中的敏捷开发之如何管理项目质量
-
敏捷项目管理实战之质量管理
-
敏捷开发与项目管理实战之敏捷需求分析
-
从程序员变为项目经理的背后 项目管理WCF敏捷开发设计模式面试
-
导致迭代交付失败的11名杀手 敏捷开发软件测试项目管理scrum风险管理
-
Martin对敏捷宣言中“可工作软件胜过面面俱到文档”的解释 敏捷开发项目管理风险管理scrumagile
-
38人团队,分为4个子产品小组,如何一起做回顾会议? 敏捷开发风险管理项目管理软件测试XP
-
再读经典的“微软团队-成功秘诀” 敏捷开发项目管理风险管理agile团队管理