項(xiàng)目風(fēng)險(xiǎn)管理自己做項(xiàng)目的幾點(diǎn)體會(huì)_第1頁
項(xiàng)目風(fēng)險(xiǎn)管理自己做項(xiàng)目的幾點(diǎn)體會(huì)_第2頁
項(xiàng)目風(fēng)險(xiǎn)管理自己做項(xiàng)目的幾點(diǎn)體會(huì)_第3頁
項(xiàng)目風(fēng)險(xiǎn)管理自己做項(xiàng)目的幾點(diǎn)體會(huì)_第4頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、自己最近做了一些軟件項(xiàng)目,都用到了軟件風(fēng)險(xiǎn)管理的相關(guān)知識(shí)。有一些體會(huì)想跟大家一起探討一些。不成熟的地方,還望見諒。參與過大型軟件項(xiàng)目的人都會(huì)認(rèn)識(shí)到許多事情都可能出錯(cuò), 一但出錯(cuò)就可能給項(xiàng)目帶來危害、 損失或其它不利影響。 風(fēng)險(xiǎn)是在項(xiàng)目中發(fā)生的一系列事件或不利結(jié)果的可能性。 軟件開發(fā)是一項(xiàng)高風(fēng)險(xiǎn)的活動(dòng), 在項(xiàng)目開發(fā)過程的任何一個(gè)階段都可能存在風(fēng)險(xiǎn)。 采取積極的風(fēng)險(xiǎn)管理方式, 可以使項(xiàng)目進(jìn)程更加平穩(wěn), 可以獲得很高的跟蹤和控制項(xiàng)目的能力, 可以規(guī)避、轉(zhuǎn)移風(fēng)險(xiǎn), 或緩解風(fēng)險(xiǎn)帶來的不利影響。 風(fēng)險(xiǎn)管理是對項(xiàng)目風(fēng)險(xiǎn)進(jìn)行識(shí)別、 分析、 應(yīng)對和監(jiān)控的過程, 是項(xiàng)目管理中很重要的管理活動(dòng), 有效的實(shí)施軟件風(fēng)險(xiǎn)

2、管理是軟件項(xiàng)目開發(fā)工作順利完成的保證。風(fēng)險(xiǎn)管理的達(dá)成必須包括三個(gè)要素:首先,在項(xiàng)目開發(fā)計(jì)劃中必須制定風(fēng)險(xiǎn)管理計(jì)劃;第二, 在項(xiàng)目預(yù)算中必須包含解決風(fēng)險(xiǎn)所需的經(jīng)費(fèi);第三,評估風(fēng)險(xiǎn)時(shí), 風(fēng)險(xiǎn)的影響也必須納入項(xiàng)目計(jì)劃中。下面就軟件開發(fā)過程中經(jīng)常發(fā)生的風(fēng)險(xiǎn),談?wù)勎覀儾扇〉念A(yù)防措施。2. 需求不明確需求不明確是軟件開發(fā)過程中經(jīng)??赡苡龅降膯栴}, 這類問題往往表現(xiàn)在需求范圍未界定、需求未細(xì)化、需求描述不清楚、需求遺漏、需求互相矛盾等多個(gè)方面。在軟件開發(fā)過程的生命周期各階段中, 需求不明確所造成的浪費(fèi)是最大的, 必須盡早盡可能解決。 確定用戶需求是件非常困難的事情,我們常常從以下幾個(gè)方面著手處理需求不明確問

3、題:(1) 讓用戶參與開發(fā)提供一個(gè)協(xié)作開發(fā)環(huán)境,讓用戶參與開發(fā)過程。如果條件不允許,至少應(yīng)該在每次迭代的需求分析和系統(tǒng)測試階段,讓客戶能夠參與開發(fā)。在選擇參與開發(fā)過程的用戶時(shí),一方面, 要盡可能爭取精通業(yè)務(wù)或計(jì)算機(jī)技術(shù)的用戶參與。另一方面, 如果開發(fā)的產(chǎn)品要在不同規(guī)模、不同類型的企業(yè)應(yīng)用,應(yīng)該選擇具有代表性的用戶參與。僅僅讓用戶參與是不夠的,應(yīng)該采取一定的激勵(lì)措施,提高用戶參與的積極性。(2) 開發(fā)用戶界面原型用戶通常不善于精確描述自己的業(yè)務(wù)需求, 系統(tǒng)分析員需要借助白板、 白紙等溝通方式,幫助用戶清楚表述需求。 然后, 開發(fā)一個(gè)用戶界面原型, 以便用戶確認(rèn)需求。用戶界面原型的作用僅僅是收集用

4、戶需求,不應(yīng)該再作它用,也不要給用戶造成系統(tǒng)快要實(shí)現(xiàn)的錯(cuò)覺。(3) 需求討論會(huì)議對于用戶分布廣、用戶量大的項(xiàng)目,要全面收集用戶需求,往往很困難,通常采取需求研計(jì)會(huì)議方式進(jìn)行需求確認(rèn)。 通過在會(huì)議前幾周調(diào)查各地、 各部門用戶需求意見, 然后集中各地或各部門的用戶代表, 舉辦一次需求研討會(huì), 通過會(huì)議方式收集需求。 本方法適合于具有一定信息系統(tǒng)使用經(jīng)驗(yàn)的用戶。(4) 強(qiáng)化需求分析與評審首先,需求分析是項(xiàng)目成功的基礎(chǔ),需要引起足夠的重視,并分配充足的時(shí)間和人力,要讓有經(jīng)驗(yàn)的系統(tǒng)分析員負(fù)責(zé), 切忌讓項(xiàng)目新手或程序員負(fù)責(zé)。其次, 要進(jìn)行需求評審,盡可能讓用戶參與需求評審,不要讓需求評審流于行式。第三,

5、也是最重要的一點(diǎn), 通過評審的需求規(guī)格說明書, 要讓用戶方簽字,并作為項(xiàng)目合同的附件,對雙方都具有約束力。 在公司內(nèi)部要將通過評審的需求規(guī)格說明書,納入配置管理。 3. 項(xiàng)目缺少可見性當(dāng)一個(gè)項(xiàng)目經(jīng)理或一名開發(fā)者說已經(jīng)完成了 80%的任務(wù),您必須保持審慎的態(tài)度。因?yàn)槭O碌?20%可能還需要 80%的時(shí)間, 甚至永遠(yuǎn)都不能完成 1 。軟件開發(fā)項(xiàng)目, 往往在項(xiàng)目進(jìn)度和軟件質(zhì)量方面缺少可見性, 項(xiàng)目越缺少可見性, 項(xiàng)目就越難以控制, 項(xiàng)目就越有可能失敗。我們可以通過迭代開發(fā)、技術(shù)評審、持續(xù)集成來增強(qiáng)項(xiàng)目的可見性。(1) 迭代開發(fā)采用迭代的開發(fā)模型, 將產(chǎn)品的交付過程分為多個(gè)階段, 按照功能遞增式交付。

6、 以下是一些典型的迭代:一次簡短的先期迭代,以建立規(guī)模和前景并確定商業(yè)理由;一次精化迭代,其間將為穩(wěn)定的構(gòu)架劃定基線;一次構(gòu)建迭代,其間將實(shí)現(xiàn)用例并充實(shí)構(gòu)架;幾次產(chǎn)品化迭代,將產(chǎn)品轉(zhuǎn)移到用戶群。每次迭代, 都要充分接收用戶的評審意見,以便為自我糾正。漸近式的功能交付,有利于降低開發(fā)人員的壓力,增加用戶的滿意度,有利于增強(qiáng)項(xiàng)目的可見性,是最好的進(jìn)展報(bào)告。(2) 技術(shù)評審技術(shù)評審是確保軟件質(zhì)量的重要環(huán)節(jié),技術(shù)評審包括代碼走查、 會(huì)議評審和同行專家評審。代碼走審可以是開發(fā)人員之間的交叉審查, 或者是高級(jí)開發(fā)人員對普通開發(fā)人員的審查;會(huì)議評審一般應(yīng)至少每兩周進(jìn)行一次, 每次評審時(shí)間不宜太長; 同行專家

7、評審包括技術(shù)和業(yè)務(wù)兩個(gè)方面的專家, 經(jīng)常性地讓精通業(yè)務(wù)的用戶專家參與項(xiàng)目評審,是項(xiàng)目成功的重要保證。另外, 充分利用質(zhì)量審查的工具軟件,也有利于提高代碼質(zhì)量。例如:在 Eclipse開發(fā)環(huán)境中,可以集成Findbug 、Checkstyle、 PMD插件檢查代碼編寫質(zhì)量。(3) 持續(xù)集成持續(xù)集成能夠把最終的一次大規(guī)模的集成調(diào)試過程分散到項(xiàng)目開發(fā)時(shí)間表的每一周、每一天、 甚至每個(gè)小時(shí)。 讓項(xiàng)目中的各個(gè)人員都能夠隨時(shí)掌握當(dāng)前的整體進(jìn)度,并迅速發(fā)現(xiàn)集成過程中出現(xiàn)的問題并進(jìn)行解決1 。開發(fā)小組應(yīng)制定持續(xù)集成的制度,一般情況下每日構(gòu)建一次,可以利用Ant 等構(gòu)建工具進(jìn)行 Java 應(yīng)用程序的構(gòu)建。小組成

8、員應(yīng)在每個(gè)功能開發(fā)完成后,及時(shí)向版本控制系統(tǒng)(如CVS)提交代碼,而且不應(yīng)該向版本控制系統(tǒng)提交有問題(編譯通不過)的代碼。每日構(gòu)建、 持續(xù)集成, 讓項(xiàng)目進(jìn)度跟蹤工作更加容易。 當(dāng)項(xiàng)目小組每天重新編譯系統(tǒng)時(shí),已完成與未完成的功能清楚可見, 小組成員能夠簡單地從軟件的表現(xiàn)知道距離整體完成還有多遠(yuǎn)。4. 新技術(shù)引入技術(shù)創(chuàng)新是一種具有探索性、 創(chuàng)造性的技術(shù)經(jīng)濟(jì)活動(dòng)。 在開發(fā)過程中引入新技術(shù), 不可避免地要遇到各種風(fēng)險(xiǎn)。 通過 T 形軟件開發(fā)、 充分論證、 多階段評審、 同行經(jīng)驗(yàn)等措施可降低新技術(shù)風(fēng)險(xiǎn)。(1) T 形軟件開發(fā)在項(xiàng)目開發(fā)早期, 開發(fā)小組應(yīng)該建立系統(tǒng)的架構(gòu), 解決關(guān)鍵技術(shù)難題、 開發(fā)系統(tǒng)的基

9、礎(chǔ)構(gòu)件,并對系統(tǒng)所需要應(yīng)用的技術(shù)做深度探索。 例如:基于 JavaEE5 構(gòu)建全國聯(lián)網(wǎng)售票系統(tǒng),涉及到分布式事務(wù)處理、 海量數(shù)據(jù)存儲(chǔ)、 異構(gòu)平臺(tái)互連等關(guān)鍵問題, 應(yīng)該優(yōu)先處理這些問題;對開發(fā)所涉及到的 EJB3、 JSF、 JBoss Seam、 Eclipse RCP 等技術(shù),要做深度探索。圖 1 在第一階段以“ T”形開發(fā)系統(tǒng)骨架 2越是技術(shù)復(fù)雜度高的項(xiàng)目,就越應(yīng)該早地處理技術(shù)難題。如果在項(xiàng)目開發(fā)的中期或后期才發(fā)現(xiàn)架構(gòu)有問題或是關(guān)鍵技術(shù)難題不能解決,則為時(shí)已晚。(2) 充分論證新技術(shù)開發(fā)是探索性很強(qiáng)的工作,潛在著許多失敗的風(fēng)險(xiǎn)。在可行性分析階段,要廣泛搜集相關(guān)信息, 設(shè)計(jì)多種可行方案,進(jìn)行

10、充分論證。在制定決策時(shí),情報(bào)的數(shù)量和質(zhì)量致關(guān)重要。掌握的信息越多、越準(zhǔn)確,才能作出正確的的決策,項(xiàng)目失敗的風(fēng)險(xiǎn)也就相對減少;反之,承擔(dān)的風(fēng)險(xiǎn)就會(huì)增大。(3) 同行經(jīng)驗(yàn)針對新技術(shù), 由于沒有經(jīng)驗(yàn)可借鑒, 因此在探索過程中要充分利用互聯(lián)網(wǎng), 通過搜索同行經(jīng)驗(yàn),往往事半功倍。 要充分利用世界日益平坦化的優(yōu)勢, 對于不能盡快解決的問題,可以先放一放,可能過不了幾天,網(wǎng)上就有相類似問題的解決方案了。5. 技術(shù)兼容性風(fēng)險(xiǎn)硬件產(chǎn)品之間、系統(tǒng)軟件(操作系統(tǒng)、中間件、數(shù)據(jù)庫管理系統(tǒng))與主機(jī)設(shè)備之間、系統(tǒng)軟件之間、 應(yīng)用軟件與系統(tǒng)軟件之間以及應(yīng)用軟件之間,都可能存在兼容性問題。往往系統(tǒng)集成的項(xiàng)目越復(fù)雜,兼容性問題

11、就越有可能存在。(1)設(shè)計(jì)先行在做系統(tǒng)的總體設(shè)計(jì)方案時(shí),務(wù)必把好相關(guān)產(chǎn)品的選型關(guān),確保網(wǎng)絡(luò)、主機(jī)、 系統(tǒng)軟件與應(yīng)用軟件之間不要存在較大的技術(shù)兼容性問題。在網(wǎng)絡(luò)平臺(tái)建設(shè)方案中,明確相關(guān)設(shè)備的技術(shù)參數(shù)和配置要求。(2)售前產(chǎn)品測試在做項(xiàng)目招投標(biāo)工作時(shí), 要求投標(biāo)方在售前提供產(chǎn)品兼容性測試, 以避免在項(xiàng)目實(shí)施過程中才暴露技術(shù)兼容性問題。 涉及應(yīng)用軟件開發(fā)的集成項(xiàng)目, 要在開發(fā)工作的早期, 做技術(shù)兼容性測試,以避免在項(xiàng)目開發(fā)后期才暴露技術(shù)兼容性問題。例如,我們在開發(fā)深圳市汽車客運(yùn)站售票及站務(wù)聯(lián)網(wǎng)調(diào)度系統(tǒng)時(shí),為了確保技術(shù)兼容,在做硬件招標(biāo)時(shí)要求小型機(jī)設(shè)備廠商提供售前技術(shù)兼容性測試工作, 并將測試結(jié)果做為

12、評標(biāo)指標(biāo)。在深圳市軟件測試中心對 IBM、 SUN、HP三家公司提供的小型機(jī)進(jìn)行測試時(shí),暴露了許多應(yīng)用軟件、 應(yīng)用服務(wù)器、 數(shù)據(jù)庫和操作系統(tǒng)之間的技術(shù)兼容性問題, 如果這些問題在系統(tǒng)實(shí)施時(shí)才暴露或處理,勢必會(huì)拖延項(xiàng)目進(jìn)度。6. 性能問題由于先期設(shè)計(jì)不足, 性能問題往往在系統(tǒng)切換或新系統(tǒng)使用一段時(shí)間后暴露。出現(xiàn)性能問題往往要進(jìn)行大量的優(yōu)化工作,甚至局部的或全面的重新設(shè)計(jì)。無論是用戶還是開發(fā)者,誰都不希望出現(xiàn)性能問題。(1)性能規(guī)劃在系統(tǒng)設(shè)計(jì)時(shí),應(yīng)做好前期做性能規(guī)劃,對可能出現(xiàn)性能問題的環(huán)節(jié)做到充足的估計(jì)。在做數(shù)據(jù)庫設(shè)計(jì)時(shí),應(yīng)爭取DBA參與。另外,在技術(shù)方法方面,盡可能采取一些性能優(yōu)化模式,如DT

13、O、 AJAX、延遲加載等,盡可能在開發(fā)過程中解決了性能問題。不至于到了項(xiàng)目后期才解決性能問題,既費(fèi)錢又費(fèi)時(shí)。(2)性能測試在開發(fā)過程中, 要重視性能測試和壓力測試,盡可能模擬現(xiàn)實(shí)使用環(huán)境,搭建測試平臺(tái)。另外,由于開發(fā)環(huán)境的計(jì)算機(jī)往往比生產(chǎn)環(huán)境的計(jì)算機(jī)配置高, 在做測試時(shí)應(yīng)盡量找一些配置低的機(jī)器、較小的網(wǎng)絡(luò)帶寬進(jìn)行測試。(3) 充足的調(diào)試時(shí)間在項(xiàng)目開發(fā)計(jì)劃中, 為后期性能優(yōu)化留有余地。 在對系統(tǒng)進(jìn)行性能優(yōu)化后, 要進(jìn)行性能測試和壓力測試,可能還要做幾次回歸測試。因此,應(yīng)該留有充足的時(shí)間和人力。7. 倉促上線在項(xiàng)目實(shí)施過程中, 系統(tǒng)切換上線環(huán)節(jié)最容易出紕漏。 項(xiàng)目好不容易開發(fā)完成了, 卻在最后最

14、后時(shí)刻功潰一匱。 如果項(xiàng)目小,影響面窄倒不怎么重要;如果是影響面大的項(xiàng)目,則千萬不可出現(xiàn)問題。在系統(tǒng)切換前,應(yīng)充分考慮各種可能出現(xiàn)的問題,做好風(fēng)險(xiǎn)對策。(1) 應(yīng)急預(yù)案面對各種不可預(yù)知的風(fēng)險(xiǎn), 要做好應(yīng)急預(yù)案。 正常運(yùn)行的車站售票系統(tǒng)在春運(yùn)、 旅游黃金周, 都會(huì)做好應(yīng)急預(yù)案。新系統(tǒng)切換時(shí),更應(yīng)該做好應(yīng)急預(yù)案。 應(yīng)急預(yù)案中應(yīng)做好最壞的打算,售票系統(tǒng)不能正常工作時(shí),準(zhǔn)備手工票就是最壞的打算。(2) 分步切換為了減少風(fēng)險(xiǎn)的影響,可以做系統(tǒng)分步切換的方案。例如:售票系統(tǒng)在切換時(shí),往往用新系統(tǒng)售預(yù)售票, 或者是用新系統(tǒng)售長途車站, 用舊系統(tǒng)暫時(shí)售短程票。 待新系統(tǒng)運(yùn)行穩(wěn)定后,再全面切換到新系統(tǒng)。針對多個(gè)

15、用戶單位的系統(tǒng)切換,也可分單位進(jìn)行。(3) 交叉培訓(xùn)新舊系統(tǒng)切換過程中, 用戶都存在適應(yīng)過程。 除了在切換前做好操作培訓(xùn)外, 還要在新舊系統(tǒng)切換過程中做好交叉培訓(xùn)。 讓用戶提前一些時(shí)間上班, 讓早班的用戶在交班時(shí)培訓(xùn)中班的用戶,中班的用戶培訓(xùn)晚班的用戶。做好交叉培訓(xùn)能夠讓系統(tǒng)平衡過渡。8. 可用性問題軟件的可用性包括軟件的使用是不是高效、 是否容易學(xué)習(xí)、 是否容易記憶、 是否令人愉快、是否不易出錯(cuò)等諸多因素。 往往由于軟件的可用性差,導(dǎo)致用戶不滿意,甚至被市場淘汰。在項(xiàng)目開發(fā)中應(yīng)注意可用性問題,避免軟件出現(xiàn)可用性方面的風(fēng)險(xiǎn)。(1) 了解用戶到用戶工作現(xiàn)場, 了解目標(biāo)用戶使用軟件的真實(shí)目的,從用

16、戶的角度、 從用戶的立場出發(fā),了解如何通過軟件系統(tǒng)替代用戶的業(yè)務(wù)處理流程中,最繁瑣、 最容易出問題、或者是大量重復(fù)勞動(dòng)的環(huán)節(jié),讓軟件提高用戶的工作效能和效率。例如:售票系統(tǒng)中,使用頻度最高的界面是售票界面,售票員最關(guān)心的是錢不要出錯(cuò)(多了沒收、少了要賠) ,因此,應(yīng)收款和找余字體的顯示應(yīng)該突出、 醒目;同樣,票價(jià)和到達(dá)站也應(yīng)該較為突出顯示。 通過快捷鍵、一鍵復(fù)位、 數(shù)字小鍵盤等設(shè)計(jì), 盡量減少售票員敲擊鍵盤的次數(shù)。 否則,在日發(fā)旅客流量達(dá)七、八萬人次的大型客運(yùn)站,如果用戶界面設(shè)計(jì)得不好, 售票員一天工作下來,手指都會(huì)敲麻木。(2) 參與型設(shè)計(jì)與用戶協(xié)作,讓用戶參與用戶界面的設(shè)計(jì)、評審與測試,確保用戶能夠全面地、及早地發(fā)現(xiàn)可用性等方面的問題,并及時(shí)糾正。讓客戶參與設(shè)計(jì),而不要讓客戶設(shè)計(jì),項(xiàng)目經(jīng)理或高級(jí)設(shè)計(jì)人員應(yīng)該主導(dǎo)設(shè)計(jì)。(3)競爭性分析通過對市場上同類競爭性產(chǎn)品進(jìn)行分析,或者對這些產(chǎn)品進(jìn)行實(shí)驗(yàn)性測試,了解這些產(chǎn)品的用戶界面問題,從而對新系統(tǒng)的開發(fā)提供啟發(fā)。競爭性分析并不意味著可以剽竊別人的設(shè)計(jì),而是通過分析競爭產(chǎn)品的優(yōu)勢和弱點(diǎn),能夠比以前的設(shè)計(jì)做得更好5 。(4)一致性如果用戶知道同樣的命令或同樣的操作總會(huì)產(chǎn)生同樣的效果, 那么他們在使用系統(tǒng)時(shí)就會(huì)更加自信, 同

溫馨提示

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

最新文檔

評論

0/150

提交評論