一、引言

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

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

  二、需求管理

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

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

  三、溝通與協(xié)作

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

  四、風險管理

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

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

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

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

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

  五、軟件項目管理技術

  1.CMM。CMM是美國卡納基梅隆大學軟件工程研究所(CMU /SEI)提出的軟件研發(fā)項目管理的一系列方法,它基于組織對關鍵過程域的支持,定義了軟件過程成熟度的五個級別。級別1 (初始級)描述了不成熟,或者說是未定義過程的組織。級別2 (可重復級) ,級別3 (已定義級) ,級別4 (已管理級)和級別5 (優(yōu)化級)分別描述了軟件過程成熟度級別遞增的組織。和這些級別相關的KPA是:級別2:需求管理,軟件項目計劃,軟件項目跟蹤和監(jiān)控,軟件子合同管理,軟件質量保證,軟件配置管理。級別3:組織級過程焦點,組織級過程定義,培訓大綱,集成軟件管理,軟件產(chǎn)品工程,組間協(xié)調,同行評審。級別4:定量過程管理,軟件質量管理。級別5:缺陷預防,技術更新管理,過程更改管理。

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

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

  六、小結

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