Saturday, May 12, 2001

軟體開發的時程與風險

  上次談了“嵌入式軟體”,這次就談談也出現在《數位式競爭》的“軟體專案失敗常見的原因──時程估計錯誤”:

  「軟體專案的完成時間在開發的初期不只是難以估計,理論上是不可能估計的」。相信這句話在這一陣子以來,大家的體會都很深了吧!

  但是許多公司不能接受這樣的事實。主管們要求在一開始就要有明確的時程和成本估計。但是時程估計的誤差要減少,有賴於事前對專案作明確的“定義”和嚴謹的“分析”。並已經真正著手作部分的“設計”。不然,時程錯估的情形是必然發生的。

  導致錯誤的時程預估方法背後的原因有:

  1. 過分熱觀的軟體開發者。
  2. 增加人手不一定管用──開發工作不能隨意切割,因軟體程式彼此關係緊密,許多開發工作必須連貫地完成。
  3. 低估了完成軟體產品所需的努力──許多軟體服務公司一直犯一個重複的錯誤,以為在為幾個客戶開發了幾個功能類似的軟體系統後,就可以把以前開發的成果,轉變為一個標準產品,同時為數十位客戶提供相同的功能。他們錯了。
  4. 管理階層不顧現實的期望──一廂情願的期待本身就是一個陷阱,管理階層往往還故意利用過度樂觀的期望對開發人員施壓。
  5. 過度壓縮的時程──不務實的時程也許能激勵某些人拼命工作,但是軟體開發人員是分析能力極強、而且非常聰明的一群人。假如開發時程脫離現實,結果就是沒人把它當一回事。
  6. 功能偷渡現象──沒有人會強迫營建商,在屋頂已經蓋好以後,再去重建地下室。但在軟體業裡,這卻是司空見慣的事。

  當然,在專案開始前,最少要先對客戶的需求有一個模糊的概念,並且將其寫下來。然後很重要的是要評估專案的“風險”。常見的風險可以分成“需求風險”、“技術風險”、“技能風險”和“政治風險”:
  • 需求風險──很明顯地,最大的風險是做出不是顧客需要的軟體系統。
  • 技術風險──是否選對符合需要的技術?不同的部分能不能整合在一起?
  • 技能風險──是否有完成工作所需的人員和專家?
  • 政治風險──是否有政治力量介入而且會嚴重影響到專案?

  在認清風險後才可以決定是否繼續進行這個專案──比較不成功的軟體服務公司毫無選擇地承接專案,但表現優異的公司平均拒絕了40%上門的生意。

  哈!哈!這一回的內容大都是由《數位式競爭》一書中“偷”過來的,建議您可以翻閱一下本書...
Tags: [] [] []

0 comments: