無知者無畏 中國程式設計師和印度程式設計師的對話

2021-04-12 13:31:53 字數 2357 閱讀 5068

乙個在美國ibm工作過2年,在印度公司工作了4年的專案經理與我司資深軟體開發經理有這樣一段對話。

印方經理問:"你們每月生產多少行**?"

我方經理掂量了很久,謙虛地說:"人均**1萬多行吧,不到2萬行"。

印方經理聽後,眼睛瞪得圓圓的:"喔!你們已經遠遠超過國際最高水平了。"

我方經理惴惴不安地反問:"你們的呢?"

印方經理很認真地回答:"我們公司目前的效率為每人每月300行。"

這是乙個真實的故事,我想換了其他人(包括以前的我)也會給出同樣的答案。

為什麼與軟體大國有這麼大的差距呢?

首先我們沒有生產率的概念。大多數人是這麼算的,一天編400行-500行**還不是小菜一碟。乙個月有30天,這樣每月1萬多行還不是輕鬆搞掂?

殊不知,這個偉大的假設有兩個致命的錯誤:第

一、沒有考慮需求分析、概要設計、詳細設計、單元測試、整合測試、系統測試的時間,也沒有考慮文件的時間,甚至都有可能不知道有這些過程。

這不是笑話,試問:我們有需求分析嗎?我們有單元測試嗎?我們有程式設計規範,但我們遵守了嗎?

我們的**花花綠綠,風格千奇百怪――

我們不是有"開發完了,還沒有設計文件的經歷"嗎?

我們不是有"要轉中試了,所有人才開始埋頭苦幹寫文件"的經歷嗎?

我們不是有人在文件中寫過,"該軟體對人畜沒有傷害"嗎?

當然,我們更不可能想到有review的時間,根本考慮不到質量控制?

我們最熟悉寫程式、系統測試、維護,其他的都是多餘。這是典型的小公司游擊戰的做法,乙個人搞乙個小軟體,不需要任何流程,沒有任何質量體系,除了寫**,測試以外,什麼都不需要,非常自由,自以為"牛得不行",這很easy,那很容易,"管理是羅嗦,流程是麻煩",但實際的結果是什麼樣大家都知道。

第二、一天能寫400-500行**,並不表示,你平均每個月能寫12000-15000行**,道理很簡單,乙個人100公尺速度是12秒,並不表示他的3000公尺速度是6分鐘。我們不是機械人,寫軟體需要思考,寫嵌入式軟體尤其需要質量。

印度工程師是人,中國軟體工程師也是人,我們的**生產率與水平能高到**去呢?正如大家都是凡人,你突然說你比子彈還快,一蹦3層樓高。

這真是"無知"者"無畏"?

其實我們的生產率很低,自己不覺得罷了,很多人並不相信我司的公開數字――月產**才120行?如果算一算所有的人力,所有階段的時間,我們就不會驚奇這個資料了。不信的話,我們拿乙個產品算一算!或許我們的經理自己都不知道在這個產品投了多少人力。華為有職業化的軟體開發管理人才嗎?目前幾乎沒有,或許我們真的有月產2萬行的程式設計高手,也有很多自以為能寫2萬行**的"泡沫"高手,但我們沒有真正專業的軟體人才!

目前我們公司的銷售情況很好,賣得很火。但這是專案開發成功了嗎?不是,可能更多的是市場的成功,以及產品預研立項人員的成功。生命週期內還要花那麼多維護費用,這怎麼能算成功?如果我們造飛機,我們可能自己都不敢坐。衡量專案成功的標準與要素是什麼?很多人並不知道。印度發展最快的infosys公司告訴我們:衡量專案成功的標準是"質量、成本與進?quot;,達到這一目標的重要條件是"流程、技術、人"。

我們做計畫時,只有進度,或許會考慮一下成本,但從來沒有考慮過質量。我們知道專案開發的質量活動是什麼嗎?我們不知道;我們知道我們的質量目標嗎?我們也沒有;我們知道如何控制我們的質量嗎?我們沒有幹過。

所以我們才無所畏懼,百摺不饒。但如果我們知道"折"一次要花100萬,我們還會無所畏懼地"百摺"嗎?再回頭看看一些業界標準:某印度合作公司通過了cmm5級,聯合開發專案的生產率為每月400行。其中編碼階段,印度工程師每天可以寫200至900行**。

在4個月的聯合開發過程中――

在編碼速度上,我方優秀工程師與對方差不多,但別人教會了我們如何保證**規範以及程式設計風格的一致;

在閱讀協議標準方面,對方的速度是我們的4-5倍;

在設計方面,對方有明顯的優勢;

在質量控制,我們與他們就沒有辦法比較了;

在**方面,對方估計工作量為36人月,我方估計為22人月,實際數為35人月。

通過對比,我的結論是:我們富有,因為我們有很多bug;我們快速,因為我們沒有質量體系。

有些人還以為――

會使用配置工具sourcesafe,就知道什麼是配置管理;

會畫cantt圖/pert圖,就知道專案計畫是怎麼回事了;

填一下**就是管理;

吃一頓飯就是溝通。

沒有對質量整體的認識,不了解其為什麼這麼做,大家就根據自己的過去經驗"理解"、"推測"、"認識"別人,有這麼巨大的認識差距就不足為怪了。

目前,公司在質量體系方面的培訓與推行力度的不斷加強,印度所經驗的不斷推廣,在很多方面,如流程建設、**、質量控制、度量系統,我們已經初步了解該怎麼做。但我們還要不斷地宣傳、不停地鬆土,讓所有的人承認自己無知,只有這樣,我們才能由"無知"變為"有識"。

"藝低人膽大",今後,我再也不想聽這種大膽的豪言壯語?quot;我們每月**1萬行"!

無知者無畏 中國程式設計師和印度程式設計師的對話

乙個在美國ibm工作過2年,在印度公司工作了4年的專案經理與我司資深軟體開發經理有這樣一段對話。印方經理問 你們每月生產多少行 我方經理掂量了很久,謙虛地說 人均 1萬多行吧,不到2萬行 印方經理聽後,眼睛瞪得圓圓的 喔!你們已經遠遠超過國際最高水平了。我方經理惴惴不安地反問 你們的呢?印方經理很認...

無知者無畏 中國程式設計師和印度程式設計師的對話

乙個在美國ibm工作過2年,在印度公司工作了4年的專案經理與我司資深軟體開發經理有這樣一段對話。印方經理問 你們每月生產多少行 我方經理掂量了很久,謙虛地說 人均 1萬多行吧,不到2萬行 印方經理聽後,眼睛瞪得圓圓的 喔!你們已經遠遠超過國際最高水平了。我方經理惴惴不安地反問 你們的呢?印方經理很認...

無知者無畏 中國程式設計師和印度程式設計師的對話

乙個在美國ibm工作過2年,在印度公司工作了4年的專案經理與我司資深軟體開發經理有這樣一段對話。印方經理問 你們每月生產多少行 我方經理掂量了很久,謙虛地說 人均 1萬多行吧,不到2萬行 印方經理聽後,眼睛瞪得圓圓的 喔!你們已經遠遠超過國際最高水平了。我方經理惴惴不安地反問 你們的呢?印方經理很認...