我最近加入了Elastos(亦来云)的Cyber Republic Cyber Republic - Elastos项目,工作方式是远程协作,目前的工作主要集中在网站的搭建。团队成员主要来自美国,欧洲和中国,时区相差7-15个小时,也就是说如果现在是中国的早上10点,那欧洲的时间是凌晨3点,美国的时间是前一天的晚上7点,按照正常时间的话欧洲人正在睡觉,而美国那边已经下班了,这样的话大家大多数时间都不是同时在线的,所以大家如何协作就变得非常重要了。
下面介绍一下我们团队是如何协作的,我会从软件开发的几个流程来阐述:
- 产品需求
- 产品设计
- 开发
- 部署
- 测试
- 上线
产品需求
产品需求会被记录到Trello中,新的需求会被放到一个名字为Backlog的Card中,每个需求就是其中的一个item,可以添加资源链接到item中。
产品设计
确定好需求后就可以开始UX设计了,设计好之后会发布到Figma Figma: the collaborative interface design tool.中,然后就可以转交给开发者开始开发了。
开发
开发任务的管理是在Pivotal Tracker Agile Project Management | Pivotal Tracker 中进行的,Pivotal Tracker是一个项目计划和任务管理工具,管理流程上基于敏捷开发,我们设定的迭代周期是1周,每周完成一定数量的任务,然后继续下一个迭代周期。
代码放到Github上,因为我们开源的,所以不需要购买私有repo了。
部署
部署是通过持续集成工具Semaphore Continuous Integration & Delivery - Semaphore来完成的,Semaphore的主要任务是从Github把代码pull下来,然后进行环境变量的设定和代码编译,最后部署到指定的环境中。
测试
代码部署到线上后QA 团队就可以开始测试了,如果测试不通过要在Pivotal Tracker上对应的任务上进行反馈没有通过测试并修改任务状态为Rejected
,然后开发者会继续开发,开发完之后再部署和测试。
上线
如果测试没问题就可以上线了,上线实际上就是一次部署,只是部署的环境是线上的环境。
其它
我们有一个微信群,用来做一些简单文字信息的沟通,不过目前利用率不是很高。
其它的需要多方沟通的信息我们会用Google Gmail来解决,开会我们会用Zoom,Zoom支持多人语音,视频和屏幕分享,非常适合远程团队一起开会,每次开会前会通过Zoom设定会议室的url和时间,然后作为Event添加到Google Calendar中,之后编辑Event添加被邀请人的email,每个被邀请人就会收到email通知了。
开会的话大家一般会找一个可以调和的时间,通常会有一方会牺牲掉一些自己的休息时间,比如前几天和同事开会,北京时间是下午4点,欧洲是上午9点,美国是凌晨1点,会开了一个小时,估计美国同事会很困,不过我们不是经常开会的,所以这点还不用太担心。
总结
这就是我们这个跨国软件团队如何协作的了,你有没有远程工作的经历呢,留言说说吧。