昨日出外開會後回到公司,檢查了同事負責的給另外一個部門提供測試伺服器的工作任務。
按照要求,我們需要提供一台安裝有作業系統linux以及中介軟體伺服器tomcat+oracle的測試機器,此工作原計劃在周一10月13日下班提供,由於技術原因實現承諾,周二、三的期間由於有其他工作安排工作掛起,周四10月16日已經向同事承諾再投入一天在周四下班前完成。
很不幸,昨日10月17日下午檢查工作結果是工作還沒有完成,再一次無法兌現對其他同事的承諾。詢問了負責該項工作的同事,告知其實周一就已經安裝了CentOS Linux,也已經安裝了java虛擬機器和Tomcat,但是按照Oracle的安裝文檔,無法在該機器上安裝,他給我的具體技術簡要解釋如下:
- Oracle 9i Release 2的linux版本安裝包,沒有內建java vm,需要自己安裝java vm,現在安裝了jvm版本是1.3.1;
- 機器的CPU是AMD,java vm安裝花了不少時間;
- 安裝的Centos Linux版本是周一就完成的;
針對他的簡要解釋,我的詢問和分析如下:
- 安裝的java vm的版本有沒有問題,在Windows平台上安裝Oracle 9i R2,對應的Java VM是1.4.2版本,和1.3.1的VM能不能正常運行呢?
- 按同事的描述將有很多的版本的組合,分別是CPU型號、Linux發行商(案頭、伺服器版本或者Linux核心版本)、Java VM版本、Tomcat版本以及Oracle版本!我們不是要同事去尋找各種可行的組合,不是在進行高分子化學實驗,各種組合的測試工作應該留給Oracle廠商的測試部門去進行。
- 根據我們常識,我們知道Linux發行商不同、核心不同,有很大的不一樣,為什麼要挑選安裝一個較少人使用的CentOS Linux呢?為什麼不用SUSE、RedHat、Ubuntu還是國產的Red Flag,偏好CentOS呢!
- 查看了同事安裝Oracle所參考的安裝文檔,只是廣義地講如何在Linux上安裝。需要找到官方的資料,瞭解Oracle已經在那些版本的Linux上進行了測試。
從其中我們可以看到,同事的工作方法存在問題,加上沒有進行及時的Review,導致承諾無法兌現!他在剛開始就是純粹從“探索”角度去進行工作,而不是從安裝目標上去進行工作,除了Oracle外的開源軟體,其實都要考慮版本間的相互依賴配合的關係,如果不從官方資料上去獲得資訊,那麼這個工作將是一個非常冒險的工作。好比給你一批零件廠商的出廠的不同批次的零件,就能組裝成一部車嗎?
我要求同事重新從目標出發,調整方法,在周末將問題解決掉。看著同事有點想放棄的樣子,我告訴了他,找對方法才有出路,因為我們不能告訴同事說Oracle是無法運行在Linux上面的,那以後還有誰玩java,再說我們也不能一次再次地延遲自己的承諾。