軟體專案延遲交付
軟體專案是風險很高的專案類型,如果最後完成的軟體正確,只有時程延遲了但還在誤差範圍內,不妨就視為成功吧。
我最近收到了一個友人請教我的 IT 問題,友人即將擔任某個組織的資訊負責人
我們 [組織名稱] 今年新網站與APP上線,我的前手找了一家廠商,本來契約定 xxx 時間就結案,結果拖到 yyy 時間才結案,拖了快一整年。
…我在想,之後還要找同一家廠商嗎?因為原來的廠商感覺能力不足,拖了快 1 年才結案。
我收到了這封信之後,思考了良久,才完整地回覆。
參考上圖,圖出自 Steve McConnell's book Software Project Survival Guide。
軟體專案的估時變動性很高,但是會隨著專案的推進變得更加精確。在專案最初所做出的估時,變動性最高。那時如果估計出來的時間是 X ,實際消耗的時間,在最佳案例有可能是 0.25X ,在最差的案例,則有可能高達 4X 。
理論上來講,承包你們專案的廠商,他的估時的時間點,有可能是在我畫紅圈的那個點。在那個點做的估時,如果承諾一年,最後花兩年的時間才交付,很有可能並不是能力不足。軟體專案有太多的變數,人為的估時很難準確。
此外,在我的經驗,會延誤時程且軟體又做得亂七八糟、顯然比你們現在的承包廠商更差的公司,其實也滿多的。而我個人最失敗的一次估時、估成本,確實也是誤差約四倍左右。
思考
很多軟體外包業的領導者並沒有認真面對這個行業固有的問題:「估時、估成本非常困難,難以準確。」也許因為如此,軟體外包一直都是個沒有健康發展的產業。
採用專案計價的,如果在訂定合約時,接受了買方提出的「延時三個月就有罰則」,無異於在訂定合約時,就讓自家的公司處於高風險之中。
也有廠商採取另一種方式,完全放棄估時,採用人天計價。而這種作法,等同於放棄了賺取高額利潤的可能性。長期採用的話,由於利潤太低因而難以提高工程師的薪水,就會讓自家的公司變成培訓軟體人才的新手村。
如果有正確地認知風險,且在訂定合約時,就與客戶一起合理地分攤風險,相信做得好的廠商可以相對容易成長,而消費者也會因此而得利。


