韓成哲
(中國(guó)人民解放軍 92493部隊(duì), 遼寧 葫蘆島 125000)
軟件項(xiàng)目管理就是通過(guò)使用知識(shí)、 技能、 工具和方法組織、 計(jì)劃、 實(shí)施并監(jiān)控軟件項(xiàng)目, 使之滿足項(xiàng)目需要。可分為硬技能(方法、 過(guò)程、 技巧)和軟技能(人員管理)。一個(gè)成功的軟件項(xiàng)目必須滿足或超過(guò)聯(lián)系人的期望值。PMBOK的9大過(guò)程領(lǐng)域分別為整體、 范圍、 時(shí)間、 成本、 質(zhì)量、 人力資源、 溝通、 風(fēng)險(xiǎn)和采購(gòu)管理[1]。沒(méi)有項(xiàng)目管理, 項(xiàng)目也有可能成功, 但很難保證風(fēng)險(xiǎn)以及財(cái)政支出, 并且其模式是不可復(fù)制的。
圖1 軍用軟件研究成熟度的5個(gè)等級(jí)
軍用軟件成熟度模型是我軍為了使軟件開(kāi)發(fā)項(xiàng)目符合國(guó)際的認(rèn)證標(biāo)準(zhǔn)CMM(Capability Maturity Model)而推出的適用于我軍軟件項(xiàng)目研制工作的模型, 與CMM相似, 主要分為5個(gè)階段, 如圖1所示。
從圖1中可看出, 該模型注重的是整體成熟度, 對(duì)各個(gè)單體過(guò)程的完成度并不是其主要關(guān)注點(diǎn), 所以用ML1作為本模型的起點(diǎn)。成熟度等級(jí)的完成各分為不同的過(guò)程域, 過(guò)程域可繼續(xù)細(xì)分為其專(zhuān)屬的專(zhuān)用目標(biāo)和共同目標(biāo)。通過(guò)專(zhuān)用目標(biāo)和共同目標(biāo)的完成情況判斷各個(gè)過(guò)程域的完成情況, 再依據(jù)過(guò)程度的完成情況確定軟件的成熟是在哪個(gè)等級(jí)上, 是一個(gè)從小單元到大單元遞推的模塊化
過(guò)程。
筆者主要利用軍用軟件成熟度模型對(duì)軟件項(xiàng)目進(jìn)行管理, 這就需要用到項(xiàng)目管理類(lèi)過(guò)程域, 其主要是與項(xiàng)目的策劃、 監(jiān)督以及控制有關(guān)的各類(lèi)活動(dòng)。在項(xiàng)目開(kāi)始立項(xiàng)前需確定為該項(xiàng)目服務(wù)的專(zhuān)門(mén)部門(mén), 這里取名為項(xiàng)目管理辦公室(簡(jiǎn)稱總工辦),總工辦根據(jù)下屬相應(yīng)的職能設(shè)立管理組, 每個(gè)組根據(jù)職責(zé)負(fù)責(zé)相應(yīng)的軟件管理責(zé)任。開(kāi)發(fā)管理組又細(xì)分為: 軟件工程過(guò)程組(SEPG: Softwate Engineering Process Group)、 售后服務(wù)組(RMG: Responsible Maintenance Group)和軟件質(zhì)量保證組(SQAG: Software Quality Assarance Group)(見(jiàn)圖2)。SEPG負(fù)責(zé)提供過(guò)程指導(dǎo)、 幫助策劃和制定項(xiàng)目過(guò)程, 如果RMG和SQAG對(duì)過(guò)程的理解發(fā)生爭(zhēng)持, 則SEPG為最終仲裁者。SPPG和SPTOG負(fù)責(zé)軟件項(xiàng)目開(kāi)發(fā), 而SCMG則負(fù)責(zé)軟件的配置問(wèn)題[2]。
圖2 項(xiàng)目管理辦公室運(yùn)行機(jī)制
運(yùn)用上述建立的項(xiàng)目管理辦公室運(yùn)行機(jī)制, 每個(gè)組分別按照職能對(duì)項(xiàng)目進(jìn)行管理。管理要體現(xiàn)在項(xiàng)目實(shí)施的每個(gè)環(huán)節(jié), 即立項(xiàng)到售后服務(wù)的整個(gè)過(guò)程, 使其達(dá)到GJB對(duì)于軟件項(xiàng)目的標(biāo)準(zhǔn)。表1為各個(gè)過(guò)程域的分類(lèi), 從表1中可看出, 哪些過(guò)程域是項(xiàng)目管理類(lèi)的, 即課題所要重點(diǎn)注意的。
任何項(xiàng)目的開(kāi)始必須有一個(gè)立項(xiàng)過(guò)程, 很多管理者往往存在立項(xiàng)過(guò)程不必要進(jìn)行管理的誤區(qū)。然而, 立項(xiàng)過(guò)程既為管理過(guò)程的開(kāi)始, 就要先期用到項(xiàng)目策劃、 監(jiān)控和風(fēng)險(xiǎn)管理。策劃使項(xiàng)目有一個(gè)明確的目標(biāo)以及大概方向, 監(jiān)控立項(xiàng)的過(guò)程就是把握好問(wèn)題的關(guān)鍵, 風(fēng)險(xiǎn)管理可以為后續(xù)的工作建立初期的風(fēng)險(xiǎn)機(jī)制, 分析可能發(fā)生的意外情況。
由圖3可看出, 決策層要對(duì)項(xiàng)目進(jìn)行論證以及最后的審批, 而項(xiàng)目負(fù)責(zé)人要根據(jù)決策層提出的意見(jiàn)進(jìn)行修改并開(kāi)始項(xiàng)目, 總工辦在立項(xiàng)過(guò)程中起到承上啟下作用??偣まk需要與項(xiàng)目領(lǐng)導(dǎo)小組進(jìn)行溝通, 同時(shí)要向項(xiàng)目負(fù)責(zé)人傳達(dá)指令, 使項(xiàng)目能順利立項(xiàng)。立項(xiàng)過(guò)程中可不要求具體人員參加。按照上述辦法, 立項(xiàng)后即可完成軍用軟件成熟度模型2級(jí)的兩項(xiàng)內(nèi)容以及3級(jí)的一項(xiàng)內(nèi)容。
項(xiàng)目立項(xiàng)后, 總工辦繼續(xù)對(duì)項(xiàng)目的整體進(jìn)行控制, 而項(xiàng)目負(fù)責(zé)人開(kāi)始對(duì)項(xiàng)目的要求進(jìn)行需求分析和改進(jìn)與總體目標(biāo)相關(guān)的可行性方案(見(jiàn)圖4)。對(duì)需求要進(jìn)行反復(fù)修改, 并且把所能達(dá)到的需求列入開(kāi)發(fā)步驟, 把暫時(shí)達(dá)不到的需求列為暫定計(jì)劃或預(yù)留, 在開(kāi)發(fā)過(guò)程中要通知相應(yīng)的開(kāi)發(fā)人員預(yù)留相應(yīng)的接口, 不能堵死出路。這里對(duì)應(yīng)的是軍用軟件成熟度模型的需求管理和供方協(xié)議管理。
隨著項(xiàng)目的進(jìn)行, 所有的需求都慢慢出現(xiàn), 為避免歧義, 需求提供者和接收者要共同完成各階段的需求分析, 這一過(guò)程就是求得對(duì)需求的共同理解。在此基礎(chǔ)上, 項(xiàng)目的參與者還要對(duì)當(dāng)前達(dá)成一致的需求進(jìn)行承諾, 該承諾包括項(xiàng)目在以后計(jì)劃活動(dòng)以及產(chǎn)品改動(dòng)的承諾, 該過(guò)程就是對(duì)需求的承諾。得到對(duì)需求承諾后, 對(duì)需求進(jìn)行變更, 需求的改變進(jìn)行雙向跟蹤, 找出項(xiàng)目工作與需求之間不一致的地方進(jìn)行修正。重復(fù)這一過(guò)程, 以達(dá)到需求和項(xiàng)目目標(biāo)的高度一致性[3]。
圖4 需求階段主要完成的工作
確定相應(yīng)的需求后, 負(fù)責(zé)人在總工辦的領(lǐng)導(dǎo)下對(duì)總體目標(biāo)進(jìn)行軟件的設(shè)計(jì)與開(kāi)發(fā)。軟件開(kāi)發(fā)是軟件項(xiàng)目的核心部分, 目標(biāo)的實(shí)現(xiàn)以及需求的完成都離不開(kāi)軟件開(kāi)發(fā)。在開(kāi)發(fā)過(guò)程中要用到集成項(xiàng)目管理、 項(xiàng)目監(jiān)控、 風(fēng)險(xiǎn)管理和定量項(xiàng)目管理等。
在開(kāi)發(fā)過(guò)程中, 項(xiàng)目監(jiān)控要一直持續(xù)到項(xiàng)目結(jié)束并延伸到維護(hù)階段。風(fēng)險(xiǎn)管理也要隨著項(xiàng)目的深入進(jìn)行修正, 以確保整體的軟件開(kāi)發(fā)風(fēng)險(xiǎn)在可承受范圍內(nèi)。集成項(xiàng)目管理要建立并維護(hù)項(xiàng)目的共同愿望和集成團(tuán)隊(duì)結(jié)構(gòu), 努力維護(hù)在結(jié)構(gòu)中的團(tuán)隊(duì), 并在結(jié)構(gòu)中對(duì)團(tuán)隊(duì)配置職責(zé)、 需求和接口等, 保證團(tuán)隊(duì)之間接口的工作, 使項(xiàng)目的集成化提高。要建立和維護(hù)項(xiàng)目質(zhì)量及過(guò)程性能目標(biāo), 提供穩(wěn)定的歷史數(shù)據(jù)選擇組成項(xiàng)目定義過(guò)程的子過(guò)程, 統(tǒng)計(jì)子過(guò)程形成定義過(guò)程, 并對(duì)質(zhì)量、 過(guò)程性能等目標(biāo)進(jìn)行跟蹤, 判斷是否需要修正, 保證項(xiàng)目滿足質(zhì)量目標(biāo)和過(guò)程性能目標(biāo)。QPM是4級(jí)項(xiàng)目管理, 工作較多, 可根據(jù)實(shí)際情況針對(duì)項(xiàng)目處理[4-8]。
項(xiàng)目的維護(hù)階段可以參照項(xiàng)目的開(kāi)發(fā)階段, 單獨(dú)建立模塊也可把維護(hù)加到項(xiàng)目開(kāi)發(fā)的模塊中一并進(jìn)行處理。
綜上所述, CMM對(duì)軍用軟件項(xiàng)目開(kāi)發(fā)管理以及開(kāi)發(fā)能力評(píng)估有著重要的指導(dǎo)作用, 同時(shí)也可作為軍用軟件生產(chǎn)過(guò)程的執(zhí)行標(biāo)準(zhǔn)。筆者結(jié)合某軍用軟件項(xiàng)目開(kāi)發(fā)實(shí)際, 研究提出了總工辦管理框架圖以及各個(gè)階段的各項(xiàng)工作內(nèi)容, 并在軟件項(xiàng)目實(shí)際開(kāi)發(fā)中進(jìn)行了實(shí)際應(yīng)用, 其成果可應(yīng)用于同類(lèi)軍事軟件項(xiàng)目開(kāi)發(fā)過(guò)程中。
參考文獻(xiàn):
[1]MISHRA ALOK. Sofeware Quality Assurance Models in Small and Medium Organisations [J]. International Jourual of Information Technology & Management, 2006, 5(1): 4-20.
[2]邢彬彬, 姚政. CMM/CMMI與軟件生命周期模型關(guān)系的研究 [J]. 計(jì)算機(jī)應(yīng)用研究, 2007, 24(11): 65-69.
XING Bin-bin, YAO Zheng. Study of Relation between CMM/CMMI and Software Life Cycle Models [J]. Application Research of Computes, 2007, 24(11): 65-69.
[3]GJB 5000A-2008. 軍用軟件研制能力成熟度模型 [S]. 北京: 中國(guó)標(biāo)準(zhǔn)出版社, 2009.
GJB 5000A-2008. Military Capability Maturity Model for Software Development [S]. Beijing: China Standard Press, 2009.
[4]方德英, 李敏強(qiáng). 中小規(guī)模低成熟度軟件企業(yè)的項(xiàng)目風(fēng)險(xiǎn)管理 [J]. 計(jì)算機(jī)系統(tǒng)應(yīng)用, 2003(10): 12-15.
FANG De-ying, LI Min-qiang. An Approach for Risk Management to Low-Maturity Software Firms [J]. Computer Systems Application, 2003(10): 12-15.
[5]鄧景毅, 葉世綺, 鄭欣. 軟件成熟度模型(CMM)發(fā)展綜述[J]. 計(jì)算機(jī)應(yīng)用研究, 2002, 19(7): 6-9.
DENG Jing-yi, YE Shi-qi, ZHENG Xin. The Survey of CMM (the Capability Maturity Model) [J]. Application Research of Computers, 2002, 19(7): 6-9.
[6]JAMES HERBSLEB. Software Quality and the Capability Ma-Turity Model [J]. Communications of the ACM, 1997, 40(6): 30-40.
[7]張友生, 徐鋒. CMM/CMMI在中國(guó)的實(shí)施狀況調(diào)查報(bào)告 [J]. 計(jì)算機(jī)工程與應(yīng)用, 2006, 42(7): 31-32.
ZHANG You-sheng, XU Feng. The Investigation Report of Implementation Status of CMM/CMMI [J]. Computer Engineering and Applications, 2006, 42(7): 31-32.
[8]王慧, 周伯生, 羅文劼. 基于CMMI的軟件過(guò)程性能模型 [J]. 計(jì)算機(jī)工程與設(shè)計(jì), 2009, 30(1): 110-112.
WANG Hui, ZHOU Bo-sheng, LUO Wen-jie. Research on CMMI-Based Process Performance Models [J]. Computer Engineering and Design, 2009, 30(1): 110-112.