(写于2013年冬到2014年春,那时候刚进公司,不知道要做什么,工作量严重不饱和,就自己找事情做,我写了一个专题,我们研发人,也算是为公司企业文化的一点小贡献吧)
在我们研发人的内心深处,总有这样一种驱动,就是渴望变革,林奇这样说。与他短暂的接触,最大的感受就是高效,通过BQQ与他联系,第一时间便约到他。他是2003年入司,目前在研究院四部,自动化测试的负责人,已经是锐捷的十年老员工了,认识他的人一定不少。说起锐捷研发人渴望变革的事情,实在太多,陪伴公司走过10个春秋,目睹了锐捷公司的方方面面的变化,如果细数起来,可能要几天几夜,今天我们着重聊聊持续集成实践。不知大家是否注意到,最近在研究院里发布了一个项目最佳实践通报表扬公告《持续集成团队获得了研究院PMO最佳实践》。林奇是该项目的一个重要成员,自动化测试的负责人,项目每日冒烟就是他负责的。
“冒烟测试”(英文:smoke testing)这一术语源自硬件行业。对一个硬件或硬件组件进行更改或修复后,直接给设备加电。如果没有冒烟,则该组件就通过了测试。在软件中,“冒烟测试”这一术语描述的是在将代码更改嵌入到产品的源树中之前对这些更改进行验证的过程。在检查了代码后,冒烟测试是确定和修复软件缺陷的最经济有效的方法。冒烟测试设计用于确认代码中的更改会按预期运行,且不会破坏整个版本的稳定性——摘自互动百科
变革来自内心的驱动
持续集成,这个被业界证明的优秀实践,在很多大公司非常受重视。如IBM、微软、爱立信等,同时也是我们竞争对手华为、友商、,也力推的该项目实践。我们研发人日常关注业界动态、竞争对手的情况,当了解到一个新事物,就会很兴奋,当看到与业界的差距就会着急,就会很紧张,希望在能够迎头赶上。在1c2模块化项目中和崇滨、德辉等一拍即和,决定来尝试。对了,说起持续集成,估计很多人还不清楚,那我们来简单说说。持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快地发现集成错误。许多团队发现这个过程可以大大减少集成的问题,让团队能够更快的开发内聚的软件。——摘自百度百科
作为中层管理者,深深明白,决策自上而下比较容易,就是一个传达,但是自下而上的推动就没有那么容易了。首先受限于资源,这里的资源包括人力与设备,很多额外的工作必须加班加点才能完成。再者,由于一些工作流程发生了变化,会产生一些问题,如就拿我们测试部来说,很多工作是没有绩效的。但内心的那份执着和热情,驱使着我们前进。
变革从观念开始
这一次持续集成实践,无论管理,还是开发,还是测试都要发生了很大改变。管理者,从关注计划、文档到关注持续集成结果的转变。原先开发只要重点做好编码工作,最终的质量保证交给测试人员,现在开发过程中,不仅仅要开发代码,更要保证这部分代码质量,所以需要提前进行测试。比如测试,内部测试活动要前移,提前对版本进行确认,多增加一些外部测试,多与客户打交道,了解客户存在的问题,挖掘客户潜在的需求,与开发人员共同对产品的交付结果负责,支撑整个开发流程。今天我们从观念的变革,不仅仅是这个持续集成,如我们以客户为中心的产品探索。原来我们开发产品,大家就闷着头把功能开发出来,而现在大家就会问,客户是需要什么样的功能,客户有什么特征,怎样才能给用户更好的体验。
变革痛并乐着
变革是痛苦的,持续集成实践也遇到了很多问题。遇到问题我们就解决问题,快速进行PDCA循环,这就是我们研发人简单高效的思维。开始在团队合作上出现问题,我们配合不是很好,开发和测试之间各自需要做什么没有明确。发现这个问题后我们一起研究和探讨,由测试协助完成环境的搭建,由测试验证已有脚本的正确性,然后开发在此基础上执行脚本验证版本。此外,开发还在原有的基础上补充集成测试脚本。起初系统还不稳定,我们的工程师,每天半夜爬自发起来远程到公司测试机上,只为看看自动测试的情况,担心环境、程序出现故障导致测试执行失败。那种心情就如母亲担心深夜孩子会踢被子一样。经过大家的努力,现在随着系统平滑的升级,测试环境也越来越稳定。对大家来说,每挑战一个难题会充满成就感,那种快乐不是能够用言语形容。
变革需要勇气
变革是充满风险,我们今天付出的努力,也许可能会有硕果累累,也许可能得一无所获。在研发世界里,只有0和100,没有中间值,做好了持续集成实践,试点成功,这个实践会在公司内部全面推行;如果没有成功,可能什么也不是,产生不了任何价值。任何创新和变革都是有风险,如研发一个创新的产品,可能引起市场的轰动,也可能不被市场接受。既然要创新和变革,我们就要有勇气承担失败,而且有动力在失败中不断总结经验,继续前进。
变革大势所驱
大环境趋势着我们改变,拿自动化测试部门来说,从05年开始到现在为止已经有九个年头。这些年我们的产品是不断增长,功能也不断增加,如果我们不采取行动应对变化的话,很可能天天加班都完不成任务,这就逼着我们创新,采取更高效的工作方法,采用更先进的工具。同时自动化测试本身也是测试的一种创新,可以实现7*24小时,无人看守的测试。比传统的人工测试,高效很多。还有我们的云测试平台,原来测试需要一大堆的设备,我们现在通过虚拟化技术,把他可以跑在测试PC的虚拟机上,无论成本和效率都提高了很多。质量和效率驱动着测试部门不断创新。站在公司的角度来说,在这快速变革的市场环境里,只有有在业务模式、管理模式和产品技术上不断创新,积极主动的应对变化,才能赢得优势。
结语:
渴望变革,不仅仅是自动化测试组成员,也不仅仅是PMO持续集成团队,是所有锐捷研发人的品质。我们乐于挑战,积极面对变化,不满足于现状,不墨守成规,持续创新,努力把握最新的网络技术发展趋势,为用户提供最优价比的网络产品及解决方案,为企业创造利益。