[專案管理]工程與產品開發的差異——一個老專案的經典問題

qingrun發表於2010-06-18

1、背景

2001年我在tp成都中央研究院參加了CMM3的全過程,然後開始對tp陷入徹底失望,2002年初和華為談判後我拒絕了華為噁心的人力資源的噁心的薪資判定標準,然後到了tp上海研究院,準備隨時辭職走人。
在上海賀國華手下幫他完成了tp內部的所謂erp系統的競爭性開發,7月初剛結束,就接到了南京的電話,原tp中央研究院院長給我打來電話,問我是否可以 去南京支援,本來都已經在和下家進行面試了,結果沒抗住這個院長的近乎祈求的語氣,就去了南京,支援這個南京地稅金力四期工程的需求階段開發。
tp軟體在2001年參加了這個專案的投標,投標結束後,南京地稅有錢,就想了一個方式,來一個競爭性需求開發,也就是南京地稅拿出220萬,兩家公司參與這個專案的需求開發,各做各的,誰做的好,後續的就交給他,做得不好的拿到這220萬退出。
從2002年11月開始,tp軟體就從中研和其他股份公司借人參與這個專案的開發,因為當時我還在cmm3評估中,所以第一批我沒去,評估後,我一直力爭建立自己規劃了7個月的一個專案,一直拒絕過去。
tp軟體前後把中央研究院的所有高程B甚至C以上的技術人員(包括集團主要做技術的五個職稱為系統分析員的)都拉到了南京參與這個專案,平時人數一般在五六十人以上,最多曾經有一百人左右在南京進行開發。
8月份這個專案的需求階段結束,客戶方要進行雙方的評定,決定誰拿下下一階段的專案,誰退出,所以,原來的院長特別著急,因為需求還沒有全部做完,就打來了電話。
而這個時候,我剛剛連續封閉了兩個多月完成了tp erp的開發,正準備休假,然後跳槽,因為感覺做了這個專案也算對得起賀老大了,畢竟對這家公司已經死心了。

2、開發過程

2.1、競爭方

公司名字我忘記了。好像是深圳還是北京的一家公司。據說花高薪從北京/深圳拉了一批人十幾個,上手就開始編碼,不講究過程和內容,完全把這10個月當作一個專案進行開發。

2.2、tp中研

組織了多達百人的團隊進行開發,全過程採用了RUP的內容進行實施。

3、評定內容

使用者宣稱除了看需求文件和資料外,還要看系統原型開發的效果。於是,本來拉我過去是做這個系統的設計(在CMM3中我是分析設計組的組長),結果, 一看到這個就讓我來做系統原型開發,人員就是我從上海研究院帶來的5個弟兄,加上一個成都給我們配的美工。時間沒有具體要求,讓我們儘快完成,條件是:目 前已經完成的系統設計基礎上進行。
我的開發方式和過程在我那本書和blog中有過比較詳細的描述,這個原型的開發過程後來成了我那本書最早在程式設計師雜誌上發表的內容,這裡不多寫了,只描述一下結果:
事實驗證,tp中央研究院組織的人中因為很多人沒有參加過系統的UML培訓,使得大部分的系統設計都不可使用,也就是說無法匯出程式碼,設計的內容也完全不 符合java的開發需求,不少設計人員甚至從來沒有做過java開發——這個成了我後來多次強調的,不瞭解一種語言,不要逞能去做這個語言的系統設計,你 做需求可以,別丟人來做設計,那會讓你/你的公司死無全屍的!
我的開發小組直接和需求人員配合,完成稅務網上營業廳繳稅、銀行扣款和查驗檢索的全部功能,從設計開始進行,一共7天不到的時間,我們六個人完成了全部內容(介面設計開發、系統設計、程式碼實現、測試等),而且全部通過了測試,測試中也只發現了少量(少於十個)的bug。
最後

4、tp失去了後續的合同。

雖然它提交的需求文件無論從規範性還是數量都遠遠超過對手!
最跟本的原因是因為可以展現的功能模組和效果遠遠少於競爭對手。

5、結論

後來我們分析認為:
tp搞錯了什麼是工程專案什麼是產品開發,tp技術架構負責人盲目崇拜rup,妄圖在客戶不成熟不加限定的情況下通過過程模型來獲得合同定單,卻忘記了工程自身要求的是競爭性,時間性,而不是你的rup可以等待的時間。
沒有搞清楚工程和產品的區別,加上中國客戶對專案的短視性,是這個專案失敗的根本原因。
中國的軟體產品到現在來看,很少有做了很多年還能不斷延續的,絕大部分都是工程,做了就扔,來了重做的方式在不斷重複進行著。這樣的過程大概在 2004-2006年間開始發生了一次大的變化,此後的過程是,網路上的廉價程式碼交易迫使很多小公司不斷倒閉,後續的就不展開說了。
最重要的一句話總結:
產品 開發和工程開發偏重的內容是不同的,產品要求延續性,而工程要求的就是時間和效果,中間的過程對於工程來說都是客戶不怎麼care的內容,即使客戶對你說 他們也很介意中間的內容,但是,最終他們還是會被結果所引導,而不是被你的中間過程內容所吸引,結果的重要性往往超過了他們自己對結果的重要性的想象和考 慮。
關於產品和工程的差別,我的blog中有多篇文字對比,在我的書中也有很詳細的闡述,這裡不再贅述,連結如下:
 [技術討論]“軟體工程”中的“工程”如何理解
http://blog.csdn.net/qingrun/archive/2010/01/25/5250450.aspx
[技術討論]軟體的產品、技術、標準對話
http://blog.csdn.net/qingrun/archive/2009/12/19/5028945.aspx

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/257598/viewspace-665585/,如需轉載,請註明出處,否則將追究法律責任。

相關文章