軟件項(xiàng)目主要階段及各個(gè)階段主要工作_第1頁
軟件項(xiàng)目主要階段及各個(gè)階段主要工作_第2頁
軟件項(xiàng)目主要階段及各個(gè)階段主要工作_第3頁
軟件項(xiàng)目主要階段及各個(gè)階段主要工作_第4頁
軟件項(xiàng)目主要階段及各個(gè)階段主要工作_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、軟件項(xiàng)目主要分為哪些階段?各個(gè)階段主要做哪些工作?本人在兩個(gè)中小型軟件開發(fā)企業(yè)工作過幾年,也做過幾年的項(xiàng)目管理工作。走過一些彎路也得出一些項(xiàng)目管理方面的體會(huì),在此進(jìn)行總結(jié),希望能夠與其他一些項(xiàng)目管理人員或?qū)?xiàng)目管理有興趣的同事共同探討一些中小型項(xiàng)目管理的問題及方法。大部分中小型軟件開發(fā)企業(yè)的軟件項(xiàng)目經(jīng)常遇到的一些問題可能包括:項(xiàng)目時(shí)間緊、項(xiàng)目組成員經(jīng)常加班;項(xiàng)目需求變更頻繁;項(xiàng)目進(jìn)行過程中可能就有項(xiàng)目團(tuán)隊(duì)成員離職或調(diào)離到其他項(xiàng)目組;項(xiàng)目重復(fù)性建設(shè)問題嚴(yán)重,每個(gè)項(xiàng)目都需要從框架開始重新開發(fā),難以重用已有項(xiàng)目的成果等等。我覺得通過較好的規(guī)劃和管理能夠在一定程度上提高項(xiàng)目的成功率或者說提高項(xiàng)目的質(zhì)量

2、,降低開發(fā)成本,縮短項(xiàng)目開發(fā)時(shí)間。我理解項(xiàng)目管理有兩個(gè)大的劃分方法一是通用的項(xiàng)目管理體系,也就是PMP中所說的5個(gè)項(xiàng)目管理過程組9個(gè)知識領(lǐng)域44個(gè)項(xiàng)目管理過程;二是具體業(yè)務(wù)領(lǐng)域的按項(xiàng)目生命期劃分的各階段的管理。本文主要從項(xiàng)目生命期各階段的管理方面進(jìn)行總結(jié)。 我個(gè)人分析一個(gè)軟件項(xiàng)目生命期大體需要經(jīng)過的流程(這只是我個(gè)人的一個(gè)劃分,有可能不是很全面):可行性分析、需求、設(shè)計(jì)、開發(fā)、測試、實(shí)施、維護(hù)、總結(jié)。 下面我針對每個(gè)階段談一下自己的體會(huì)。 一、可行性分析 一般的項(xiàng)目都是通過外部招標(biāo)的形式得到的。對于有些公司在應(yīng)標(biāo)的時(shí)候?qū)?xiàng)目就要有個(gè)取舍。如果在特殊時(shí)期為了生存可能只要不是太賠的項(xiàng)目都會(huì)盡量承接

3、。 但是一般項(xiàng)目在承接前最好在經(jīng)濟(jì)、技術(shù)等方面進(jìn)行可行性分析,而且這種可行性分析最好是管理者、市場、技術(shù)等人員都參與,因?yàn)槭袌鋈藛T一般不懂(或不通)技術(shù),技術(shù)不懂(或不通)市場,因此只有大家在一起共同分析討論才能夠得出比較可行的結(jié)果??尚行苑治龅慕Y(jié)果一方面可以作為是否承接項(xiàng)目的依據(jù),另一方面也可以作為承接項(xiàng)目方式或與客戶談判的依據(jù)。比如經(jīng)分析項(xiàng)目工作量很大,如果按標(biāo)書金額開發(fā)有可能會(huì)賠,那么可以與用戶探討是否將來能有個(gè)二期的項(xiàng)目;另外如果用戶要求的時(shí)間比較緊,可是經(jīng)分析很難按標(biāo)書時(shí)間完成,那么也可以和用戶同共探討是否可以在正式簽定合同時(shí)延長系統(tǒng)交付時(shí)間等。當(dāng)然這些與用戶的探討工作一般是需要公司

4、高層領(lǐng)導(dǎo)出面協(xié)調(diào)的,有時(shí)單獨(dú)靠項(xiàng)目組是沒有能力達(dá)成理想的結(jié)果的。 另外在此階段最好對項(xiàng)目的成本和需要的資源進(jìn)行一下估算。 二、需求 需求實(shí)際要細(xì)分為需求調(diào)研、需求分析、需求確認(rèn)、需求管理等。 因?yàn)閷τ谛枨笠胝f清楚可能需要較長的篇幅,所以在此不進(jìn)行展開。在此只是先強(qiáng)調(diào)一下需要相當(dāng)重要,如果早期需求做的不夠仔細(xì)會(huì)給項(xiàng)目的后期工作帶來很多的隱患。而且我建議每個(gè)項(xiàng)目無論多大也無論項(xiàng)目時(shí)間要求多緊急一定要有一個(gè)比較詳細(xì)的需求文檔。在需求比較確定之后建議再對項(xiàng)目成本進(jìn)行估算。同時(shí)對需要的資源及相關(guān)里程碑進(jìn)行說明。 三、設(shè)計(jì) 對于大部分中小型項(xiàng)目因?yàn)闀r(shí)間和人力的問題加上需求變更比較頻繁,所以有時(shí)很難書寫一

5、個(gè)比較詳細(xì)的設(shè)計(jì)文檔。但是如果沒有設(shè)計(jì)文檔一是為后期維護(hù)可能會(huì)帶來一些問題,尤其是當(dāng)原來開發(fā)人員或主力開發(fā)人員離職或調(diào)離到其他項(xiàng)目組時(shí);另外沒有經(jīng)過詳細(xì)設(shè)計(jì)的項(xiàng)目可能也會(huì)存在一些風(fēng)險(xiǎn)。 因此建議不必為了文檔而文檔,除了項(xiàng)目驗(yàn)收的要求外,建議設(shè)計(jì)文檔根據(jù)項(xiàng)目特點(diǎn)有選擇地包括以下一些內(nèi)容的說明: 系統(tǒng)網(wǎng)絡(luò)情況。 系統(tǒng)安全策略及備份策略。 系統(tǒng)相關(guān)軟硬件環(huán)境說明。 與其他系統(tǒng)的關(guān)系。 主要庫表及關(guān)鍵字段說明。 系統(tǒng)中關(guān)鍵數(shù)據(jù)關(guān)聯(lián)關(guān)系說明。 關(guān)鍵字段校驗(yàn)規(guī)則。 項(xiàng)目中技術(shù)的論證及名種技術(shù)的結(jié)合方法。 系統(tǒng)關(guān)鍵技術(shù)說明。 一些技術(shù)使用過程中的注意點(diǎn)。 異常處理機(jī)制。 事物處理機(jī)制。 日志記錄方法及原則。

6、 框架中相關(guān)命名說明。 共通功能描述及調(diào)用方法。 核心算法。 系統(tǒng)性能解決方案。 并發(fā)的考慮及處理。 系統(tǒng)用戶及角色權(quán)限設(shè)計(jì)說明。 系統(tǒng)的關(guān)鍵配置說明(如數(shù)據(jù)庫服務(wù)器,應(yīng)用服務(wù)器等等,如有必要可另加附件進(jìn)行說明)。 個(gè)人認(rèn)為對于中小型項(xiàng)目如果不是用戶要求有時(shí)不必在設(shè)計(jì)文檔中對所有數(shù)據(jù)庫表及字段都進(jìn)行說明,可以只說明比較重要的一些數(shù)據(jù)庫表及字段以及相關(guān)數(shù)據(jù)庫的關(guān)聯(lián)關(guān)系就可。因?yàn)樵谟脭?shù)據(jù)庫建模軟件(如Powerdesigner)進(jìn)行數(shù)據(jù)庫設(shè)計(jì)的時(shí)候可以對每個(gè)表及每個(gè)字段加注釋進(jìn)行說明,在使用開發(fā)工具(如:pl/sql)進(jìn)行開發(fā)的時(shí)候自然可以看到每個(gè)數(shù)據(jù)庫表或字段的說明。而且一般中小型項(xiàng)目在開發(fā)的過

7、程中可能需要經(jīng)常性地修改數(shù)據(jù)庫表的設(shè)計(jì),如果還有文檔描述數(shù)據(jù)庫的設(shè)計(jì)那么每次修改時(shí)除了修改數(shù)據(jù)庫之外還要維護(hù)設(shè)計(jì)文檔的一致性,如果項(xiàng)目忙忘記了修改就會(huì)導(dǎo)致文檔和數(shù)據(jù)庫的不一致,有時(shí)這種不一致的文檔可能還不如沒有,因?yàn)樗赡軙?huì)誤導(dǎo)其他人員的理解。 另外也可以通過開發(fā)過程的規(guī)范來減少設(shè)計(jì)文檔的內(nèi)容。這個(gè)將在下面的開發(fā)環(huán)節(jié)進(jìn)行詳細(xì)的說明。 四、開發(fā) 整個(gè)項(xiàng)目有一個(gè)合理的框架是很重要的??蚣芫唧w包括哪些內(nèi)容在此很難解釋清楚,但是我想最起碼整個(gè)框架應(yīng)該把項(xiàng)目所采用的各種技術(shù)(如java中的Hibernate、Struts、Spring的結(jié)合)比較合理地組織起來,并為具體模塊的開發(fā)提供一些工具類等,同時(shí)整

8、個(gè)框架應(yīng)該具有較好的可擴(kuò)展性、可維護(hù)性和較好的性能。框架最好由項(xiàng)目組中技術(shù)最強(qiáng)的人(在此稱他為技術(shù)負(fù)責(zé)人)進(jìn)行搭建及維護(hù)。 另外對于整個(gè)項(xiàng)目有一個(gè)統(tǒng)一的命名規(guī)范(類和方法按什么方式命名,所有文檔都加上時(shí)間作者等)并進(jìn)行遵守是很必要的,這樣一個(gè)人開發(fā)的代碼其他人很容易就能夠讀懂。 在整個(gè)項(xiàng)目進(jìn)行全面開發(fā)前最好先向項(xiàng)目組全體成員講解需求及項(xiàng)目框架的機(jī)制、使用方式及注意事項(xiàng),再說明相關(guān)規(guī)范。然后每一個(gè)開發(fā)人員按照理解開發(fā)一個(gè)簡單的功能。然后大家再一起(或者由技術(shù)負(fù)責(zé)人)看一下每個(gè)人對于框架的使用是否合理,規(guī)范理解的是否有誤,編碼習(xí)慣是否需要改正等等。在討論并達(dá)成共識后再進(jìn)行具體功能的開發(fā)。 另在具體

9、的開發(fā)過程中盡量在關(guān)鍵算法處加一些注釋進(jìn)行說明。 建議定期進(jìn)行一些代碼走查的工作。盡量由技術(shù)負(fù)責(zé)人負(fù)責(zé)這份工作,當(dāng)然也可以進(jìn)行互相檢查等。代碼走查的好處很多,如可發(fā)現(xiàn)一些不好的編碼習(xí)慣;提高整個(gè)系統(tǒng)代碼的可讀性;發(fā)現(xiàn)一些bug;借鑒別人好的編碼思路或技術(shù)等。 五、測試 有些公司有獨(dú)立的測試或質(zhì)量保證部門,有的公司只是由開發(fā)人員自己完成測試工作。在此假設(shè)公司有一個(gè)獨(dú)立的測試部門進(jìn)行系統(tǒng)的測試工作。 首先開發(fā)人員一定要養(yǎng)成單元測試的習(xí)慣。對自己開發(fā)模塊的功能進(jìn)行單元測試過之后再提交測試組進(jìn)行結(jié)合測試、系統(tǒng)測試甚至性能測試。單元測試很重要,在進(jìn)行單元測試的時(shí)候如果條件允許可以使用junit等一些工具

10、,或其他一些代碼覆蓋率工具幫助分析測試用例的覆蓋程度。另外在此再提一點(diǎn),一般項(xiàng)目可能是整體開發(fā)完之后才進(jìn)行性能測試,可是這時(shí)測試出性能問題了卻因?yàn)榕R近上線或試運(yùn)行時(shí)期,不一定有充足的時(shí)間進(jìn)行修改,另外也可能因?yàn)檎麄€(gè)項(xiàng)目已經(jīng)都使用了某種影響性能的技術(shù)或方法,要想改變要付出很大的代價(jià)。所以建議如果條件允許可以在開發(fā)的過程中(甚至搭建項(xiàng)目框架時(shí))使用一些輕量級的開源性能測試工具由開發(fā)人員對可能影響性能的功能進(jìn)行測試。 對于測試部門的測試人員要盡早地參與到項(xiàng)目中來,建議在需求階段就介入。早介入的好處一是可以對需求理解的比較深入,知道原始需求是怎么來的,中間經(jīng)過哪些變化,這樣會(huì)比在開發(fā)結(jié)束后一次性地講解

11、能夠更好地把握需求,更好地書寫測試用例及測試計(jì)劃。另外有些人也比較推薦在需求的時(shí)候就開始書寫測試計(jì)劃和測試用例,因?yàn)槲抑绊?xiàng)目的特點(diǎn)我沒有這樣試過。 項(xiàng)目組設(shè)計(jì)人員一定要把一些關(guān)鍵測試點(diǎn)、數(shù)據(jù)及功能的關(guān)聯(lián)關(guān)系對測試人員說清楚。測試過程中有一個(gè)bug管理系統(tǒng)并對bug進(jìn)行跟蹤是很必要的,在此就不展開說明了。另外在補(bǔ)充一點(diǎn),最好是在項(xiàng)目結(jié)束后能對產(chǎn)生的所有bug進(jìn)行一下分類。然后通過分析得出一些規(guī)律。通過在以后項(xiàng)目中采取一些措施進(jìn)行項(xiàng)目質(zhì)量的提高。 六、實(shí)施 對于涉及多個(gè)子系統(tǒng)的長期開發(fā)項(xiàng)目,在系統(tǒng)設(shè)計(jì)和開發(fā)過程中要優(yōu)化處理關(guān)聯(lián)性強(qiáng)的系統(tǒng),同時(shí)有一個(gè)(或幾個(gè))系統(tǒng)成熟了就試運(yùn)行或上線,不必等所有系

12、統(tǒng)都好了再上線。一是因?yàn)闀r(shí)間長了開發(fā)人員可能調(diào)離至其它崗位,維護(hù)代價(jià)會(huì)增大;二是子系統(tǒng)用戶可能會(huì)改變而導(dǎo)致需求變更;三是時(shí)間長了用戶對系統(tǒng)需求會(huì)有陌生感,也可能會(huì)產(chǎn)生新的需求;四是時(shí)間長會(huì)給打消用戶對使用系統(tǒng)的積極性;五是較早地讓用戶看到系統(tǒng)也可以減輕因雙方理解偏差而導(dǎo)致的系統(tǒng)需求變更的影響。 七、維護(hù) 爭取把用戶的提過的所有修改都進(jìn)行記錄,并爭取所有修改都請用戶簽字(不一定提一個(gè)修改就簽字一次,可以統(tǒng)一記錄然后定期把一段時(shí)間內(nèi)的修改進(jìn)行簽字確認(rèn)),如果做不到所有修改都簽字也盡量做到對于重大修改請用戶簽字。簽字的好處很多:讓用戶看到項(xiàng)目組所做的工作;如果修改的內(nèi)容比較多可以通過雙方高層領(lǐng)導(dǎo)的溝

13、通再新進(jìn)行系統(tǒng)二期或三期的開發(fā);有了簽字有時(shí)用戶對需求變更會(huì)相對少一些等等。 另外對于所有修改除了簽字留檔外爭取定期把所有修改的內(nèi)容再整理到需求文檔中,保持需求文檔與正式環(huán)境功能的一致性。這個(gè)工作很有必要,可能帶來以下一些好處:方便測試人員在回歸測試時(shí)理解系統(tǒng)功能;如果維護(hù)人員的調(diào)離其他接手人員比較方便理解系統(tǒng)功能等。 八、總結(jié) 在此不對項(xiàng)目驗(yàn)收進(jìn)行單獨(dú)的說明。只是說一下項(xiàng)目結(jié)束(有些項(xiàng)目可能要持續(xù)進(jìn)行維護(hù),在此主要指系統(tǒng)已經(jīng)上線并穩(wěn)定運(yùn)行)后要進(jìn)行的總結(jié)工作。建議每個(gè)項(xiàng)目結(jié)束后都召開一個(gè)項(xiàng)目總結(jié)會(huì)。項(xiàng)目總結(jié)會(huì)建議與項(xiàng)目相關(guān)的所有人都參加。由項(xiàng)目經(jīng)理進(jìn)行主要總結(jié),但每個(gè)參與人員最好也都進(jìn)行總結(jié)

14、??梢詮墓芾砗图夹g(shù)兩大方面對項(xiàng)目中的每個(gè)階段的成功與失敗進(jìn)行總結(jié),目的是總結(jié)經(jīng)驗(yàn)教訓(xùn),提高每個(gè)人的項(xiàng)目經(jīng)驗(yàn),提高項(xiàng)目組的成熟度,使以后的項(xiàng)目更加成功。在此要強(qiáng)調(diào)一下,一般項(xiàng)目總結(jié)時(shí)大家都喜歡只說成功的,而很少提到失敗的或所走的一些彎路,而往往對這些失敗的總結(jié)更能使大家收獲更多,當(dāng)然這也要看組織的文化,我建議如果可能盡量鼓勵(lì)大家多總結(jié)一些失敗的經(jīng)驗(yàn)教訓(xùn)。 另外項(xiàng)目結(jié)束后如果有時(shí)間最好是把項(xiàng)目中的一些有重用價(jià)值的文檔放到公司的組織過程資產(chǎn)庫中。 如果項(xiàng)目的框架比較合理也可以剔除項(xiàng)目中的業(yè)務(wù)相關(guān)功能的代碼,整理出項(xiàng)目框架并加以簡要說明文檔供本項(xiàng)目組其他項(xiàng)目或其他項(xiàng)目組使用。 九、項(xiàng)目經(jīng)理職責(zé)分析 對于中小型規(guī)模的項(xiàng)目,項(xiàng)目經(jīng)理可能既要充當(dāng)管理人員的角色又要充當(dāng)開發(fā)甚至實(shí)施人員的角色,基本上軟件項(xiàng)目生命期的每個(gè)階段都要參與。 但是我覺得以下一些工作(其實(shí)遠(yuǎn)不只下面所列)項(xiàng)目經(jīng)理一定要重視: 項(xiàng)目整體需求的把握。 項(xiàng)目框架的把握。 項(xiàng)目團(tuán)隊(duì)的建設(shè)。 與其他職能部門的協(xié)調(diào)工作。 項(xiàng)目例會(huì)。 客戶關(guān)系維護(hù)。 定期向項(xiàng)目相關(guān)人員匯報(bào)進(jìn)度。 總之項(xiàng)目經(jīng)理要對項(xiàng)目的成敗負(fù)責(zé),要對項(xiàng)目成員的發(fā)展負(fù)責(zé),要對客戶負(fù)責(zé),還要對公司負(fù)責(zé),所以項(xiàng)目經(jīng)理一定要有責(zé)任心、要有全局觀。 最后是關(guān)于本文的幾點(diǎn)說明:

溫馨提示

  • 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

提交評論