随着时间的推移,现在许多编程语言和传统语言一样也在不断演变甚至被淘汰。Shutterstock工程主管Rashi Khurana表示,2003年时网站建设用的是Perl语言,但是当下一代网站建设时,他们就不得不把技术转移到NodeJs和React上。
Rashi Khurana在2015年11月加入Shutterstock,因为Rashi Khurana以前做过类似的工作,不久就被安排负责公司的技术迁移工作。技术迁移是公司每几年必须考虑的问题,如果不进行技术迁移解决技术债务,未来公司必定会面临更大的困难。在技术迁移过程中,如何组织团队让技术迁移顺利进行也是一个难点,这篇文章中,Shutterstock工程主管Rashi Khurana主要介绍如何正确的完成技术迁移以及在技术迁移过程中需要注意的问题。
迁移非真正的迁移,而是技术转型
每个工程师都希望通过创新、构建新功能来实现自己工作的价值,满足客户和用户的需求,但在迁移工作之前首要解决的是工作人员的态度问题。技术迁移工作开始前,不要让小组的工作人员认为这是一项非常繁重的工作,给他们太多的压力。作为一名迁移工作的领导者,要试着淡化“迁移”这个词。低效率是从旧基础设施迁移到新设施首要障碍,因此,想要实现目标,必须首要处理潜在的问题。
任务有计划的进行,适当鼓励必不可少
在Rashi Khurana团队技术迁移过程中,小组成员每天会按时汇报下一天的工作计划以及任务进度。而且在任务进行过程中,他们会将需要6-9个月的任务量分割成“两周冲刺”任务,这样一来,即使任务没有按照精准的时间表完成,也不会拖延很长的时间。
另外,适当的鼓励也是团队在协作过程中必备的。有些成员完成工作的78.5%时,他们会沮丧的说:“啊,才只完成了78.5%”, Rashi Khurana就会鼓励他们,我们已经完成了工作的78.5%了!技术不断演变从未结束,我们也在这个过程中不断成长。
指导与方法
Rashi Khurana说,在整个团队技术迁移过程中,团队向他求助大多都不是由于技术问题,而是团队需要Rashi Khurana的指导和支持,以下是Rashi Khurana在这个过程中的团队执行的一些方法与指南:
1、 制定项目跟踪计划
2、 记录下你所做的事
3、 将旧堆栈上存在的页面集中到特性中。
4、 映射每个功能的依赖关系
5、 获得无依赖性的渠道,启动
6、 让团队来选择需要的东西
7、 调整、重新定义目标
8、 不断尝试,走出自己的路
坚持自己的计划,你会获得意想不到的结果。
关于数据处理
数据处理是在迁移过程中最棘手的问题之一,数亿的数据要通过API和服务转移到新的架构中,并不是件容易的事。如果网站很慢,可以考虑将窗口关闭;如果某个功能的需要许多前端与后端工作,可以通过只移动前端继续使用远程来调用执行前端。
最后一点也是很重要的一点——定期透明地发布更新,一个成功的技术迁移工作会影响公司的很多人。正确、适宜的管理会让技术迁移工作更加快速、高质量的完成。