一、引言

  從上個世紀中期到現(xiàn)在,軟件產(chǎn)業(yè)迅猛發(fā)展。軟件產(chǎn)業(yè)在推動人類社會發(fā)展的同時,軟件危機產(chǎn)生了,這是因為落后的軟件生產(chǎn)方式無法滿足迅速增長的計算機軟件需求。軟件危機的產(chǎn)生促使人們開始研究軟件開發(fā)的技術(shù)手段和管理方法。

  軟件項目管理是為了使軟件項目能夠按照預(yù)定的成本、進度、質(zhì)量順利完成, 通過計劃、組織、控制等一系列活動, 合理地配置和使用各種資源, 而對成本、人員、進度、質(zhì)量、風(fēng)險等進行分析和管理, 以達到既定目標的過程。項目管理更強調(diào)項目負責人的作用和團隊的協(xié)作精神, 其組織形式靈活, 更加關(guān)注人的因素, 關(guān)注客戶和服務(wù)客戶, 著重于提高軟件項目研發(fā)的效率和質(zhì)量。在本文中,對軟件項目管理中的需求管理、員工之間的溝通與協(xié)作、軟件項目風(fēng)險管理等方面進行了闡述。本文后介紹了軟件項目管理的幾項經(jīng)典技術(shù)。

  二、需求管理

  軟件需求是每個軟件開發(fā)的開端與基礎(chǔ)。在項目需求分析階段,雙方必須全面地盡可能細致地討論項目的應(yīng)用背景、功能要求、性能要求、操作界面要求、與其他軟件的接口要求,以及對項目進行評估的各種評價標準。在進行需求分析時,可以首先分析客戶原有系統(tǒng)的建設(shè)情況,對客戶的原有產(chǎn)品進行分析,明確建設(shè)目標等。

  需求管理對軟件項目能否終實現(xiàn)產(chǎn)生至關(guān)重要的影響。任何的軟件項目都必須進行合理的、細致的、一致的需求管理,只有這樣才能制定正確合理的軟件開發(fā)計劃,軟件項目才能順利地開發(fā)完成。

  三、溝通與協(xié)作

  軟件項目管理中的溝通與協(xié)作是指信息的交流, 是使信息發(fā)揮積極作用和達到目標的手段;協(xié)作是指和諧地在一起工作的活動。溝通技術(shù)可分分四類:(1)正式書面溝通, 包括項目文檔和備忘錄、項目里程碑和交貨時間表、需求變更和錯誤跟蹤規(guī)程、數(shù)據(jù)字典、系統(tǒng)分析模型( 用例圖等) ;(2)正式口頭溝通, 包括狀態(tài)審查會、需求評審會、設(shè)計評審會、代碼評審會、用戶測試, 項目定期例會等;(3)非正式口頭溝通, 包括小組碰頭會、同行討論、與直屬業(yè)務(wù)領(lǐng)導(dǎo)討論等;(4)電子溝通, 包括電子郵件、內(nèi)部BBS 等。協(xié)作技術(shù)包括資源合理配置、開發(fā)步驟有序化、工作目標一致化、提高關(guān)心程度、信息共享等。

  四、風(fēng)險管理

  軟件項目風(fēng)險管理是指對在軟件開發(fā)過程中所遇到的預(yù)算和進度等方面的問題進行分析,尋求風(fēng)險應(yīng)對方法,做好風(fēng)險管理計劃。

  針對軟件項目中的風(fēng)險管理問題,不少專家、組織提出了自己的風(fēng)險管理模型。 常見的主要風(fēng)險管理模型如下。

  1.SEI的連續(xù)風(fēng)險管理模型(CRM)。SEI CRM模型的風(fēng)險管理原則是不斷地評估可能造成惡劣后果的因素;決定迫切需要處理的風(fēng)險;實現(xiàn)控制風(fēng)險的策略;評測并確保風(fēng)險策略實施的有效性。CRM模型要求在項目生命期的所有階段都關(guān)注風(fēng)險識別和管理,它將風(fēng)險管理劃分為五個步驟:風(fēng)險識別、分析、計劃、跟蹤、控制。

  2.Barry Boehm模型。Boehm模型的思想核心是:10大風(fēng)險因素列表。針對每個風(fēng)險因素,都給出了一系列的風(fēng)險管理策略。在實際操作時,Boehm以10大風(fēng)險列表為依據(jù),總結(jié)當前項目具體的風(fēng)險因素,評估后進行計劃和實施,在下一次定期召開的會議上再對這10大風(fēng)險因素的解決情況進行總結(jié),產(chǎn)生新的10大風(fēng)險因素表,依此類推。Boehm模型的基本形式可描述為:RE = P (UO) 3 L (UO) ,其中RE表示風(fēng)險或者風(fēng)險所造成的影響;P (UO)表示令人不滿意的結(jié)果所發(fā)生的概率;L (UO)表示糟糕的結(jié)果會產(chǎn)生的破壞性的程度。

  3.軟件工程風(fēng)險模型( SER IM) . SER IM模型要求從技術(shù)和商業(yè)兩個角度對軟件風(fēng)險管理進行剖析,考慮的問題涉及開銷、進度、技術(shù)性能等。它還提供了一些指標和模型來估量和預(yù)測風(fēng)險,由于這些數(shù)據(jù)來源于大量的實際經(jīng)驗,因此具有很強的說服力。

  五、軟件項目管理技術(shù)

  1.CMM。CMM是美國卡納基梅隆大學(xué)軟件工程研究所(CMU /SEI)提出的軟件研發(fā)項目管理的一系列方法,它基于組織對關(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),同行評審。級別4:定量過程管理,軟件質(zhì)量管理。級別5:缺陷預(yù)防,技術(shù)更新管理,過程更改管理。

  2.CMMI。CMM I被看作是把各種CMM集成為一個系列的模型中。CMM I的基礎(chǔ)源模型包括: 軟件CMM2. 0版(草稿C) , EIA - 731系統(tǒng)工程,以及IPD CMM( IPD) 0. 98a版。CMM I也描述了5個不同的成熟度級別:級別1 (初始級)代表了以不可預(yù)測結(jié)果為特征的過程成熟度。過程包括了一些特別的方法、符號、工作和反應(yīng)管理,成功主要取決于團隊的技能。級別2 (已管理級)代表了以可重復(fù)項目執(zhí)行為特征的過程成熟度。組織使用基本紀律進行需求管理、項目計劃、項目監(jiān)督和控制、供應(yīng)商協(xié)議管理、產(chǎn)品和過程質(zhì)量保證、配置管理、以及度量和分析。

  3.PSP。PSP ( Personal Software Process,個體軟件過程)是由CMU /SE I開發(fā)出來的,它的推出在軟件工程界引起了極大的轟動,可以說是由定向軟件工程走向定量軟件工程的一個標志。PSP為基于個體和小型群組軟件過程的優(yōu)化提供了具體而有效的途徑,例如如何制訂計劃,如何控制質(zhì)量,如何與其他人相互協(xié)作等等。在軟件設(shè)計階段, PSP的著眼點在于軟件缺陷的預(yù)防,其具體辦法是強化設(shè)計約束準則,而不是設(shè)計方法的選擇。因此, PSP保障軟件產(chǎn)品質(zhì)量的一個重要途徑是提高設(shè)計質(zhì)量。

  六、小結(jié)

  本文分析研究了軟件項目管理中的需求管理、員工之間的溝通與協(xié)作、軟件項目風(fēng)險管理。后結(jié)合實踐,提出并分析了軟件項目管理技術(shù)。我們相信隨著軟件工程的發(fā)展和進一步成熟,軟件項目管理技術(shù)的發(fā)展會取得更大的進步。在實際項目中,我們要堅持改善軟件工程的管理,并在實踐中總結(jié)適合自身的經(jīng)驗,這樣才有利于管理技術(shù)的進步和軟件項目的順利完成,創(chuàng)造出更高的品質(zhì)、更大的效益。