唐僧師徒赴西天取經,不畏艱險,鍥而不舍,歷經八十一難終修成正果。這是一段偉大的旅程,敢問路在何方——路在腳下!世上沒有不能到達的目標,遠的路途在腳下,這是西游記讓我們深深感動的地方。西游記絢麗多彩的魔幻世界其實是現實社會的投影,平凡的人們為了生存和發展都會歷經磨難。作為一名IT業的項目經理,我深刻地體會到:這是一個充滿挑戰和艱辛的職業,但也是一個自我發展和提升的途徑。一帆風順的經歷不會增長才干,幫助個人成長的其實是困難和障礙以及克服它們的過程,只有經歷風雨,才能迎來彩虹。
本文以我負責的某大型教育培訓網站(簡稱教育網系統)建設項目為背景,結合項目實戰經驗談一些體會。這個項目是我初任項目經理時經歷的,現在回顧起來,當時所遇到的問題以及解決過程還歷歷在目。
甲方不提供硬件測試環境,爭取提前試運行發現問題
該項目要建設一個在線學習和教育管理網站,提供在線學習和考核的平臺,實現培訓工作的信息發布和組織管理。平臺所使用的課件由其他系統制作,本系統需提供課件上傳管理功能。系統采用Oracle數據庫、WebLogic應用服務器,通過F5實現負載均衡,使用基于J2EE技術的B/S架構,要求能夠運行在Unix平臺上。
接手這個項目后,我首先對系統的運行環境做了初步了解?蛻舴降臋C房有多臺IBM AIX小型機和PC機。WebLogic應用服務器將部署在AIX小型機上,在一臺AIX小型機上會同時部署多家公司的應用系統,每個應用系統在WebLogic中都通過建立獨立的域(Domain)來進行管理。
任何應用系統在上線前都應進行嚴格的測試,而且測試環境要與實際運行環境一致,因為應用系統的功能、性能在不同操作系統環境下的表現是不一樣的,因此為了保證系統的穩定運行,需要準備AIX小型機作為測試環境。但是我們以前承接的項目使用的基本都是HP和SUN的服務器,沒有AIX服務器。
我意識到這是一個重要風險,必須妥善應對?蛻舻臋C房有一些測試設備可供使用,我與銷售經理溝通,看有無可能得到客戶許可使用機房的測試設備。這個項目當時還處于售前階段,正在簽署合同。銷售經理反饋回來的結果是,客戶不負責提供測試環境,并且在合同中對此增加了明確的條款:甲方不負責提供任何測試設備和環境。我在客戶這邊碰了壁,只好另外想辦法,首先想到的是從公司獲得支持。
項目啟動后,我在項目計劃中上報了這個風險,希望公司幫助調配一臺測試用機,或者采購一臺AIX小型機,在各個項目之間共享,解決多個項目可能會遇到的同樣問題。項目管理部很快打來電話,詢問了詳細情況,表示公司調配有一定困難,其他項目并沒有閑置的小型機,目前也沒有采購機器的預算,希望項目組盡力設法解決,并強調一定要妥善處理,不能因此發生問題。
回想我當時的心情真不好受,感覺孤立無援,但是我從這個過程中也學到了重要的一課:項目經理的作用不只是發現問題、提出問題,更重要的是解決問題。系統測試的硬件環境不具備,客戶和公司都不能提供支持,這是一個必須解決的難題。
這個問題放在現在是很好解決的,可以花少量費用短期租賃,但當時IT租賃業還沒有發展起來,可以提供設備的大公司價格很高,而價格較低的小公司設備又不全。我詢問了兩個關系不錯的合作伙伴公司能否借用,對方當下沒有正好閑置的機器?磥磉@個風險不能避免,那要從如何減小風險的影響程度上尋找對策。我一方面繼續尋找機器,一方面積極與客戶溝通,終得到客戶的支持,允許我們提前到正式環境下部署,在系統大范圍試運行前先小范圍試運行一段時間,這樣為解決可能面臨的問題贏得了時間。
排查問題定位原因,但遭咨詢方質疑
在我的推進下,系統得以提前部署到正式環境中,但不久發現了一個嚴重的問題:課件的視頻文件通常在幾百兆左右,在上傳到AIX平臺時,速度非常慢,只有40KB/s,以至于瀏覽器頁面失去響應,只有十幾兆的小課件可以上傳成功,稍微大一點的課件傳不上去了。
我組織項目團隊深入分析了這個問題,通過比較測試環境與正式環境的不同之處,定位問題的原因可能來自“網絡環境”或者“操作系統”,此外應用程序上傳組件在正式環境下能否正常運行也有待驗證,根據初步分析,我們制定并實施了以下問題排查措施:
在客戶方環境下使用FTP工具上傳大視頻文件,并使用網絡監測工具觀察上傳過程是否正常,結果上傳速度很快,網絡監測也完全正常,基本排除了網絡因素;
在客戶方Windows環境下搭建WebLogic應用服務器進行測試,在上傳代碼中增加日志輸出功能,打印分段傳輸文件過程中每段的用時和傳輸速度,結果上傳速度很快,可以確定上傳組件正常運行;
對操作系統的問題,為進一步縮小問題范圍,我們在公司搭建了HP Unix測試環境,上傳速度仍然很快,這樣基本確定問題是由AIX操作系統帶來的。
我組織項目團隊成員繼續奮戰,查閱了AIX操作系統的大量資料,在團隊技術骨干的分析和論證下,后定位問題原因在于一個AIX操作系統的網絡傳輸參數。于是我們寫了一份分析報告提交給用戶,說明了排查的過程和結論,請求客戶方允許我們調整AIX操作系統的一個參數,問題可以迎刃而解。
但是事情并不像預期的那樣順利,客戶方請的咨詢公司認為我們的報告證據不足,認為問題是應用系統的錯誤造成的,應修改應用系統,不應調整參數,而且由于AIX系統上運行著多家公司的多個應用系統,調整參數可能對其他系統產生影響,因此咨詢公司堅持在沒有得到權威結論前不同意調整參數。
我們一時找不到AIX系統驗證我們的結論,但是客戶方要求我們盡快解決問題,迫于時間壓力,我們只好采用了權宜之計,修改了技術方案,從系統設計上做了調整,增加了一種課件上傳管理的方式,避開了直接通過應用系統上傳,這樣做會增加一些操作步驟,但能夠滿足課件后臺維護的要求,客戶也認可這種修改方案,這個問題基本得到了解決。
用事實回應質疑,贏得甲方肯定
問題雖然得到解決,但我的心里卻很不踏實:我們的排查結論是否正確還沒能在AIX系統上進行驗證,這次繞開陷阱的做法只是權宜之計,對系統今后的推廣和產品化等工作會帶來隱患,也許我們在未來還會再次遇到這個陷阱。此外,由于咨詢公司多年服務于客戶方,有重要的地位,他們的意見會左右客戶方對我們的評價。這是我必須徹底解決的又一個重要問題:如何用事實證明我們的實力和價值。
我一直沒有放棄多方尋找問題的解決方法,也一直保持和合作伙伴的聯系。當時我還負責另一個項目,需要第三方測試,為此請了專業的第三方測試機構。他們擁有各種品牌、型號和配置的服務器,這讓我看到了轉機。在第三方測試工作開展的過程中,我與測試機構的負責人建立了良好的關系,在我提出需要免費借用設備時,對方很爽快地答應了。