专访陆怡颐:测试人员应该如何参与敏捷

发表于:2013-9-16 11:55

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:51Testing    来源:51Testing软件测试网

  51Testing:不管开发还是测试,对写文档都很头痛,那么敏捷开发中,是不是就可以不用再写文档了呢?

  陆怡颐:其实我们不能从这个角度看文档。敏捷创始人之一罗伯特马丁说过他的敏捷12条原则,其中一条就是“除非有必要,否则不需要写文档”。很多人误解了这句话,所以很多公司实践敏捷的时候,就是不写文档了。我把这种项目称为“裸奔”。

  罗伯特马丁这条敏捷原则其实是告诉我们,重新去审视文档的作用。文档的作用是什么?我总结为三个词:沟通、承诺、传承。那需求文档举例,需求说明书是干嘛的?是和产品和客户沟通、开发和测试沟通的,同时,也是对客户的一份承诺。这是一份非常重要的文档,所以是无法用口口相传的方式承载的(你不能和客户空口说白话),需求是必须文字化的。但我们不一定按照V&V的需求模板来写,文档格式有时候也是一种负担,我们可以应用更灵活的文字记载需求,比如SCRUM/XP流派都应用的优秀实践——用户故事。

  再比如,现在很多公司的开发都不写的设计说明。这份文档的作用是什么?也许有人会想当然的说是帮助设计(从粗到细的设计,概要设计——>详细设计)。这是学院派的说法,设计说明的作用依然是沟通,项目组内人员沟通用的,为的是接口一致性以及集成。另外,还有个目的,就是传承,将设计能够作为经验积累下来。组内的沟通,就没有那么强的文字要求,所以可以比需求更简单一些,比如直接face-to-face的沟通,敏捷实践中有很多关于沟通的实践,比如结对编程,每日站会,完整团队等。

  而传承的目的,也可以不用文字,而借助代码来记录,直接看编码不合适,但是有比源代码更合适的代码——测试代码。细想一下,在设计怎么测这个模块的时候,不正是在全面分析这个模块吗?还有比测试用例更好的设计说明吗!敏捷也有这方面的实践,最著名的就是测试驱动开发。

  所以敏捷开发不是不写文档的,而是用更有效的方式替代了。

有效实现敏捷开发

  51Testing:敏捷开发在公司里面应该怎么推行呢?

  陆怡颐:这个话题就大了,简单说,推行敏捷一定要弄清楚,公司目前整个产品开发面临哪些问题,可以围绕价值、团队、变化这三个核心来分析,获得公司最高层的全力支持。

  推行敏捷并不是一、两个部门的事情,而是牵一发动全身的,它会涉及到业务部门的工作方式的变化、产品需求设计的变化、组织结构的变化、绩效引导的变化、文化的牵引,这是系统工程。需要自上而下的力量。

  其实从我个人角度讲,公司一下子就要全面推行敏捷开发,风险是很大的。倒不如先“低调”行事,只考虑公司产品开发面临的问题,然后借助一些有效的敏捷实践来进行改进,一方面可以很快看到改进成效,同时也可以向公司一点一点灌输敏捷的理念。当具备推行条件了,那就可以真正实施敏捷的变革了。

  51Testing:您觉得众多敏捷实践中,哪些实践最容易看到正面效果呢?

  陆怡颐:这个不好回答,因为这和公司的具体情况有关系。还是那句话,敏捷是思想,它是解决问题的。如果硬要回答,那么这么来说吧,我把敏捷实践大致分为两大类,分别是管理类实践,比如每日站会、状态墙、迭代验收、回顾会议等等,以及技术类实践,比如持续集成、测试驱动开发、重构等等。很多公司喜欢优先考虑做管理类实践,觉得容易实现。

  但是我却觉得,优先做管理类实践虽然好做,但是能看到的效果很有限。敏捷开发,它毕竟是一群程序员想出来的,所以更加偏技术一些。如果看过马丁那本《敏捷软件开发:原则、模式与实践》的,应该还有印象吧,他大量的篇幅都是讲的技术实践,这是最根本的东西,缺了这个,上层就站不住脚。公司不妨优先尝试测试驱动开发和持续集成。一方面能提高设计能力,还能逼迫开发习惯做白盒测试,同时也推动了系统测试的自动化。也让公司的版本发布效率更高。过程中也许有很多技术问题,但是千万不要惧怕,因为技术问题永远比管理问题容易搞定。

  51Testing:很多公司这几年都在推行敏捷开发,但是从效果来看,收效甚微,原因是什么呢?

  陆怡颐:原因当然是多方面的,但是我觉得最根本的是东西方价值观的差异。敏捷是国外一群研发人员搞出来的,所以带有很多西方特色。举个例子,关于敏捷的团队概念,在一个敏捷团队中,并不设置leader,而主张团队自运作自管理,团队依靠设置团队规则运作,产品负责人仅仅设置团队目标。国内可能很难理解,团队没有leader不就全乱套了吗,他们会不会偷懒?其实这是典型的y理论管理原则。这里可以简单谈一下道格拉斯·麦克里戈的著作《企业的人性面》一书中提出的xy理论。

  所谓x理论,或者说x假设,说的是:

  1、多数人天生是懒惰的,他们都尽可能逃避工作;

  2、多数人都没有雄心大志,不愿负任何责任,而心甘情愿受别人的指导;

  3、多数人的个人目标都是与组织的目标相矛盾的,必须用强制、惩罚的办法,才能迫使他们为实现组织目标而工作;

  4、多数人工作都是为了满足基本的生理需要和安全需要,因此,只有金钱和地位才能鼓励他们努力工作;

  5、人大致可以分为两类,多数人都是符合于上述设想的人,另一类是能够自己鼓励自己、能够克制感情冲动的人,这些人应负起管理的责任。

  y理论,或者说y假设,说的是:

  1、一般人都是勤奋的,如果环境条件有利,工作如同游戏或休息一样自然;

  2、控制和惩罚不是实现组织目标的唯一方法,人们在执行任务中能够自我指导和自我控制;

  3、在正常情况下,一般人不仅会接受责任,而且会主动寻求责任;

  4、在人群中广泛存在着高度的想象力、智谋和解决组织中问题的创造性;

  5、在现代工业条件下,一般人的潜力只利用了一部分。

  国外的管理理论一直以y假设为主,而国内我们习惯了以x假设来指导企业管理。我们的领导都习惯了事无巨细的管理,用绩效考核鞭策员工。员工也习惯了被动接受任务的指派。其实敏捷的很多实践都基于这个理论,我们要一下子改变很难。

  所以可以说大部分公司现在所谓在做敏捷,仅仅只能学学实践,也就是说只学其形,未能学其神,自然是收效甚微。

32/3<123>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号