疫情把我们之间的物理距离拉远了,但却拉近了心与心之间的距离
疫情不允许我们去办公室上班,只能在家工作。
但每个企业又希望工作的质量和效率依旧,所以大家开始讨论:
如何远程协作?有哪些远程协作工具?如何远程管理项目?远程协作的痛点是什么?如何管理远程协作场景下个人/团队绩效?即使没有疫情发生,这种协作的趋势也是越来越明显,越来越多的国外企业来到我国,国内企业也开始扬帆出海。而且,现在许多人背井离乡,离开自己家在异地工作,即使不在异地工作,也常常为拥堵的交通苦不堪言。
这种趋势就催生了软件测试的一种运营模式:彻底的远程协作模式。
我们知道,之前有三个模式:
在岸模式:有测试中心,在一个地方集中式办工,包括外包的驻场(在岸)模式;近岸模式,靠近客户研发中心设定办公室,便于参与一些现场会议和故障问题处,而且客户方的管理团队也在附近,甚至提供驻场培训或需要驻场工作几天,对团队要求相对低些;离岸模式:指两个以上的工作地点相差很远,包括项目外包和一些跨国企业某些项目的运作方式。离岸模式一般要求团队具备独立的项目管理能力。今天谈到的第4种新模式,不是上面三种的混合模式,而是要超越离岸模式,更灵活的一种的模式,可以没有测试中心、也不需要驻场,人员可以分散,形成真正的分布式办公模式。
这种模式的存在,不仅是为了解决问题,而且带来一些益处:
解决类似这次疫情或之前SARS、禽流感等所带来的困难,能处理各种突发事件;给员工提供更方便的工作环境,可以更好地平衡工作与生活的关系,能兼顾到家庭或孩子(如未来不少家庭都是两个孩子,老人也不一定帮忙带孩子);不需要租太多的写字楼空间(只要数据中心和少量接待客户的展厅、会议室),可以降低办公成本、物业成本;这种方式具有弹性,伸缩自如,极大提高市场和团队快速扩展能力和速度。这种模式的存在也得力于今天的新技术支持:云计算平台、远程协作平台、区块链技术、5G技术等,这些技术让这种模式得以实现,而不是设想。
自然也会存在一些弱点,所以要真正让这种模式能够良好地运作下去,让物理距离不是问题,那就需要解决5个方面的问题:沟通协作不流畅、测试环境、信息安全性问题、人员之间缺乏信任、效率可能降低、质量不能很好保证等。
1. 沟通协作
距离产生了,会给沟通协作带来问题。首先要解决这个问题。今天协作不是问题,只是一个习惯问题,养成远程协作的良好习惯,和面对面沟通交流没什么区别。我自己就有十几年开发WebEx协作平台的经历,很有感受,仅仅是习惯问题。有一些技巧:
会议缺省就是用WebEx、Zoom、钉钉、腾讯会议这样的平台,这更方便,随时从日历、邮件打开,还不需要找会议室,跑很远地方才找到一个会议室,比现场开会还方便。
可以构建电子作战地图,指挥大家更好的协作,定期举办会议,小团队每日有站会(只是远程的)、大团队每周一次、整个公司每月来一次全员(all-hands)大会。
脚本管理更不是问题,类似Github平台就可以解决。文档在线编辑系统也有,如腾讯文档、石墨文档等,而且可以和项目管理平台(如禅道、 Confluence )等集成起来。
协作还可引入虚拟社区、虚拟逻辑团队等概念,有利于更好管理。
之前我还做过类似的培训,这里有一张slide:
2. 测试环境
基于IaaS、PaaS、SaaS和虚拟化、容器、云计算等技术,这已经不是一个问题,云测试环境,集成手机真机环境,今天已经成为成熟的技术。自动部署、一切都是API、基础设施即代码(IaaS),让测试环境运维也变得简单。
个人特殊测试环境,可以通过Access Anywhere、 VNC等工具完成远程操作。
3. 信息安全性
信息安全性问题,主要靠:人靠谱(后面第4点)、VPN、云桌面等多个方面来实现。云桌面已经有成功的例子——华为的员工出差到各地,根本没影响,到了那里,打开云桌面就能工作。有了云桌面,代码也不容易偷走。如果说,在家里可以通过拍照实施“偷窃”,这主要靠法律、协议等加以约束。如果还不放心,启动云桌面时,摄像头自动启动,进入监视模式。对测试工作,安全性就没这么严重,所以问题就更不大。
如果再引入区块链技术和更好的加密技术,个人身份得到很好的验证(类似银行客户身份验证),而且个人所有行为都有全程记录,不可串改,信息安全问题基本就解决了。
4. 人员信任
首先人要招对,即招聘真正的人才,人要靠谱,这样才能实现从“基于监管的管理”转变为“自驱动式的管理”。就像许多外资企业,弹性工资制,不打卡、不按指纹,可以在家工作。从公司看,就是看最终交付的成果,而不看是按什么方式完成的。你招来的人,就要信任他/她。所以在招聘上一定要多投入时间,多个面试官从不同角度去考察他/她,做背景调查等等。
人员之间的信任也要靠前面所说的持续沟通来维系和提升,同时也要提供一些面对面的交流机会,包括出差、定期野外拓展团建、一个季度聚会一次或半年集体旅游一次。除此之外,建立良好的企业文化、授权机制等也是必不可少的。
从任务安排来说,要有良好的度量,实现量化管理(工作量、需求、功能点、测试用例、脚本、缺陷等),重结果评估,加强经常性的相互评审(使用远程会议平台评审测试计划、测试用例、脚本等),甚至随时抽查/检查测试计划、测试用例、脚本等。其次,任务拆解的粒度一定要足够细,尽量保证能以天为单位更新,每个组员每天都要汇报工作的进展。
5. 效率
如果担心效率,主要来源于两方面原因:沟通协作不流畅和网络速度问题。因为在第四种模式下,我们的测试环境一定是在云平台(公有云或私有云)上,客户端也采用云桌面,所以对网络要求会高一些,但在光纤到户、5G到了之后,而且采用轻客户端、云桌面,计算和数据都在cloud上,如果辅以CDN加速技术和边缘计算服务,所以网络速度不会是问题。协作问题前面已解决,概况起来:效率就不是问题。
今天的敏捷开发模式——扁平化管理、自组织的团队、用户故事等等优秀实践都能更好支持信任和效率。实现目标管理,这是许多公司的长项,包括KPI、OKR等。
6. 质量跟踪和保证
招对人、及时培训、建立信任、有效的沟通等等,就是对质量保证有力的支持。然后上面也提到经常评审、随时抽查测试计划/用例/脚本等,对测试过程质量的跟踪,再借助测试管理平台、 质量管理平台、缺陷管理平台或集成管理平台来管理。总之,质量管理和驻场模式其实没有什么明显区别。
让我们在家自由自在的、无忧无虑的工作吧!
关注公众号:「测试开发技术」