会上,京东零售技术与数据中台测试架构师任广印做《文化建设践行DevOps-Etsy持续交付之道》主题演讲。任广印指出,“在Etsy,工程团队推行了各种文化建设,帮助员工成长,助力公司成功,主要体现在四个方面:
第一,放权和信任;
第二,集体责任;
第三,持续的学习改进;
第四,相互督促,结伴而行。”
以下为任广印演讲实录:
大家好,我是来自京东零售的任广印,听了陆怡颐老师的发言,有点小小的不赞同,陆怡颐老师刚刚说了我们测试行业这十多年并没有改变,其实我们还是能感受到很多显著的变化的,至少,十年前我做测试的时候每天5点半就能下班了,不是吗?那么我们现在都是几点呢?技术改变了,业务也改变了,那么,我们的能力和效率是否也对等的跟上了呢?
我今天给大家分享的主题是《文化建设践行DevOps-Etsy持续交付之道》,提起DevOps我们往往会想到Amazon、Microsoft、Google、Netflix、AirBnb等先行者,Etsy其实也是先行者其中之一,可能大家都不知道它,可能因为这家公司的商业模式比较专,导致大家很少知道它。这篇分析报告出自我和我的小伙伴之手,在线下,我经常会和朋友们做一些相应的案例分析活动,从中学习这些公司的好的案例,见识其中的转型契机和成长之路,不断学习并提高认知。
我今天要讲的内容一共分为5个部分,公司介绍、工程文化、商业模式、技术变革、质量保障,是一篇2-3小时的案例分析报告,因为今天的分享时间只有40分钟,到场的主要是测试领域的小伙伴们,为此我调整了一下讲述顺序,以便将大家最关心的内容传递给大家。推荐一本书给大家《Effective DevOps》,这本书其中一个作者就是来自Etsy公司的。
首先我给大家分享一下关于“质量保障”这个话题。
在Etsy,质量保障团队是这样的,鼓励大家保持不断的学习、提高、交流。整个公司也很看重工作和生活的平衡,鼓励大家高效的工作,公司不推崇加班,二是推崇在工作中更聚焦,把精力放在最该做的事情上。通过持续的学习,提升测试技能,改进测试策略,根据项目情况进行资源分配,一个质量小组通常会包含PQ分析、QA负责人、项目经理、测试开发等角色,这也正如刚刚陆怡颐老师所说的现在的一个趋势,测试开发工程师的队伍正在逐步的壮大。
在Etsy,都测哪些内容呢,我们常见的回归测试、开发阶段的测试、以及为了测试范围、覆盖率、测试结果趋势等的数据而开展的一些测试活动,在我们的身边也会有更多的外包资源,这些工作跟我们现在做的是比较相似的,但是这些事情在Etsy是不做的,在Etsy是不做这样的测试的。那么大家可能会问,这些东西跟我们都很类似的事情,我们也觉得很正常的事情,为什么在Etsy并不是这么做的呢?那么在Etsy都是怎么做质量保障的呢?
在Etsy,新功能和新产品作为测试重点,会有对应的探索性测试,集成测试、跨平台的兼容性测试,尤其会把测试精力聚焦在那些对用户有影响的功能和改动上。
公司的商业模式的核心就是和社区联系紧密,同时会及时的去响应去解决。针对不同角色的定义和培养上也是公司的一个很重要的投入,让专业的人做专业的事情,正确的将事情做好,少返工,这本身就是质量的一层保障。从需求或者从一个想法的产生,到最终它的上线运营,每一个环节都能左右最终的质量,也就是说每一个环节的每一种角色,这个角色的专业度就能直接影响了这个软件、这个服务在这个生命周期里它给下游交付的最终质量。当然了,贯穿始终的就是一些最佳实践以及一些好的学习和成长,以及一些改进。价值驱动、目标的一致性和与社区的紧密连接,这三部分也是我们团队的工作核心要素。
接下来看看这种文化是如何体现于工作中的。在生产环境我们同样会做大量测试的,以此来消除可能在部署工程中出现的问题,正常来说我们做了很多测试,在部署到生产之后不应该再出问题,但现实是各个模块或改动都是测试通过的,集成到了一起问题就出现了。无指责和无恐惧的文化,分析问题,查明根因,不再让重复的问题再出现,是我们的目的,而不是定责。协作文化、高效的反馈,每个员工的职业发展通道,激励和奖励机制,各种途径让员工发挥出各自的能力,自治、高效彼此互助。
为什么我们会说在这个公司这样的质量保障可行呢?很好的持续集成、持续部署流程,基于用户研究的原型设计,在一个服务或者一个产品推出的时候做的A/B test,持续和用户进行沟通确认和采集反馈,通过大量的实验来证明我们这样做是不是达到了这样的效果,支持实践,“复用一切有效的方案”,通过信息传递降低试错的成本。
再说一些公司的“那些文化”。 说起文化,大家有的时候也会想什么是文化?什么是好的文化?什么是不好的文化?或者我们也可以理解成大家的一种习惯,或者大家都接受的一种习惯,这个习惯有可能能够帮助公司成长或者说能够帮助公司招揽更多的人才,当然一些不好的文化也会导致人员的流失或者阻碍技术的发展。
工程师文化,简言之,我们可以理解为自由和效率;如果我们是不自由的,至少,我们在做事情的时候会限制我们的思想,如果不是对效率的提升,那么我们这个创新可能就很不接地气,那么我们为什么做它呢?自由和效率我们又往下细分了一下,比如自由,我是一个自我驱动的,比如,灵活的工作时间和工作地点,关于自我驱动这件事情,包括工程师文化大家也曾有过一些讨论,当我觉得这个事情有价值或者大家认可的时候,我是一个自驱的模式,会努力的把它做的更好。但是给我各种要求,“必须要996、必须不能几点回家就在这儿坐着好好干活”,这个时候不但没有让我好好干活,反而影响了我的自驱性。工作效率体现在什么地方呢?曾经我待过的一家公司,老板说“休假不用和我请示,因为你请示了我也会批准,那就无需审批,但你需要发个邮件让干系人知道。同时,信任是一种契约,不要打破”。
“Code as Craft”这是公司最核心的文化。
Etsy的目标是让那些手工艺人,通过他的手工来给这些手工艺人提供交流和手工艺品买卖的环境,我们工程师也是,我们创造了这个工程师,并且通过哪些事情来很好的贯穿于我们的生活呢?这个公司就定义了“code as craft”。“code as craft”在这个公司也是一个活动,是每半个月举行的一个活动,这个活动会邀请业界的一些大咖专家或者公司内部的大咖进行演讲,通过这个过程我们使整个公司在提高,去交流,并且如果有好的方案大家也能产生一些更深层次的合作等等。像我们今天这个活动的意义也都是一样的,我们先看一下这个公司邀请的这些大咖们,最右边的图,其中穿格子衫的就是这个公司的CEO查德迪克森,正是他的到来,为Etsy建设了这一些列的工程文化。
“无指责的问题分析”文化,我们很多公司都在做各式各样的,比如,线上出了问题我们要复盘,或者出现重大的事故我们要分析,我们分析问题的时候很容易的牵扯到了责任,我们分析这个问题本身,我们是想知道这个事情是怎么产生的,而不应该关注是谁、他为什么做这样的事情。我们分析的时候就是通过这种文化的践行,我们能够更好的挖掘出这个问题本身是怎么产生的,为什么我们不关注的“是通过谁来制造了这样一个问题”呢,因为这个问题本身,它可能是系统设计的问题或者说各种深层次的问题,只是这个人他遇到了而已,如果他不遇到这个问题有可能就是你本人遇到这个问题。所以说公司一直在提倡一种无指责的问题分析,公司也是有一个开源的系统,这个系统是专门干这件事情的,目的就是,不要让错误可以发生,我也可以接受,但我不接受重复的问题再次发生。
针对这个问题公司真的做了一件三只袖子的毛衣,其实在我们的印象中,我再怎么脑残也不会做出一件三只袖子的毛衣,但是他会把三只袖子的毛衣颁发给一些犯了错误的员工,犯了什么错误的员工呢?可能这个员工犯的错误是最令人惊讶的错误,而不是说这个人是最糟糕的那个人。
转载自:Testin云测