軟件項目管理是為了使軟件項目能夠按照預(yù)定的成本、進(jìn)度、質(zhì)量順利完成,通過計劃、組織、控制等一系列活動,合理地配置和使用各種資源,而對成本、人員、進(jìn)度、質(zhì)量、風(fēng)險等進(jìn)行分析和管理,以達(dá)到既定目標(biāo)的過程。
軟件項目管理更強(qiáng)調(diào)項目負(fù)責(zé)人的作用和團(tuán)隊的協(xié)作精神,其組織形式靈活,更加關(guān)注人的因素,關(guān)注客戶和服務(wù)客戶,著重于提高軟件項目研發(fā)的效率和質(zhì)量。在本文中,對軟件項目管理中的需求管理、員工之間的溝通與協(xié)作、軟件項目風(fēng)險管理等方面進(jìn)行了闡述。本文最后介紹了軟件項目管理的幾項經(jīng)典技術(shù)。
一、需求管理
軟件需求是每個軟件開發(fā)的開端與基礎(chǔ)。在軟件項目管理的需求分析階段,雙方必須全面地盡可能細(xì)致地討論項目的應(yīng)用背景、功能要求、性能要求、操作界面要求、與其他軟件的接口要求,以及對項目進(jìn)行評估的各種評價標(biāo)準(zhǔn)。在進(jìn)行需求分析時,可以首先分析客戶原有系統(tǒng)的建設(shè)情況,對客戶的原有產(chǎn)品進(jìn)行分析,明確建設(shè)目標(biāo)等。
需求管理對軟件項目能否最終實現(xiàn)產(chǎn)生至關(guān)重要的影響。任何的軟件項目都必須進(jìn)行合理的、細(xì)致的、一致的需求管理,只有這樣才能制定正確合理的軟件開發(fā)計劃,軟件項目才能順利地開發(fā)完成。
二、風(fēng)險管理
軟件項目風(fēng)險管理是指對在軟件開發(fā)過程中所遇到的預(yù)算和進(jìn)度等方面的問題進(jìn)行分析,尋求風(fēng)險應(yīng)對方法,做好風(fēng)險管理計劃。
針對軟件項目中的風(fēng)險管理問題,不少專家、組織提出了自己的風(fēng)險管理模型。常見的主要風(fēng)險管理模型如下。
1.SEI的連續(xù)風(fēng)險管理模型(CRM)。SEICRM模型的風(fēng)險管理原則是不斷地評估可能造成惡劣后果的因素;決定最迫切需要處理的風(fēng)險;實現(xiàn)控制風(fēng)險的策略;評測并確保風(fēng)險策略實施的有效性。CRM模型要求在項目生命期的所有階段都關(guān)注風(fēng)險識別和管理,它將風(fēng)險管理劃分為五個步驟:風(fēng)險識別、分析、計劃、跟蹤、控制。
2.BarryBoehm模型。Boehm模型的思想核心是:10大風(fēng)險因素列表。針對每個風(fēng)險因素,都給出了一系列的風(fēng)險管理策略。在實際操作時,Boehm以10大風(fēng)險列表為依據(jù),總結(jié)當(dāng)前項目具體的風(fēng)險因素,評估后進(jìn)行計劃和實施,在下一次定期召開的會議上再對這10大風(fēng)險因素的解決情況進(jìn)行總結(jié),產(chǎn)生新的10大風(fēng)險因素表,依此類推。Boehm模型的基本形式可描述為:RE=P(UO)3L(UO),其中RE表示風(fēng)險或者風(fēng)險所造成的影響;P(UO)表示令人不滿意的結(jié)果所發(fā)生的概率;L(UO)表示糟糕的結(jié)果會產(chǎn)生的破壞性的程度。
3.軟件工程風(fēng)險模型(SERIM).SERIM模型要求從技術(shù)和商業(yè)兩個角度對軟件風(fēng)險管理進(jìn)行剖析,考慮的問題涉及開銷、進(jìn)度、技術(shù)性能等。它還提供了一些指標(biāo)和模型來估量和預(yù)測風(fēng)險,由于這些數(shù)據(jù)來源于大量的實際經(jīng)驗,因此具有很強(qiáng)的說服力。
三、軟件項目管理技術(shù)
1.CMM。CMM是美國卡納基梅隆大學(xué)軟件工程研究所(CMU/SEI)提出的軟件項目管理的一系列方法,它基于組織對關(guān)鍵過程域的支持,定義了軟件過程成熟度的五個級別。級別1(初始級)描述了不成熟,或者說是未定義過程的組織。級別2(可重復(fù)級),級別3(已定義級),級別4(已管理級)和級別5(優(yōu)化級)分別描述了軟件過程成熟度級別遞增的組織。和這些級別相關(guān)的KPA是:級別2:需求管理,軟件項目計劃,軟件項目跟蹤和監(jiān)控,軟件子合同管理,軟件質(zhì)量保證,軟件配置管理。級別3:組織級過程焦點,組織級過程定義,培訓(xùn)大綱,集成軟件管理,軟件產(chǎn)品工程,組間協(xié)調(diào),同