在全球軟件業(yè)高速發(fā)展的今天,軟件項目的實施情況卻不甚理想。據(jù)統(tǒng)計,約80%~90%信息化投資沒有達到預期目標,80%的項目超期或超預算,40%的項目以失敗告終,只有不足25%的項目達到預期的技術和業(yè)務目標。這種局面的出現(xiàn)是與軟件項目本身所蘊含的諸多風險密切相關的,如技術風險、管理風險、需求風險等;而能夠?qū)π枨箫L險進行有效控制則是決定整個項目成敗的關鍵。

  企業(yè)信息化項目中存在的主要需求風險

  1.軟件需求的定義和層次

  什么是軟件需求呢?關于這個概念有各種各樣的定義,IEEE軟件工程標準詞匯表(1997)中定義需求為:

 ?。?)用戶解決問題或達到目標所需的條件或權能(Capability)。

 ?。?)系統(tǒng)或系統(tǒng)部件要滿足合同、標準、規(guī)范或其它正式規(guī)定文檔所需具有的條件或權能。

 ?。?)一種反映上面(1)或(2)所描述的條件或權能的文檔說明。

  這個定義包括了從用戶角度和開發(fā)者角度來闡述需求;另外一種定義是從系統(tǒng)外部出發(fā)認為需求是“用戶所需要的并能觸發(fā)一個程序或系統(tǒng)開發(fā)工作的說明”(Jones 1994)。下面的定義則從用戶需要進一步轉移到系統(tǒng)特性( Sommerville and Sawyer 1997):需求是指明必須實現(xiàn)什么的規(guī)格說明。它描述了系統(tǒng)的行為、特性或?qū)傩裕窃陂_發(fā)過程中對系統(tǒng)的約束。

  從上面這些定義可以看出,人們可以從不同角度去理解和描述需求,而關鍵是參與項目的人員能夠針對需求描述達成清晰一致的共識。此外,軟件需求又劃分為業(yè)務需求、用戶需求和功能需求三個層次,業(yè)務需求(Business Requirement)反映了組織機構或客戶對系統(tǒng)、產(chǎn)品高層次的目標要求,用戶需求(User Requirement)描述了用戶使用產(chǎn)品必須完成的任務,功能需求(Functional Requirement)定義了開發(fā)人員必須實現(xiàn)的軟件功能。這種層次的劃分體現(xiàn)出了需求從抽象到具體、從系統(tǒng)外部到內(nèi)部的逐級轉化過程。對于軟件開發(fā)人員來說最終必須獲得準確詳細地功能需求描述,而客戶經(jīng)常會認為只要將業(yè)務需求或用戶需求描述出來就足夠了,從而使最終開發(fā)人員獲取的需求信息不夠充分,或與客戶的期望產(chǎn)生差異。

  2.軟件需求的重要性

  對于軟件開發(fā)工作來說,其原始驅(qū)動力來自于用戶的需求,而非軟件開發(fā)技術本身。軟件或信息系統(tǒng)只是輔助人們完成某項工作任務的工具,必須依靠使用者告訴它要做什么和怎么做,且每一細節(jié)規(guī)則的定義必須是明確具體的,才能使整個信息系統(tǒng)正常運轉起來。因此軟件需求是軟件開發(fā)工作的一個最重要的輸入。

  在判斷一個軟件項目是否成功時,一般從以下幾方面來衡量:

 ?。?)項目是否達到預期目標;

 ?。?)項目的實施是否使工作效率得到提升;

 ?。?)軟件的使用者是否有良好的感受;

 ?。?)項目成本和工期是否控制在計劃之內(nèi)。

責任編輯:admin