關注前端開發流程

來源:互聯網
上載者:User

流程,通俗來講,就是許多人,在做一系列的事情時,怎樣相互協調,安排好這一系列事情的先後順序,有什麼事先的約定,需要達到怎樣的預期目標。

在UED裡,前端同學需要處理的需求比較多,早些時候,前端這裡的開發流程還是比較模糊的,UED以外的同學也不清楚這邊的工作具體是怎樣進行的,所以難免會有需求插隊的情況發生,打亂了大家的計劃,因此今年Q3的時候,在與SCM團隊同學的共同努力下,形成了一個前端的ASSETS發布流程。

這個流程主要針對ASSETS發布的需求做了一些約定,制定了相關的幾個時間點,包括審核需求、提交代碼、daily測試、預發測試、正式發布到線上確認的時間。

ASSETS流程簡述

需求審核

在提需求之前,需求方一般都會先找PM或者相應產品線的前端諮詢一下,如果可行的話就會在周四之前將需求提到平台上,到了周四的時候,前端會結合自身的工作情況,將平台上的需求接收並納入自己的議程中,預估完成時間、發布時間以及相關的發布簡述。

編碼開發

周四需求評估完以後,就會按計劃開始處理需求,將涉及ASSETS發布的需求優先處理,不涉及ASSETS的放在靠後的時間處理,一般這段時間是從周四到下一周的周二。SCM會在每周四開一個新的ASSETS分枝供前端在下一周開發使用。

提交代碼,合并到daily測試以及預發測試

如果有涉及到與後台開發相關的需求,前端的同學會在周一就把代碼提交,這一天會有一次合并代碼,方便後台開發來測試。其他的同學一般最晚會在周二下班之前把代碼提交,在周二,會有多次合并代碼到daily的操作,每次操作完後,SCM的同學會在前端的群裡通知到大家,方便大家測試。

周三早上,SCM的同學會將代碼發布到預發環境,此時就可以在HOST中綁定IP,換用線上的地址來測試。

正式發布

周四上午,SCM的同學確認後,將沒有問題的代碼發布上線。

流程的作用

在團隊不斷成長的過程中,處理的需求數量也在增長,需要考慮到開發的效率、產品的品質以及團隊協作間的配合等因素,這個流程能為我們解決很多相關的問題:

督促需求方做好相關的規劃

有些時候,一些需求的細節還沒完全確定,但需求方總希望能將他想到的各種細節都實現出來,然後再挑選其中一種做為他的方案,所以需求的變更會有些頻繁,然而這樣的成本有些高,一切應該在計劃後再去實現,而非反其道而行。現在需求方會在提需求之前,會花時間地去考慮他們的需求,將儘可能多的情況都想清楚,做好必要的溝通工作,權衡各種利弊之後,再給出一個比較成形的方案。

保證需求安排的有序性

在一個大的團隊中,不同部門的同學在一起合作,因為溝通及一些特殊情況,效率或多或少會受到一些影響,良好的規劃能有助於提高開發的效率。

通過每周的需求審核,安排好下一周的議程,由於需求的優先順序和先後順序都已排定,工作的條理性會更加清晰,需求插隊的現象也有明顯減少。當然我們也有緊急流程,但是它僅限於處理線上bug以及一些經過多方確認的緊急需求,有其自己的適用範圍。

統一測試,歸避風險

之前的日常處理中,可能會遇到這樣的情況:甲、乙兩個同學分別需要處理兩個日常需求,他們的需要改動到的代碼會有重合的部分,如果他們並不知道這個情況,那麼在他們本地的單獨測試中,一切都是OK的,然而當發布到線上去時,發現出了bug或者一方的改動沒有同步到線上,查原因後發現是提交的代碼相互覆蓋了。

現在要處理的需求數量越來越多,為了避免上述情況,新流程實行以後,大家會統一來做多次測試,這樣就更容易發現bug,可以大大降低協作開發而產生的風險。

流程本身就是一把雙刃劍,有利有弊。一方面,它使我們的需求變得有序,使前端能夠在處理一個需求時,不會頻繁被其他插隊的需求打斷。並且因為發布有時間點的設定,所以測試工作會更加嚴謹,這有助於提升代碼的品質。因此對於我們來講,流程帶來的好處是顯而易見的;但另一方面,它額外地增加了做事的成本,涉及ASSETS發布的需求,就像趕某班火車一樣,錯過了就只能等下一班,所以也給需求方帶來了許多不便,有待改進,不過這可以通過長期的合作而慢慢被弱化,雙方達成了一種默契以後,情況會好很多,現在這樣的情況已經比較少了。

儘管在流程使用之初,會帶來諸多不便,但是從長遠來看,流程有助於使一個團隊形成統一的工作方式和態度,將繁雜的事情化整為零,有條理地去處理它們。因為流程,每一個人的責任感都會增強,對風險考慮得會更多一些,這一切都會使產品有質的提升。而我們所有與這個流程有關的人,都會不斷地去推動流程改進的工作,這其中還有很多需要思考的:

  • 如何將我們的流程推廣到整個公司,讓大家都能瞭解我們的流程,這樣在未來需要合作時,需求方需要注意些什麼,相關的時間點以及開周時間的預估等,他們就會心中有數。
  • ASSETS的發布還不夠靈活,如果把和應用相關的ASSETS獨立劃分出去與應用一起發布,這樣剩下的需要發布的東西就會少很多。或者是按產品線來設計發布流程,根據實際情況來發布。
  • 如何來簡化流程上的一些細節,在保持效率的同時,降低實際操作中的成本。
  • 每周二是一個特別的時間點,為了趕在這最後時間提交代碼,之前的開發會有些緊張,這種情況也有待改善,比如未來可以一周有兩次發布。

流程不是生來就完美,但從現在它帶給我們的好處來看,遵循並使用它,對我們的開發會起到很大的協助作用。我們對待它的態度,決定了它對我們會有怎樣的反饋,如果覺得它不合適了,就發出自己的聲音,想辦法去改進它,不要只是被動地等待。

———————————-

部分名詞解釋:

daily環境:UED的一個日常測試環境
預發環境:外網IP,需綁定訪問,供內部使用測試
ASSETS:指令碼和樣式存放的目錄
SCM:軟體管理配置
PM:專案經理



相關文章

Alibaba Cloud 10 Year Anniversary

With You, We are Shaping a Digital World, 2009-2019

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。