張寧
摘 要:自計算機技術被人們所重視以來,人們對于各類軟件的開發也就隨之興起,世界軟件產業也在不斷發展壯大,并且成為了世界經濟發展中一個重要的環節。但是隨著人們對于軟件技術含量要求的日漸提高,各類軟件項目開發中的失敗情況也在不斷增加,給企業帶來損失。本文簡要介紹了軟件開發項目,介紹軟件開發項目風險的特征、種類以及評估方法。
關鍵詞:軟件開發項目;項目風險;風險評估
1軟件開發項目的概述
軟件是計算機系統得以正常運轉的必要條件,其主要包括運行程序、數據庫以及各類相關文件。軟件開發項目本身屬于特殊項目開發工作,其與普通項目開發工作在特征上有著一定的差別。首先,軟件開發項目是創新的過程中,其所研發的程序是客戶指定的,無法利用現有組件對其進行拼接;其次,軟件開發項目所加工的對象是一系列抽象化的數據,并不是可以看得見、摸得著的實物;第三,軟件開發過程中需要相關開發人員投入大量的腦力勞動,并且這種腦力勞動強度較高,所需知識十分復雜;第四,軟件開發項目所研發的商品也不具有具體形態,屬于程序代碼,是各類抽象化的數據集成體,因此其在開發的過程中能夠方便開發人員進行修改和完善。
2軟件開放項目風險評估的概述
2.1風險的概述
在市場經濟運行過程中,風險是無處不在的,各行各業都需要承擔其本身所具備的風險,而一個企業對于風險的預估、評價和規避能力就成為了其是否能夠長遠發展的重要依據。根據國外研究者對于風險的定義上可以看出,他們認為風險主要就是人類在從事某項已定的活動中時,由于各類不確定因素的影響,對自身造成了經濟損失的情況,也就是可能發生的危險因素對當事人或企業造成的損失。
2.2軟件開發項目風險的各類特征
軟件項目開發本身就是一類具有特殊性質的項目開發性工作,其與普通的項目存在著一定的差別,因此,軟件開發項目本身也就具有了自身獨有的特征。
(1)客觀性
在軟件開發的整個過程中,風險是隨時相伴的,其發生的時間無法進行準確的確定,對于風險的規避也具有較大的局限性,因此人們只能通過相關手段盡量減少風險帶給企業的損失,而無法完全對其進行規避。軟件項目開發中的風險也是具有這種客觀存在性和普通性質的,并且在軟件開發的過程中,其風險發生的幾率也遠超普通項目開發工作。
(2)不確定性
不確定性是軟件項目開發過程中風險的主要特征,根據軟件開發團隊本身的客觀屬性、軟件開發環境以及客戶對于軟件功能的要求等的不同,軟件項目開發過程中所要面對的風險也就不同。同時由于各類客觀條件的不斷變化,人們對于軟件項目開發過程中所能夠發生的各類風險也不能夠十分確定,同時在各類風險認知上,各企業或軟件研發者的認識都有所不同,就使得風險的不確定性有著更大的變化。
(3)行為的相關性
在軟件項目開發的過程中,出于對將風險控制在最低的目的考慮,需要有相關的決策者對各類開發工作過程中的風險進行評估,而此時,軟件開發的風險也就隨著決策者的行為發生了一定的轉變。因為,不同的決策者對于軟件項目開發的風險有著不同的認知,并且在采取相應預估和規避策略時其所采取的方法也不相同,但是風險本身卻是客觀存在的,不同的行為模式能夠導致風險的結果有著不同的變化,這也就是風險的行為相關性,同時也加劇了風險本身的不確定性特征。
(4)多樣性
由于軟件項目開發工作本身就具有極其多樣的技術引入,因此在工作開展的過程中風險也就發生了多樣性的轉變。由于項目本身的規模、周期、范圍以及種類等客觀因素也存在著一定的差異,也就使得風險的過程和結果各不相同。另外,在軟件項目開發的過程中,相關決策者對于各類風險都會做出預估和規避,并且在開發的各個階段也會針對于不同的風險給予相應的改進措施,而這樣也就使得在整個過程中部分風險得到了有效的降低,但是卻使得另一部分風險發生了轉變,產生了新的風險,使得軟件開發的風險種類越來越多。另外,各類風險在發生時能夠互相左右、互相牽制、互相誘發,這也就加大了風險的多樣性變化,給風險評估和規避工作帶來了一定的麻煩。
(5)對稱性
在所有的項目開發過程中,項目本身的風險與項目能夠帶來的經濟收益都是呈現對稱性的,風險越高的項目,其能帶給雙方的經濟利益也就越大;但同時,風險性越大,其給雙方可能帶來的經濟損失也就越大,軟件的開發也不例外。
2.3軟件項目開發中風險的種類
由于軟件項目開發本身具有的特殊性,因此其過程中所產生的風險種類也非常多。其中,按照風險的內容進行劃分,主要包括管理風險、費用風險、周期風險、技術風險以及商業影響風險等;而按照風險本身的性質可以將其分為3類,分別是開發環境風險、項目特殊化風險以及產品本身風險;按照風險的確定性進行分類,可以將軟件項目開發風險分為3大類,分別是已知性風險、可預知性風險以及不可預知性風險。
3軟件項目開發風險管理的概述
軟件項目開發風險管理工作就是對軟件在開發過程中所能夠遇到的各類風險進行預估,并對判斷出的風險進行有效的規避。這類工作在各行各業運營過程中都需要開展,是保證企業經濟收入,減小風險給投資者和開發者帶來的經濟損失,有效保證企業的穩定收入的主要方法。根據其所采用方法的不同,風險管理所能夠起到的作用也不相同,同時對于風險結果的改變也就不相同。
4模糊邏輯下軟件開發風險評估的方法
模糊邏輯是一種與人類思維邏輯方式最為接近的分析方法,其主要是對于各類不確定因素、不準確信息進行判斷的分析方法。模糊邏輯主要是基于模糊邏輯變量、模糊邏輯函數以及似然推理等方法對軟件開發項目中存在的風險進行分析。
4.1模糊邏輯的基礎理論
在傳統邏輯思維中,其主要是以二值邏輯為基礎,也就是說其對于事物的判斷主要就基于兩個結果,分別是“是”和“非”,這屬于對事物的清晰化判斷。對于不確定或變化性較大的事物的判斷上存在著極大的缺陷,因此也就誕生了模糊邏輯理論。
軟件開發過程中,相關開發者在對軟件進行設計的過程中需要參考客戶所給出的條件,而這些條件本身具有一定的模糊性和不確定性,因此由于開發者理解的不同就會造成軟件風險的不同,也就產生了不確定性。對于有模糊數集來說,其研究的對象是模糊的,但所分析的函數本身趨勢是精確的,但是由于在分析的過程中,人的主觀認知有著一定的偏差,因此這種函數既具有數學的科學性,又具有個人化的主觀性。
4.2模糊邏輯下對于軟件開發風險的評估方法
模糊邏輯可以說是對軟件開發中所產生的風險進行評價的最有效方法之一,由于軟件開發項目本身的特殊性,其所產生的風險也就具有特殊性質,而模糊邏輯方法對于這類不確定性極高的事件的評估效果極好。
首先,相關管理者需要對軟件開發中所能夠產生的各類風險進行歸納,可以借鑒國外的相關研究,并將其歸于模糊邏輯數據庫中,保證在后期評估過程中能夠有據可依。
其次,根據所開發的軟件項目的實際情況,對整個風險評估工作設計框架,這是為風險評估工作提供了保障。
第三,根據模糊邏輯計算公式,對各類可能發生的風險情況進行分析和推演,并且建立其完整的模型。這樣管理者就能夠對各類風險所導致的因素有一個直觀的了解。同時也對各類風險所能夠帶來的結果進行了解,并對其進行相應的改變。
第四,對概率樹進行設定,這樣就能夠了解到在項目開發過程中,每一個風險發生的幾率,同時了解各類風險對于現金流的影響情況。同時對于概率樹的建立能夠有效對風險在發展過程中所產生的變化進行有效的預判,但需要注意的是,這種方法無法為風險管理人員提供準確的風險發生概率和影響情況,還需要管理者基于數據進行判斷。
5結語
軟件開發的風險在一定程度上制約了軟件行業的發展,利用模糊邏輯理論能夠有效對未知的風險進行評估,雖然無法得到準確的風險判斷,但是可以為相關管理者提供有力的參考數據,幫助其對軟件開發流程的安排進行判斷。
參考文獻
[1] 陳麗蓉.軟件開發項目中的風險管理[J]. 海南廣播電視大學學報,2008(04).
[2] 曹陽紅.軟件開發項目風險研究[J]. 電子商務,2010(08).
[3] 駱劍鋒.淺析軟件開發項目過程中的風險管理[J]. 電腦知識與技術,2009(18).
[4] 尹其磷. 軟件開發的風險分析與控制[J]. 武漢理工大學報,2003(05).
[5] 黃一新. 論信息系統軟件開發項目的風險管理[J]. 情報探索,2012(12).