• <noscript id="eom2a"><optgroup id="eom2a"></optgroup></noscript>
    <tt id="eom2a"><small id="eom2a"></small></tt>
    <input id="eom2a"></input>
  • <div id="eom2a"><small id="eom2a"></small></div>
    <td id="eom2a"><small id="eom2a"></small></td>
  • 您的位置:知識庫 ? Web前端

    關注前端開發流程

    來源: ued.taobao  發布時間: 2011-03-30 13:26  閱讀: 1203 次  推薦: 0   原文鏈接   [收藏]  

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

      在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:項目經理

    0
    0
    標簽:web 前端

    Web前端熱門文章

      Web前端最新文章

        最新新聞

          熱門新聞

            黄色网_免费在线黄色电影_黄色成人快播电影_伦理电影_黄色片