一轉眼,已經作了將近一年的Hybris開發,負責前台技術的人只有我一個,所以無論大事小情,什么都要想到。最近前台不再像以前那樣繁忙,也要開始做一些后台的開發,雖然之前也接觸了一點兒后台,但是主要的solr,cronjob等都沒有參與開發,之后可能都要涉獵了,現在總結一下前台的開發。
前台開發主要涉及的是模板、組件、頁面以及樣式,當然controller甚至是后台也都要有所了解,因為有時候需要修改controller或者是判斷問題是出在前台還是后台, 不過這些對於我這個做了n多年ERP的人來說,當然都是小菜一碟。
前台開發最重要的是溝通、技術以及細心,因為前台team組成比較復雜, 我們是多方開發, 客戶負責頁面的創建,數據的輸入; 我們負責技術,給客戶提供他們WCMS上創建頁面需要的各種模板及組件; 設計並實現style的是來自另一家公司的伙伴。因為人員復雜,那么溝通就成了至關重要的,好的溝通可以做到事半工倍,而差的溝通會使得項目進行的拖泥帶水。
記得我剛進項目時,前台是由一個項目的前輩負責,因為項目是給客戶做他們的電子商務網站,那時客戶要我們用hybris來實現他們的官網,以方便客戶用WCMS更新他們的官網,於是我被加進來專門做官網,由於官網不需要從數據庫獲取任何數據,所以它只有前台,在這之前我是完全沒有前台的經驗的(大家都知道ERP不需要前台多么絢麗,而我之前都是ERP的經驗,所以我只懂html,對css卻是一竅不通),可能也因為如此,負責項目的PM A和負責需求的PM B在我的工作職責上產生了分歧,在我進入項目一周后(這時我完全掌握了如何使用hybris創建模板,及創建組件),A希望前台的前輩只負責電子商務的前台,官網的前台的設計開發要求我一個人和B在一個月內共同完成,B不同意,他希望能由之前負責前台的前輩來負責,而我可以打個下手,做點事情,最后PM們達成一致,前輩在第一個spring,共有一天時間在我們這里,我有什么問題都可以請前輩幫忙。而我夾在領導們中間,唯一能做的就是沉默及做好自己該做的事,當我在半個月內將需要的模板,及所有組件完成時,我得到了所有人的肯定。
當我們在做組件時,因為涉及到組件的樣式,我們開始和另一家公司C合作,他們給我們需要的html,css及相關的jquery,第一次拿到東西時,發現拿到的代碼根本沒有辦法寫成組件,因為相似的部分用了太多不同的東西,毫無邏輯性,我們沒有辦法把它們抽取出來寫成組件,於是開始溝通,這時候主要是我們將商量好的需要的規范發給PM B,PM B聯系C的負責人進行溝通,然后C和他們的技術溝通,但是這樣的效果並不是很好,我們拿到的仍有不適合的地方,於是我要了開發人員的聯系方式,我們開始直接溝通,之后每個設計她都會通過qq發截圖給我,我們討論什么樣的方式及代碼是最適合的,代碼中哪部分為什么會導致我們沒有辦法抽取做成組件,我們的組件有什么樣的限制等等,這樣我們沒有了重復的返功,順利地在半個月內完成了所有組件的開發,而我也從一個完全不懂css的人成了一個熟悉css的人。
當這些都完成時,要真正開始做頁面了,但是我們team這時還只有我們兩個人,於是我找到PM A,咨詢頁面由誰來完成,schedule是什么,我們需要做的是什么。PM A明確告訴我,客戶會派兩個女生加入我們的項目組,他們完全不懂代碼,70多個頁面,需要2周內完成,我的任務就是制定出那些疑難頁面的實現方案,並確保她們能在兩周內完成所有頁面。於是在她們來之前,我將頁面創建方法,及每個組件的使用方法,寫成了文檔,提供給他們,之后我每天調查那些疑難頁面如何實現,並且支持她們實現頁面,兩周后我們成功完成了所有頁面,並正式上線。
也許是因為我們的成功,得到了客戶的信任,使得客戶堅定了我們也可以用hybris很好地完成電子商務的網站,於是慶祝之后,我被留了下來,去接手電子商務網站的前台,而前輩則加入后台,在這中間前輩也給了我很多幫助,所以這里也要謝謝他。
電子商務的前台比官網的前台還要麻煩,因為這里每個頁面都有一個專門的模板,每個模板都由3-10個文件組成,每改一個模板、一個組件都要考慮到對原始的和其他的頁面有什么影響,每改一個樣式也要考慮到會不會影響其它頁面,而且客戶希望官網和電子商務的網站以后能合並,所以也要考慮到現在的結構及更改會不會影響到以后的合並,同時還要考慮到各種瀏覽器的兼容及手機的兼容。
為了使一切能順遂的完成,我們提出讓負責style的公司派人到客戶這里和我們一起面對面的工作,后來公司又派過來一個技術人員,由他完成一些工作,而我則要指導並review他的工作,保證一切都毫無問題,當我們完成任務,測試的人員也會加入進來,於是我們忙的時候,team中會有6、7人共同合作,我們不停溝通,確認都有多少個前台頁面、每個頁面的樣式能不能實現、如何實現、需要修改哪些模板、需要新建修改哪些組件、確認schedule、確認樣式有什么限制,什么樣的html,css和jquery是合適的、已經確認好的樣式不停修改怎么辦、......等等的瑣事。我要確認並推進每天的工作任務,要保證所有工作在期限內完成並預留出足夠的測試修改時間,培訓客戶在WCMS中使用我們的模板及組件創建頁面,保證他們按時完成所有頁面的創建及更新。
進入測試,當我們第一次發布之前,我幾乎每天都忙得人仰馬翻,誰讓所有問題都只能在前台顯現呢,於是每天我都不時聽到測試人員的呼喚,“***, 這里怎么沒顯示?”,“***, 為什么。。。。”,“***, 這個在firefox,IE8/9都ok,但是在IE7和chrome顯示不對”,如果碰到測試的新人,還會聽到這類問題“***,為什么這里要顯示圖片,卻不顯示....?為什么...不放在...”等等,后者,我只能無奈的回答,這是需求,不是我決定的。而前類問題我就要調查是前台還是后台的問題,或者是前后台交叉地方的問題,前台提給我,后台提給后台負責人或者模塊負責人,其他酌情,同時我還要培訓用WCMS如何完成頁面,要推動style的人正確修正樣式bug,要判斷哪種前台的變更現在可以做、不可以做及怎么做.......
半年后,我們的項目終於正式上線了,感謝項目組所有的人!
現在我們仍然要做后續的開發,現在前台要考慮的當然更多,首先就是新建及更新的模板、新建及更新的組件及樣式等會對當前上線的頁面有什么影響,新的變動發布后要做什么,但是量不再像第一次發布時那么大,於是我也開始有了富余的時間,不用再羡慕別人不像我一樣每天忙得人仰馬翻,然后我也要開始負責一些后台的功能了.....
這半年多的hybris前台經驗,讓我學到了很多,鍛煉了我的溝通合作能力、協調及解決問題的能力、推動項目保質保量按時完成的能力、管理能力等等,當然還有hybris的技術能力,哈哈,現在hybris的前台對我都是小菜一碟了。
這其中當然也有不足的地方,我是個認真做事,不會忽悠的人,我保證的東西肯定能在我保證的時間內有質量的完成,但我不能保證的我也會直接說出來,雖然大多時候我也都會很快解決,記得有一次一個PM問我當天下班前是否能解決一個下午我們剛發現的問題,當時剛剛開始調查,我不確定,於是我回答“不一定,不過明天應該可以”,之后我們公司的PM下班前路過和我說了一句“要自信點......”,這時我才意識到“難道我沒有肯定的說,‘沒問題’,在別人眼中就表示我沒自信嗎?”,這時我也想起,公司中最受歡迎的同事最喜歡說的就是沒問題,不論是否真的能完成,但總會給人沒問題的答案,那么我是不是也應該學起來呢?
另一個不足的地方就是,我並沒有每天向所有PM報告我的工作,以至於有些PM並不完全了解我的工作,以后注意,哈哈!