軟體開發流程主要是處理軟體開發的已知層面。只有在您知道必須完成的事情上,您才有辦法精確地描述、排定、指派及審查。風險管理是處理未知層面。風險管理長久以來就在我們身旁;就像 Tim Lister
所說:「所有無風險的專案都是騙人的。」
許多組織仍然以一種「拒絕風險」的態度在做事:全部變數已知時,即完成估計和規劃,認為工作一成不變、人員是可取代...等。但有愈來愈多組織起碼會在口頭上說說風險管理;追根究底,您可能發現通常只做表面功夫,只是稍微試試看降低風險而已。
反覆生命週期中有許多決策是基於風險而形成。為了達到這項目標,您必須確實掌握專案面臨的風險,並針對如何緩和或因應風險來訂定明確的決策。
在日常生活中,風險是指曝露在損失或傷害的威脅下;捲入不確定性危險的因素、事物、元素或過程。在軟體開發中,有更特別的解釋:
-
風險是一項變數,在常態分佈內可能使用危及或抹煞專案成功機會的值。
坦白說,風險就是阻擋我們成功的任何因素,且目前未知或無法預測。
-
成功是指符合掌權者對專案期待的全部需求和限制。
我們可以進一步將風險分為直接或間接:
-
直接風險:專案可妥善控制的風險
-
間接風險:專案只能稍微控制或完全無法控制的風險
風險的特性:
兩者通常可以合併成單一的風險程度指標:高、重大、中等、次要、低。
風險管理的主要概念不是消極地等待風險形成問題或毀掉專案,而是要設法解決。對於每一項發覺的風險,您應該事先設法因應。主要有三種可能的作法:
-
規避風險:改造專案,使之不受風險影響。
-
移轉風險:改造專案,由其他人事物來承擔風險(客戶、廠商、銀行、其他元素等)。
-
接受風險:決定將風險視為意外事故。密切監視風險症狀,一旦風險浮現,即根據應變計劃來決定如何因應。
接受風險時,您應該採取兩種動作:
-
緩和風險:採取一些立即、主動的步驟,以降低風險的機率或衝擊。
-
定義應變計劃:一旦風險演變為實際問題時應該採取什麼行動方針。
如需風險管理的相關資訊,請參閱 [BOE91]、[CAR93]、[CHA89]、[FAI94] 及 [JON94]。
|