1 什么是軟件項(xiàng)目管理
軟件項(xiàng)目管理是在一定的約束條件下,以高效率地實(shí)現(xiàn)項(xiàng)目業(yè)主的目標(biāo)為目的,以項(xiàng)目經(jīng)理負(fù)責(zé)制為基礎(chǔ)和以項(xiàng)目為獨(dú)立實(shí)體進(jìn)行經(jīng)濟(jì)核算,并按照項(xiàng)目內(nèi)在的邏輯規(guī)律進(jìn)行有效的計(jì)劃、組織、協(xié)調(diào)、控制的系統(tǒng)管理活動(dòng)。
2 軟件項(xiàng)目管理的特點(diǎn)
軟件項(xiàng)目管理是為了使軟件項(xiàng)目能夠按照預(yù)定的成本、進(jìn)度、質(zhì)量順利完成,合理地配置和使用各種資源,而對(duì)人員、進(jìn)度、質(zhì)量、風(fēng)險(xiǎn)等進(jìn)行分析和管理,以達(dá)到既定目標(biāo)的過程。軟件項(xiàng)目管理的根本目的是為了讓軟件項(xiàng)目尤其是大型項(xiàng)目的整個(gè)軟件生命周期都能在管理者的控制之下,以預(yù)定成本按期,按質(zhì)的完成軟件交付用戶使用。軟件項(xiàng)目管理更強(qiáng)調(diào)項(xiàng)目經(jīng)理的作用和團(tuán)隊(duì)的合作精神,更加關(guān)注人的因素,關(guān)注客戶服務(wù),著重于提高軟件項(xiàng)目研發(fā)的效率和質(zhì)量。
3 做好軟件項(xiàng)目前期管理
3.1 項(xiàng)目計(jì)劃管理
在軟件項(xiàng)目管理過程中一個(gè)關(guān)鍵的活動(dòng)是制定項(xiàng)目計(jì)劃,它是軟件開發(fā)工作的第一步。項(xiàng)目計(jì)劃的目標(biāo)是為項(xiàng)目負(fù)責(zé)人提供一個(gè)框架,使之能合理地估算軟件項(xiàng)目開發(fā)所需的資源、經(jīng)費(fèi)和開發(fā)進(jìn)度,并控制軟件項(xiàng)目開發(fā)過程按此計(jì)劃進(jìn)行。主要進(jìn)行的工作包括:確定詳細(xì)的項(xiàng)目實(shí)施范圍、定義遞交的工作成果、評(píng)估實(shí)施過程中主要的風(fēng)險(xiǎn)、制定項(xiàng)目實(shí)施的時(shí)間計(jì)劃、成本和預(yù)算計(jì)劃、人力資源計(jì)劃等。
3.2 項(xiàng)目需求管理
需求管理是每個(gè)軟件開發(fā)的基礎(chǔ),是一種用于查找、記錄、組織和跟蹤系統(tǒng)需求變更的系統(tǒng)化方法,可用于獲取、組織和記錄系統(tǒng)需求并使客戶和項(xiàng)目團(tuán)隊(duì)在系統(tǒng)需求變更上保持一致。軟件需求主要包括業(yè)務(wù)需求、用戶需求、功能需求和非功能需求、軟件需求規(guī)格說明。需求分析包括提煉、分析和仔細(xì)審查已收集到的需求,為最終用戶所看到的系統(tǒng)建立一個(gè)概念模型以確保所有的風(fēng)險(xiǎn)承擔(dān)者都明白其含義并找出其中的錯(cuò)誤、遺漏或其他不足的地方。在項(xiàng)目需求分析階段,雙方必須全面地盡可能細(xì)致地討論項(xiàng)目的應(yīng)用范圍、業(yè)務(wù)流程、性能要求、操作界面要求、與其他軟件的接口要求,以及對(duì)項(xiàng)目進(jìn)行評(píng)估的各種評(píng)價(jià)標(biāo)準(zhǔn)。
3.3 項(xiàng)目團(tuán)隊(duì)管理
建立項(xiàng)目團(tuán)隊(duì)是項(xiàng)目開發(fā)過程的開始,一切工作都是由項(xiàng)目團(tuán)隊(duì)的成員完成的在整個(gè)項(xiàng)目的運(yùn)行過程中,需要很多不同的角色參與到項(xiàng)目中,完成不同階段的任務(wù)。所以在建立項(xiàng)目團(tuán)隊(duì)的過程中要把握好人員角色的劃分,盡量發(fā)揮項(xiàng)目成員特長是項(xiàng)目經(jīng)理進(jìn)行工作分配要考慮的問題。各項(xiàng)目成員的知識(shí)技能評(píng)估,個(gè)性特點(diǎn)分析,優(yōu)點(diǎn)和缺點(diǎn)是要事先分析和考慮的內(nèi)容。團(tuán)隊(duì)的管理是項(xiàng)目管理的關(guān)鍵,也是項(xiàng)目成功的基本保障。
3.4 生命周期模型
生命周期模型指軟件開發(fā)全部過程、活動(dòng)和任務(wù)的結(jié)構(gòu)框架。軟件開發(fā)包括需求、設(shè)計(jì)、編碼和測(cè)試等階段,有時(shí)也包括維護(hù)階段。目前軟件開發(fā)實(shí)踐中使用的各種生命周期模型,主要如下:
1)瀑布模型。需要對(duì)每一個(gè)階段進(jìn)行驗(yàn)證,瀑布模型要求每一個(gè)階段都有明確的文檔產(chǎn)出,對(duì)于嚴(yán)格的瀑布模型每一個(gè)階段都不應(yīng)該重疊,而應(yīng)該是在評(píng)審?fù)ㄟ^,相關(guān)的產(chǎn)出物都已經(jīng)基線后才能夠進(jìn)入到下一個(gè)階段。采用瀑布模型可以保證系統(tǒng)在整體上的充分把握,使系統(tǒng)具備良好的擴(kuò)展性和可維護(hù)性。但對(duì)于前期需求不明確,而又很難短時(shí)間明確清楚的項(xiàng)目則很難很好的利用瀑布模型。
2)螺旋模型。首先螺旋模型是遵從瀑布模型的。即需求->架構(gòu)->設(shè)計(jì)->開發(fā)->測(cè)試的路線。螺旋模型最大的價(jià)值在于整個(gè)開發(fā)過程是迭代和風(fēng)險(xiǎn)驅(qū)動(dòng)的。通過將瀑布模型的多個(gè)階段轉(zhuǎn)化到多個(gè)迭代過程中,以減少項(xiàng)目的風(fēng)險(xiǎn)。螺旋模型實(shí)現(xiàn)了隨著項(xiàng)目成本投入不斷增加,風(fēng)險(xiǎn)逐漸減小。以幫我我們加強(qiáng)項(xiàng)目的管理和跟蹤,在每次迭代結(jié)束后都需要對(duì)產(chǎn)出物進(jìn)行評(píng)估和驗(yàn)證,當(dāng)發(fā)現(xiàn)無法繼續(xù)進(jìn)行