隨著時間的推移,現在許多編程語言和傳統語言一樣也在不斷演變甚至被淘汰。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和服務轉移到新的架構中,并不是件容易的事。如果網站很慢,可以考慮將窗口關閉;如果某個功能的需要許多前端與后端工作,可以通過只移動前端繼續使用遠程來調用執行前端。
最后一點也是很重要的一點——定期透明地發布更新,一個成功的技術遷移工作會影響公司的很多人。正確、適宜的管理會讓技術遷移工作更加快速、高質量的完成。