軟件項目的風險分析_第1頁
軟件項目的風險分析_第2頁
軟件項目的風險分析_第3頁
軟件項目的風險分析_第4頁
軟件項目的風險分析_第5頁
已閱讀5頁,還剩3頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

軟件項目的風險分析軟件工程項目的開發也存在各種各樣的風險,有些風險甚至是災難性的。R.Charette認為,風險與將要發生的事情有關,它涉及諸如思想、觀念、行為、地點、時間等多種因素;風險隨條件的變化而改變,人們改變、選擇、控制與風險密切相關的條件可以減少風險,但改變、選擇、控制條件的策略往往是不確定的。在軟件開發過程中,人們關心的問題是,什么風險會導致軟件項目的徹底失敗?顧客需求、開發環境、目標機、時間、成本的改變對軟件項目的風險會產生什么影響?人們必須抓住什么機會、采取什么措施才能有效地減少風險、順利完成任務?所有這些問題都是軟件開發過程中不可避免并需要妥善處理的。軟件工程的風險分析包括:風險標識、風險估算、風險評價和風險管理四部分風險標識

從宏觀上看,風險可以分為項目風險、技術風險和商業風險三類。由于項目在預算、進度、人力、資源、顧客和需求等方面的原因對軟件項目產生的不良影響稱為項目風險。軟件在設計、實現、接口、驗證和維護過程中可能發生的潛在問題,如規格說明的二義性、采用陳舊或尚不成熟的技術等等,對軟件項目帶來的危害稱技術風險。開發了一個沒人需要的優質軟件,或推銷部門不知如何銷售這一軟件產品,或開發的產品不符合公司的產品銷售戰略,等等,稱為商業風險。這些風險有些是可以預料的,有些是很難預料的。為了幫助項目管理人員、項目規劃人員全面了解軟件開發過程存在的風險,Boehm建議設計并使用各類風險檢測表標識各種風險。

2、風險估算

軟件項目管理人員可以從影響風險的因素和風險發生后帶來的損失兩方面來度量風險。為了對各種風險進行估算,必須建立風險度量指標體系;必須指明各種風險帶來的后果和損失;必須估算風險對軟件項目及軟件產品的影響;必須給出風險估算的定量結果。3、風險評價和管理

在風險分析過程中,經常使用三元組[RI,LI,XI]描述風險。其中RI代表風險,LI表示風險發生的概率,XI是風險帶來的影響,I=1,2,…L是風險序號,表示軟件項目共有L種風險。軟件開發過程中,由于項目超支、進度拖延和軟件性能下降都會導致軟件項目的終止,因此多數軟件項目的風險分析都需要給出成本、進度和性能三種典型的風險參考量。當軟件項目的風險參考量達到或超過某一臨界點時,軟件項目將被迫終止。在軟件開發過程中,成本、進度、性能是相互關聯的。例如,項目投入成本的增長應與進度相匹配,當項目投入的成本與項目拖延的時間超過某一臨界點時,項目也應該終止進行。通常風險估算過程可分為

四步:①定義項目的風險參考量;②定義每種風險的三元組[RI,LI,XI];③定義項目被迫終止的臨界點;④預測幾種風險組合對參考量的綜合影響。三元組[RI,LI,XI]是風險管理的基礎。設高級職員流動給項目帶來的風險為R。根據歷史的經驗或直觀感覺,高級職員離開課題組的概率:LI=70%。這一事件的出現帶來的影響XI是項目開發時間延長15%,項目成本增加20%。于是項目負責人可以采取下列風險管理措施:

(1)項目開始以前應控制產生風險的原因,在項目開工后應想方設法減輕風險影響。(2)了解導致項目開發人員變動的原因,在項目開發期間應控制上述原因,盡量減少人員的流動。

(3)在工作方法和技術上應采取適當措施,防止因人員流動給工作帶來損失。

(4)項目在開發過程中應及時公布并交流項目開發的信息。

(5)建立組織機構,確定文檔標準,并及時生成文檔。

(6)對工作進行集體復審,使多數人都能了解工作的細節,跟上工作進度。

(7)為關鍵技術準備后備人員。軟件項目,尤其是大型項目有二項非常重要的因素,會影響整個項目的進度與質量,它們分別是:“人”、“流程”與“技術”。

“人”是項目中最難預料與掌控的一項要素,人可分成兩部份,一是客戶,二是開發團隊。

“技術”是指軟件項目所使用的開發半臺,主要指開發環境及開發語言。是最容易掌握的部份。

“流程”是指軟件開發流程或是項目流程,定義流程的目的是要掌控所有的情況。項目的最大敵人是時間及預算,這兩者都是有限的,如何在有限預算內準時完成項目,可說是一項藝術。

“人”因素分析

“人”是指客戶和開發團隊,其中開發團隊的因素對項目影響很大,對于這方面影響因素主要分析如下:

·人員技能未達到要求

在項目開始之初,我們假設項目成員都能夠達到組織級的要求,但往往并不是每個成員都能夠達到要求。而且項目中每個成員的生產率差異可能很大,也給項目進度安排造成影響。所以在項目始之初,應該對項目成員的技能進行一次總體的評估,對于大家都欠缺的技能,應該安排統一的培訓,后續需要對培訓的效果進行跟蹤;對于個別人員技能欠缺的,應該單獨預留自我學習時間或通過以師帶徒的方式進行培養,使其技能能夠盡快達到要求:對于項目新員的工作和任務,應該加強評審和檢查,保證輸出不出現大的偏差而導致后續大量的返工。對于這方影響因素主要分析如下:

·項目成員責任心不強

態度決定一切,細節決定成敗。對于項目過程中的各項任務,經常出現由于項目成員責任心不強敷衍了事,導致產出的工件質量較差,引起大量返工的情況。在這種情況下,項目更應該加強項目規范的建設,項目經理應加強同這些成員的單獨溝通,加強項目的團隊建設和集體榮譽感。讓項目成員感覺到做的系統是他們自己的產品,而不是公司的項目,項目經理的項目。

·項目溝通問題

在軟件項目中,保證項目各種角色和成員中的高效溝通是很重要的,如何建立起快捷順暢的溝通渠道,采用最佳的溝通方式來解決問題,必須在項目中經常強調。如果一周的項目任務花存實際做事情上有2天,而花在溝通上卻占用了3天,這時必須及時分析和總結原因。溝通最重要的就是要在最短的時間里面,采用各種方法或工具,使交流雙方或多方達成一致。

·項目人員流失

項目人員特別是項目關鍵成員在項目進行過程中的流失,對項目影響很大,對于這種情況,應該在項目開始之初,就作為專門的風險進行跟蹤,并考慮具體的應對措施。“流程”因素分析

軟件的開發流程般定義為:需求分析一可行性分析一概要設計一結構化設計一詳細設計一編碼一軟件測試一軟件維護。

“流程”中軟件項目的風險,主要體現存4個階段:軟件需求階段、軟件設計階段、軟件實現階段和軟件維護階段·軟件需求階段

軟件的開發是以用戶的需求開始,在大多數情況下,用戶需求要靠軟件開發方誘導,才能保證需求的完整,再以的形式形成《用戶需求》這一重要的文檔。需求分析更多的是開發方確認需求的可行性和一致性的過程,在此階段需要和用戶進行廣泛的交流和確認。需求和需求分析的任何疏漏造成的損失,會在軟件系統的后續階段被一級級地放大,因此本階段的風險最大。

·軟件設計階段

設計的主要目的在于軟件功能正確地反映了需求,需求的不完整和對需求分析的不完整或者錯誤,在設計階段將被成倍地放大。設計階段的主要任務是完成系統體系結構的定義,使之能夠完成需求階段的即定目標;另一方面也是檢驗需求的致性和需求分析的完整性和正確性。

設計階段的風險主要來自于系統分析人員。分析人員存設計系統結構時過于定制,系統的可擴展性較弱,會給后期維護帶來巨大的負擔和維護成本的激增。對用戶來說系統的使用比例會有明顯的折扣,甚至會造成軟件壽命過短。反之,軟件結構的過于靈活和通用,必然引起軟件實現的難度增加,系統的復雜度上升,可靠性降低,給實現和測試階段帶來風險,系統的穩定性也會受到影響。從另一個角度上看,用戶需求和將來軟件運行環境的變化都是必然的,目前軟件設計的所渭的“通用性”是否就能很好的適應將來需求和運行環境的變化,都是需要認真折衷的,而這種折中也蘊涵著很大的風險。

設計階段蘊涵的另一種風險來自于設計文檔。文檔的不健全不僅會造成實現階段的困難,更會在后期的測試和維護造成災難性的后果,例如根本無法對軟件系統進行版本級,甚至是發現的簡單錯誤都無從更正。

·軟件實現階段

軟件的實現從某種意義上講是軟件代碼的生產。源代碼木身也是文檔的一部分,同時它又是將來運行于計算機系統之上的實體。源代碼書的規范性,可讀性是該階段的主要風險來源。規范的代碼生產會把屬于程序員自身個性風格的成分引入代碼的比例降到最低限度,從而減小了系統整合的風險。

·軟件維護階段

軟件維護包含兩個主要的維護階段,一個是軟件生產完畢到軟件試運行階段的維護,這個階段是一種實環境的測試性維護,其主要目的是發現在測試環境中不能或末發現的問題;另一個階段是當軟件的運行不再能適應用戶業務需求或是用戶的運行環境(包括硬件平臺、軟件環境等)時進行的軟件維護,具體可能是軟件的版本升級或軟件移植等。

“技術”因素分析

存軟件項目開發和建設的過程中,技術因素是一個非常重要的因素。項目組一定要本著項目的實際要求,選用合適、成熟的技術,千萬不要無視項目的實際情況選用一些雖然先進但并非項目所必須且自己又不熟悉的技術。如果項目所要求的技術項目成員不具備或掌握不夠,則需要重點關注該風險因素。

建立項目管理流程

那么如何解決這些問題,實際上很多模型已經給出了答案,比如RUP、QoS、XP等,但是大家在學習和使用這些模型的時候,往往覺得這些模型提出的概念和實施比較難以操作,另外就是不管是RUP、Q0S還是XP,既然是一個方法模型,就不可避免要描述為一個完整的、系統化的理論模型,否則就體現不出理論的完整和邏輯的嚴謹。下面我們只是把以軟件設計為核心的開發管理流程化,避免在頻繁發生外界變化的情況下,變被動為主動。

軟件項目管理除了按照既定的管理流程進行有效的控制,還要對各階段的文檔進行標準化管理,保證文檔的完整和標準化,為軟件后期的維護提供有力的支持。排序輸入風險事件可能性影響風險值采取的措施1客戶的sow需求不明確,增加需求,導致需求蔓延。70%50%35%請專業需求分析師和客戶代表具體深入細節的交談,多了解客戶的想法,站在客戶的角度上思考問題。2合同進度要求緊,合同金額和日期有限。30%50%15%可以請一些實習的學生做輔助工作,一來降低成本,二來可以加快進度。3歷史項目信息開發人員對測試工作不重視30%40%12%1)強制性要求每段代碼保留測試單元,由SQA檢查。4WBS對需求的開放式系統標準沒有合適的測試案例20%80%16%找專業的測試公司完成測試工作5歷史項目信息開發人員的流動15%60%9%注意項目團隊的溝通,及時了解開發人員的動態。控制好項目過程中的文檔從其它的項目組解調人員從外部招聘有過此類開發經驗人員6系統設計評審沒有足夠的時間進行產品測試50%50%25%采取加班的方法修改計劃去掉一些任務與客戶商量延長一些時間7需求和計劃采用新技術可能導致進度的延期50%30%15%培訓開發人員找專家作指導采取邊開發邊學習的方法,要求他們必須在規定的時間內掌握技術

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論