-
最近有朋友在找熟 ASP.NET/C# 的人,透過派遣的管道到微軟工作,表現良好的話兩年後可以轉正職…不知道有沒有人有興趣的?請回覆給我。
我自己也是很有興趣,但不知道實際工作如何,穩不穩定…有沒有人知道這種工作管道有什麼優缺點呢?
-
CMMI 認證,是最近軟體開發業中最火熱的話題。稍有規模的軟體開發業者,都已經在取得認證的路上,不管是評估中,還是在密集訓練,全力導入中。特別是台灣已經有業者得到最高等級 CMMI Level 5 認證,還有將來政府標案也都會要求 CMMI 認證業者才能承接。人家都有,我不能沒有,種種資訊,讓大家爭先恐後地,想要搭上這部列車。
CMMI 認證,是由美國國防部委託卡內基梅隆大學所設計的評價標準,這是美國國防部所認可,符合其需要的標準。美國國防部開得出高價,就為了要得到高品質的軟體。美國國防部能夠要求的高品質,的確配得上他所能提供的價錢。但是我們的政府願意出同樣高檔的價錢來買軟體系統嗎?業者以不足的金額標下案子,他能提供充足的人力,在沒有相對延長的期限內,來完成所有 CMMI 認證的要求嗎?
據我所推測,許多業者取得 CMMI 認證的心態,跟當初取得 ISO 認證沒有什麼兩樣!為了得到認證而認證,底下的人都是做假。若是認真地執行 CMMI,就能得到 CMMI 所承諾你的那些好處。但若資料來源是假的,那麼一切的結果也是假的,據此而推論的改善方法也都是假的。結果是,付出相當成本導入的開發流程,最後只有「通過認證」這一項好處。工作量大幅增加,專案期限也沒有相對延長,上頭還是一直逼著進度。還是有人努力地想把事情實在地做好,但是這種人最終會得到一個結論,那就是除非你喜歡不斷地加班,做著無聊的文書作業,否則你就只能做假來應付不合理的要求。於是,在上的主管得到他想要的認證,在下的員工得到的是更多的加班、文書作業,與違背良心的造假。
美國這個在各領域都領先世界的超級強國,出名的軟體公司也多半出自美國。自己訂出 CMMI 認證標準,自己卻沒有那麼積極投入,反而由印度、中國超前,這是為什麼?因為印度、中國的人力成本低!不管你丟給他多少的工作,他總是能以最低價錢完成!美國一定不會把高價值,核心知識的東西交給外人做,只有低價值,高勞力的事才會委外。委外當然也不會隨便委外啦,你得證明自己有一定水準才可以。美國就順理成章地,拿 CMMI 認證來要求你,也成功地把你壓得死死的,你永遠只能做低價值高勞力的勞動,永遠沒有辦法累積高價值的核心能力,永遠不能超過美國。美國自己當老大哥,袖手旁觀各「落後國家」為了這些委外的訂單,相互廝殺,一起沉淪。美國還是永遠勝過你!
我個人大膽預測,不出十年內,主要的軟體開發業者全都可以拿得到 CMMI Level 5 認證。既然每個業者的水準都是一樣的,那麼彼此之間就沒有絕對差異,案子要交給誰做是沒有差別的,因此最後還是看誰的價錢低。這不就是一個大紅海嗎?出價低者得標,勝出的就是人力成本較低,又能掌握大部份市場者。那些人力成本較高,規模較小者,勢必退出市場。那勝出的就能賺錢嗎?看看半導體業吧,當利潤壓縮,關廠外移到落後國家是必然的結果。到時候台灣只剩下本地化的工作,甚至只要直接以程式由簡體轉繁體也可以應付得過去了…
更進一步說,十年後的 CMMI 肯定又會出好幾版。可想而知,每一版都比前一版又多了一些規範,更多的要求。繼續追逐下去,得益的只有空口說白話的「認證機構」。開標案的案主沒有得到更好的軟體,時程延誤的情況更加嚴重。開發業者為了追上最新認證標準,不斷地訓練,要求下屬,威逼產出,專案延期又得罰錢。員工則被整個制度壓得死死的,了解應付技巧的人才能輕鬆一些,認真的人只能離職,換由更便宜的人力取代。
各位身處的公司,如果正在導入 CMMI 認證,想必已經被一大堆的文件弄得雞飛狗跳。想要認真做好,期限一定趕不及,想要趕上期限,那就不可能真的達到要求。陷在這種認真做做不到,做假又對不起良心的環境裡,真的很痛苦。特別是為了要達到管理需求,必須額外做許多與程式設計無關的,應付上面的文書作業,真的很無聊,還不如由專科高職生來做就夠了。是的,老闆很可能就是這樣想的,反正只要有好的流程,換任何人都可以把自己份內的事做好。如果公司的將來必定會倒閉,或者全部再委外的話,你還想要繼續這樣跟著惡搞下去嗎?
不要再「人家有,我也不能沒有」了,如果沒有美國國防部等級的經費,一切的 CMMI 都是假的,浪費所有人的時間做假,最後得益的只有「認證機構」與「其他不以 CMMI 綁住自己的聰明人」,其他所有的人都落在低價值的勞動當中,失去自己存在的意義。
我的結論重點如下:
- 人會犯錯
- 流程能幫助人避免錯誤
- 龐大的流程會逼人做假應付
- 做假應付的流程,反而會導致人犯更多的錯誤
- 逼人做假應付的流程,還不如沒有流程
你,想要跳出 CMMI 的紅海漩渦了嗎?
-
我為了在公司內報告 Agile 團隊開發概念,準備了一份投影片 team_ppt.rar,提供大家下載參考之。注意看附註,我寫了很多,但其實親自講的話內容還會補充更多…
-
看到微軟在恆毅資訊要舉辦「Microsoft Windows Server System 教育訓練課程」,我對其中的「系統架構建置設計規劃」很感興趣,它的說明為:「介紹軟體架構 (Architecture) 的意義,Pattern 簡介以及在架構內套用 Pattern 簡介,了解何謂服務導向架構 (Service Oriented Architecture),以及 Agile 軟體開發流程和功能面外的需求:安全、擴充性、效率、可重用…等等議題。」我會參加 12/7~8 (四~五) 於台北的那一場,不知道有沒有機會認識各位?既然是在恆毅資訊上課,我想應該會偏向技術性,而且應該會利用 Visual Studio 2005 Team System 來實作上述主題吧?費用是兩天 3000 元,相較於恆毅其他的課程來說,算是非常低的了。還可以使用「優惠卷」上免費的課,這優惠卷是由微軟所發的…我已經寫信去微軟業務要,不知道能不能要得到…
-
-
我會去參加 8/16 (下星期三)的「企業軟體工程高峰會」,免費的。這是微軟要推銷 Visual Studio 2005 Team System 的盛會,在君悅飯店舉辦,看起來比較像「Sales talk」,而不是純技術的研討。我雖然比較喜歡純技術的課程,但是感覺自己也該拓展一下視野,去聽聽真正做專案經理的心得。我所看的層面是很少,但我猜想很多開發團隊 (包括我自己的團隊) 仍然是土法煉鋼的方式,專案經理切割整個系統成為許多功能,不同的功能給不同的人做,每個人由資料庫一直做到 UI,每個人的做法風格都不一,沒有良好的統一與組織。專案經理其實比較像是 Sales,對程式碼其實並不了解,他只要看到畫面能動就好了,背後倒底是怎麼做出來的就不太關心。微軟的 Visual Studio 2005 Team System 開始將「開發人員」、「開發流程」與「開發工具」做了整合,並開始推廣 MSF/Agile/CMMI 這些概念。而由於它是根基在 Visual Studio 2005 開發工具之上,因此我覺得大多是比較資深的開發人員才會學習這方面的東西。但這些東西可能在專案經理那裡會推不動,因為他其實是不懂這些東西的重要性。因此我覺得有可能的一個做法是,專案經理仍然做對外溝通的工作,而團隊中有人起來帶領技術層次的整合,包括要求所有人都使用 Team System 來測試、重整、工作項目追蹤,以及程式碼元件化等等的純技術統合工作。我是很想來做這方面的努力…又怕專案經理會覺得有人要威脅他的地位…因此想要藉此會議,去聽聽真正好的團隊是怎麼做團隊開發的。我也覺得台灣可能會有一波潮流,就是過去常常是 Sales 帶著一群鬆散的開發人員做專案;將來會是真正有技術底子的人,開始起來做技術層次的專案經理,帶領緊密的開發團隊。我希望能跟上這潮流,也努力加強自己的管理軟體專案的底子,不再做一個個被帶的開發人員之一,而是預先看到正確的方向,並起而帶領的人。雖然我是比較喜歡跟電腦講話,但覺得自己該走出去,多認識一些人,因此除了自己會去之外,想趁機多認識一些志同道合的朋友…不知道有沒有人也想去的?想藉機認識一下各位,不知道有沒有人有興趣? 若有人有興趣的話,在此留個言,讓我知道…也看我們要如何會面…比如說各中場休息時,我們就在門口處聚集?