關(guān)于軟件項(xiàng)目管理及風(fēng)險(xiǎn)分析
摘要:軟件項(xiàng)H的有效管理,對(duì)項(xiàng)目的成敗具有至關(guān)重要的作用。軟件項(xiàng)目的風(fēng)險(xiǎn)體現(xiàn)存些方血,如何回避這些風(fēng)險(xiǎn),存本文中進(jìn)行了探討,最后指出建立合理的管理流程,對(duì)軟件項(xiàng)目的管理來(lái)說(shuō),是非常重要的。
關(guān)鍵詞:軟件項(xiàng)目:管流程;風(fēng)險(xiǎn)分析
軟件項(xiàng)目管理的提出是在2O世紀(jì)70年代中期的美國(guó),當(dāng)時(shí)美國(guó)國(guó)防部專(zhuān)研究了軟件開(kāi)發(fā)不能按時(shí)提交,預(yù)算超支和質(zhì)量達(dá)到用戶(hù)要求的原因,結(jié)果發(fā)現(xiàn)70%的項(xiàng)目是因?yàn)楣芾聿簧埔鸬,而非技術(shù)原因。于是軟件開(kāi)發(fā)者開(kāi)始逐漸重視起軟件開(kāi)發(fā)中的各項(xiàng)管理。到了20世紀(jì)90年代中期,軟件研發(fā)項(xiàng)日管理不善的問(wèn)題仍然存在。據(jù)美國(guó)軟件工程實(shí)施現(xiàn)狀的調(diào)查,軟件研發(fā)的情況仍然很難預(yù)測(cè),大約只有10%的項(xiàng)目能夠在預(yù)定的費(fèi)用和進(jìn)度下交付。
究竟怎么樣才能做好軟件項(xiàng)目的管理及風(fēng)險(xiǎn)分析,保證項(xiàng)目順利實(shí)施呢?這是個(gè)比較復(fù)雜的問(wèn)題,下面就軟件項(xiàng)目的特點(diǎn),縮合大家的經(jīng)驗(yàn)總結(jié),談一點(diǎn)看法。
1、軟件項(xiàng)目管理風(fēng)險(xiǎn)分析
軟件項(xiàng)目管是為了使軟件項(xiàng)目能夠按照預(yù)定的成本、進(jìn)度、質(zhì)量順利完成,而對(duì)人員、產(chǎn)品、過(guò)程和項(xiàng)目進(jìn)行分析和管理的活動(dòng)。目的是為了讓軟件項(xiàng)目尤其是大型項(xiàng)目的整個(gè)軟件生命周期(從分析、設(shè)計(jì)、編碼、測(cè)試、到維護(hù)全過(guò)程)都能在管理者的控制之下,以預(yù)定成本按期,按質(zhì)的完成軟件交付用戶(hù)使用。
怎樣進(jìn)行有效的項(xiàng)目管理呢?首先我們來(lái)分析下影響軟件項(xiàng)目的質(zhì)量因素。
軟件項(xiàng)目,尤其是大型項(xiàng)目有二項(xiàng)非常重要的因素,會(huì)影響整個(gè)項(xiàng)目的進(jìn)度與質(zhì)量,它們分別是:“人”、“流程” 與“技術(shù)”。
“人”是項(xiàng)目中最難預(yù)料與掌控的一項(xiàng)要素,人可分成兩部份,一是客戶(hù),二是開(kāi)發(fā)團(tuán)隊(duì)。
“技術(shù)”是指軟件項(xiàng)目所使用的開(kāi)發(fā)半臺(tái),主要指開(kāi)發(fā)環(huán)境及開(kāi)發(fā)語(yǔ)言。是最容易掌握的部份。
“流程”是指軟件開(kāi)發(fā)流程或是項(xiàng)目流程,定義流程的目的是要掌控所有的情況。項(xiàng)目的最大敵人是時(shí)間及預(yù)算,這兩者都是有限的,如何在有限預(yù)算內(nèi)準(zhǔn)時(shí)完成項(xiàng)目,可說(shuō)是一項(xiàng)藝術(shù)。
1.1“人”因素分析
“人”是指客戶(hù)和開(kāi)發(fā)團(tuán)隊(duì),其中開(kāi)發(fā)團(tuán)隊(duì)的因素對(duì)項(xiàng)目影響很大,對(duì)于這方面影響因素主要分析如下:
人員技能未達(dá)到要求
在項(xiàng)目開(kāi)始之初,我們假設(shè)項(xiàng)目成員都能夠達(dá)到組織級(jí)的要求,但往往并不是每個(gè)成員都能夠達(dá)到要求。而且項(xiàng)目中每個(gè)成員的生產(chǎn)率差異可能很大,也給項(xiàng)目進(jìn)度安排造成影響。所以在項(xiàng)目始之初,應(yīng)該對(duì)項(xiàng)目成員的技能進(jìn)行一次總體的評(píng)估,對(duì)于大家都欠缺的技能,應(yīng)該安排統(tǒng)一的培訓(xùn),后續(xù)需要對(duì)培訓(xùn)的效果進(jìn)行跟蹤;對(duì)于個(gè)別人員技能欠缺的,應(yīng)該單獨(dú)預(yù)留自我學(xué)習(xí)時(shí)間或通過(guò)以師帶徒的方式進(jìn)行培養(yǎng),使其技能能夠盡快達(dá)到要求:對(duì)于項(xiàng)目新員的工作和任務(wù),應(yīng)該加強(qiáng)評(píng)審和檢查,保證輸出不出現(xiàn)大的偏差而導(dǎo)致后續(xù)大量的返工。對(duì)于這方影響因素主要分析如下:
項(xiàng)目成員責(zé)任心不強(qiáng)
態(tài)度決定一切,細(xì)節(jié)決定成敗。對(duì)于項(xiàng)目過(guò)程中的各項(xiàng)任務(wù),經(jīng)常出現(xiàn)由于項(xiàng)目成員責(zé)任心不強(qiáng)敷衍了事,導(dǎo)致產(chǎn)出的工件質(zhì)量較差,引起大量返工的情況。在這種情況下,項(xiàng)目更應(yīng)該加強(qiáng)項(xiàng)目規(guī)范的建設(shè),項(xiàng)目經(jīng)理應(yīng)加強(qiáng)同這些成員的單獨(dú)溝通,加強(qiáng)項(xiàng)目的團(tuán)隊(duì)建設(shè)和集體榮譽(yù)感。讓項(xiàng)目成員感覺(jué)到做的系統(tǒng)是他們自己的產(chǎn)品,而不是公司的項(xiàng)目,項(xiàng)目經(jīng)理的項(xiàng)目。
項(xiàng)目溝通問(wèn)題
在軟件項(xiàng)目中,保證項(xiàng)目各種角色和成員中的高效溝通是很重要的,如何建立起快捷順暢的溝通渠道,采用最佳的溝通方式來(lái)解決問(wèn)題,必須在項(xiàng)目中經(jīng)常強(qiáng)調(diào)。如果一周的項(xiàng)目任務(wù)花存實(shí)際做事情上有2天,而花在溝通上卻占用了3天,這時(shí)必須及時(shí)分析和總結(jié)原因。溝通最重要的就是要在最短的時(shí)間里面,采用各種方法或工具,使交流雙方或多方達(dá)成一致。
項(xiàng)目人員流失
項(xiàng)目人員特別是項(xiàng)目關(guān)鍵成員在項(xiàng)目進(jìn)行過(guò)程中的流失,對(duì)項(xiàng)目影響很大,對(duì)于這種情況,應(yīng)該在項(xiàng)目開(kāi)始之初,就作為專(zhuān)門(mén)的風(fēng)險(xiǎn)進(jìn)行跟蹤,并考慮具體的應(yīng)對(duì)措施。
1.2“流程”因素分析
軟件的開(kāi)發(fā)流程般定義為:
需求分析一可行性分析一概要設(shè)計(jì)一結(jié)構(gòu)化設(shè)計(jì)一詳細(xì)設(shè)計(jì)一編碼一軟件測(cè)試一軟件維護(hù)。
“流程”中軟件項(xiàng)目的風(fēng)險(xiǎn),主要體現(xiàn)存4個(gè)階段:軟件需求階段、軟件設(shè)計(jì)階段、軟件實(shí)現(xiàn)階段和軟件維護(hù)階段
軟件需求階段
軟件的開(kāi)發(fā)是以用戶(hù)的需求開(kāi)始,在大多數(shù)情況下,用戶(hù)需求要靠軟件開(kāi)發(fā)方誘導(dǎo),才能保證需求的完整,再以的形式形成《用戶(hù)需求》這一重要的文檔。需求分析更多的是開(kāi)發(fā)方確認(rèn)需求的可行性和一致性的過(guò)程,在此階段需要和用戶(hù)進(jìn)行廣泛的交流和確認(rèn)。需求和需求分析的任何疏漏造成的損失,會(huì)在軟件系統(tǒng)的后續(xù)階段被一級(jí)級(jí)地放大,因此本階段的風(fēng)險(xiǎn)最大。
軟件設(shè)計(jì)階段
設(shè)計(jì)的主要目的在于軟件功能正確地反映了需求,需求的不完整和對(duì)需求分析的不完整或者錯(cuò)誤,在設(shè)計(jì)階段將被成倍地放大。設(shè)計(jì)階段的主要任務(wù)是完成系統(tǒng)體系結(jié)構(gòu)的定義,使之能夠完成需求階段的即定目標(biāo);另一方面也是檢驗(yàn)需求的致性和需求分析的完整性和正確性。
設(shè)計(jì)階段的風(fēng)險(xiǎn)主要來(lái)自于系統(tǒng)分析人員。分析人員存設(shè)計(jì)系統(tǒng)結(jié)構(gòu)時(shí)過(guò)于定制,系統(tǒng)的可擴(kuò)展性較弱,會(huì)給后期維護(hù)帶來(lái)巨大的負(fù)擔(dān)和維護(hù)成本的激增。對(duì)用戶(hù)來(lái)說(shuō)系統(tǒng)的使用比例會(huì)有明顯的折扣,甚至?xí)斐绍浖䦃勖^(guò)短。反之,軟件結(jié)構(gòu)的過(guò)于靈活和通用,必然引起軟件實(shí)現(xiàn)的難度增加,系統(tǒng)的復(fù)雜度上升,可靠性降低,給實(shí)現(xiàn)和測(cè)試階段帶來(lái)風(fēng)險(xiǎn),系統(tǒng)的穩(wěn)定性也會(huì)受到影響。從另一個(gè)角度上看,用戶(hù)需求和將來(lái)軟件運(yùn)行環(huán)境的變化都是必然的,目前軟件設(shè)計(jì)的所渭的“通用性”是否就能很好的適應(yīng)將來(lái)需求和運(yùn)行環(huán)境的變化,都是需要認(rèn)真折衷的,而這種折中也蘊(yùn)涵著很大的風(fēng)險(xiǎn)。
設(shè)計(jì)階段蘊(yùn)涵的另一種風(fēng)險(xiǎn)來(lái)自于設(shè)計(jì)文檔。文檔的不健全不僅會(huì)造成實(shí)現(xiàn)階段的困難,更會(huì)在后期的測(cè)試和維護(hù)造成災(zāi)難性的后果,例如根本無(wú)法對(duì)軟件系統(tǒng)進(jìn)行版本級(jí),甚至是發(fā)現(xiàn)的簡(jiǎn)單錯(cuò)誤都無(wú)從更正。
軟件實(shí)現(xiàn)階段
軟件的實(shí)現(xiàn)從某種意義上講是軟件代碼的生產(chǎn)。源代碼木身也是文檔的一部分,同時(shí)它又是將來(lái)運(yùn)行于計(jì)算機(jī)系統(tǒng)之上的實(shí)體。源代碼書(shū)的規(guī)范性,可讀性是該階段的主要風(fēng)險(xiǎn)來(lái)源。規(guī)范的代碼生產(chǎn)會(huì)把屬于程序員自身個(gè)性風(fēng)格的成分引入代碼的比例降到最低限度,從而減小了系統(tǒng)整合的風(fēng)險(xiǎn)。
軟件維護(hù)階段
軟件維護(hù)包含兩個(gè)主要的維護(hù)階段,一個(gè)是軟件生產(chǎn)完畢到軟件試運(yùn)行階段的維護(hù),這個(gè)階段是一種實(shí)環(huán)境的測(cè)試性維護(hù),其主要目的是發(fā)現(xiàn)在測(cè)試環(huán)境中不能或末發(fā)現(xiàn)的問(wèn)題;另一個(gè)階段是當(dāng)軟件的運(yùn)行不再能適應(yīng)用戶(hù)業(yè)務(wù)需求或是用戶(hù)的運(yùn)行環(huán)境(包括硬件平臺(tái)、軟件環(huán)境等)時(shí)進(jìn)行的軟件維護(hù),具體可能是軟件的版本升級(jí)或軟件移植等。
1.3“技術(shù)”因素分析
存軟件項(xiàng)目開(kāi)發(fā)和建設(shè)的過(guò)程中,技術(shù)因素是一個(gè)非常重要的因素。項(xiàng)目組一定要本著項(xiàng)目的實(shí)際要求,選用合適、成熟的技術(shù),千萬(wàn)不要無(wú)視項(xiàng)目的實(shí)際情況選用一些雖然先進(jìn)但并非項(xiàng)目所必須且自己又不熟悉的技術(shù)。如果項(xiàng)目所要求的技術(shù)項(xiàng)目成員不具備或掌握不夠,則需要重點(diǎn)關(guān)注該風(fēng)險(xiǎn)因素。
2、建立項(xiàng)目管理流程
那么如何解決這些問(wèn)題呢?實(shí)際上很多模型已經(jīng)給出了答案,比如RUP、QoS、XP等,但是大家在學(xué)習(xí)和使用這些模型的時(shí)候,往往覺(jué)得這些模型提出的概念和實(shí)施比較難以操作,另外就是不管是RUP、Q0S還是XP,既然是一個(gè)方法模型,就不可避免要描述為一個(gè)完整的、系統(tǒng)化的理論模型,否則就體現(xiàn)不出理論的完整和邏輯的嚴(yán)謹(jǐn)。下面我們只是把以軟件設(shè)計(jì)為核心的開(kāi)發(fā)管理流程化,避免在頻繁發(fā)生外界變化的情況下,變被動(dòng)為主動(dòng)。
軟件項(xiàng)目管理除了按照既定的管理流程進(jìn)行有效的控制,還要對(duì)各階段的文檔進(jìn)行標(biāo)準(zhǔn)化管理,保證文檔的完整和標(biāo)準(zhǔn)化,為軟件后期的維護(hù)提供有力的支持。
3、結(jié)束語(yǔ)
軟件項(xiàng)目管理和其它的項(xiàng)目管理相比有相當(dāng)?shù)奶厥庑。首先,軟件是純知識(shí)產(chǎn)品,其開(kāi)發(fā)進(jìn)度和質(zhì)量很難估計(jì)和度量,生產(chǎn)效率也難以預(yù)測(cè)和保證。其次,軟件系統(tǒng)的復(fù)雜性也導(dǎo)致了開(kāi)發(fā)過(guò)程中各種風(fēng)險(xiǎn)的難以預(yù)見(jiàn)和控制。幸運(yùn)的是,時(shí)問(wèn)和預(yù)算都是可摔制的,并不是指我們可以控制時(shí)間快慢或長(zhǎng)短,是如何叫確知道哪一個(gè)時(shí)間點(diǎn),需要何種產(chǎn)出物,而我們有多少的預(yù)算町以完成。為了有效控制,我們需要一個(gè)標(biāo)準(zhǔn)的流程,只要照著規(guī)矩走,一切都好辦。
【軟件項(xiàng)目管理及風(fēng)險(xiǎn)分析】相關(guān)文章:
軟件項(xiàng)目設(shè)計(jì)與開(kāi)發(fā)過(guò)程管理分析03-29
關(guān)于軟件項(xiàng)目管理技術(shù)分析研究11-20
論軟件項(xiàng)目管理的現(xiàn)狀分析和對(duì)策11-20
油田基礎(chǔ)建設(shè)項(xiàng)目風(fēng)險(xiǎn)分析與管理12-10
淺議科研項(xiàng)目投資的風(fēng)險(xiǎn)分析11-18
淺析計(jì)算機(jī)軟件項(xiàng)目管理中的需求分析12-08
大型儀器設(shè)備共享系統(tǒng)軟件項(xiàng)目風(fēng)險(xiǎn)管理初探11-26
公司有色合金項(xiàng)目的風(fēng)險(xiǎn)分析提綱12-02
關(guān)于核電項(xiàng)目現(xiàn)場(chǎng)施工風(fēng)險(xiǎn)分析及應(yīng)對(duì)02-27
- 相關(guān)推薦