馬小龍
(湖州師范學(xué)院商學(xué)院,浙江 湖州 313000)
國(guó)際上采用的軟件過(guò)程改進(jìn)模型如CMM/CMMI是軟件過(guò)程改進(jìn)領(lǐng)域的重要成果,它是適用于軟件企業(yè)質(zhì)量管理和過(guò)程改進(jìn)的重要標(biāo)準(zhǔn)。但是,這些模型主要是針對(duì)大型軟件企業(yè)的,對(duì)于國(guó)內(nèi)為數(shù)眾多的中小型軟件企業(yè)并不完全適合。因此,尋找一種適合國(guó)內(nèi)中小型軟件企業(yè)的軟件過(guò)程改進(jìn)框架顯得非常重要。以下在分析和借鑒CMMI和ASD理論基礎(chǔ)上,研究出了一個(gè)面向國(guó)內(nèi)中小型軟件的軟件過(guò)程改進(jìn)框架。
我國(guó)的軟件組織以中小企業(yè)為主,50人以下的軟件企業(yè)占大多數(shù),這些企業(yè)有一些共同的特點(diǎn)。
(1)小型軟件員工的年齡集中在25~30歲,學(xué)歷大多在本科以及碩士以上,但是卻沒(méi)有相關(guān)的培訓(xùn)計(jì)劃。企業(yè)的領(lǐng)導(dǎo)者認(rèn)為員工雇傭是為了馬上工作,培訓(xùn)是一種昂貴的、浪費(fèi)時(shí)間與金錢(qián)、沒(méi)有回報(bào)的付出。
(2)小型軟件企業(yè)員工認(rèn)為自己企業(yè)的優(yōu)勢(shì)在于擁有優(yōu)秀的技術(shù)人員,而問(wèn)題在于:時(shí)間難控制、開(kāi)發(fā)壓力大,用戶(hù)需求變更頻繁,人員流動(dòng)大。
(3)小型軟件企業(yè)的業(yè)務(wù)負(fù)責(zé)人大多是計(jì)算機(jī)、軟件和其他的相關(guān)專(zhuān)業(yè),極少是管理專(zhuān)業(yè),表現(xiàn)出人員的管理混亂。企業(yè)經(jīng)營(yíng)者缺乏有效的管理手段,難以準(zhǔn)確地掌握并控制產(chǎn)品及項(xiàng)目的開(kāi)發(fā)成本,導(dǎo)致企業(yè)獲利能力下降。
(4)小型軟件企業(yè)開(kāi)發(fā)規(guī)模平均要小于大型軟件企業(yè),一般項(xiàng)目要求在6個(gè)月內(nèi),所接受項(xiàng)目的大小不一,即小型軟件企業(yè)所接受的不一定是小型軟件項(xiàng)目,這就要求小型軟件企業(yè)同樣要有好的項(xiàng)目管理能力。
CMMI過(guò)程域分為四類(lèi),過(guò)程管理類(lèi)、項(xiàng)目管理類(lèi)、工程類(lèi)和支持類(lèi)。
過(guò)程管理類(lèi)的過(guò)程域包括組織過(guò)程焦點(diǎn)(OPF)、組織過(guò)程定義(OPD)、組織培訓(xùn)(OT)、組織過(guò)程性能(OPP)、組織革新和部署(OID)。
項(xiàng)目管理類(lèi)過(guò)程域包括項(xiàng)目策劃 (PP)、項(xiàng)目監(jiān)督與控制(PMC)、供應(yīng)商協(xié)議管理(SAM)、集成項(xiàng)目管理(IPM)、風(fēng)險(xiǎn)管理(RSKM)、集成團(tuán)隊(duì)(IT)和定量項(xiàng)目管理(QPM)。
工程類(lèi)過(guò)程域包括需求開(kāi)發(fā)(RD)、需求管理(REQM)、技術(shù)解決(TS)、產(chǎn)品集成(PI)、驗(yàn)證(VER)和確認(rèn)(VAL)。
支持類(lèi)過(guò)程域包括度量與分析(MA)、過(guò)程和產(chǎn)品質(zhì)量保證(PPQA)、配置管理(CM)、組織集成環(huán)境(OEI)、原因分析和解決(CAR)、決策分析和解決(DAR)。
敏捷方法論誕生于19世紀(jì)中期,當(dāng)時(shí)涌現(xiàn)了一批軟件行業(yè)的激進(jìn)人士,他們反對(duì)那些以過(guò)程為本的重型軟件開(kāi)發(fā)方法(例如:傳統(tǒng)的瀑布開(kāi)發(fā)方法)。在2001年,17位軟件業(yè)界的專(zhuān)家們齊聚一堂,討論正在興起的輕量級(jí)開(kāi)發(fā)方法。專(zhuān)家們給這類(lèi)輕量級(jí)的方法學(xué)起了一個(gè)新的名字叫做敏捷,并發(fā)布了敏捷開(kāi)發(fā)者宣言。敏捷方法強(qiáng)調(diào)以人為本,專(zhuān)注于交付對(duì)客戶(hù)有價(jià)值的軟件。在高度協(xié)作的開(kāi)放環(huán)境中,使用迭代式的方式進(jìn)行增量開(kāi)發(fā),經(jīng)常使用反饋進(jìn)行思考、反省和總結(jié),不停地進(jìn)行自我調(diào)整和完善。敏捷型(agile)的軟件開(kāi)發(fā)方法,以矯正官僚繁瑣過(guò)程,許可對(duì)過(guò)程進(jìn)行自主調(diào)整為特征,在軟件業(yè)引起了極大的興趣。敏捷型方法的合理性,著重點(diǎn)并不是放在其"輕重"上,而是于他們的適應(yīng)性性質(zhì)和以人優(yōu)先的理念。
本框架模型對(duì)軟件生命周期采用增量迭代模型的描述方法,將項(xiàng)目管理按模型的不同階段劃分不同的管理內(nèi)容,使項(xiàng)目管理和項(xiàng)目開(kāi)發(fā)過(guò)程緊密結(jié)合。
本框架模型將軟件開(kāi)發(fā)分為項(xiàng)目開(kāi)發(fā)和項(xiàng)目管理活動(dòng),按增量迭代模型描述方法,項(xiàng)目開(kāi)發(fā)活動(dòng)被歸入需求分析、系統(tǒng)設(shè)計(jì)、編碼和單元測(cè)試、綜合測(cè)試和維護(hù)五個(gè)過(guò)程域;項(xiàng)目管理活動(dòng)的不同性質(zhì)被納入需求管理、軟件項(xiàng)目計(jì)劃管理、軟件項(xiàng)目跟蹤和監(jiān)控、軟件質(zhì)量保證和軟件配置管理五個(gè)過(guò)程域。
(1)項(xiàng)目管理過(guò)程。①需求管理過(guò)程域,分配需求被有效地建立成一個(gè)基線(xiàn),這個(gè)基線(xiàn)是以后活動(dòng)的基礎(chǔ),軟件計(jì)劃、產(chǎn)品和活動(dòng)與分配需求保持一致。②項(xiàng)目計(jì)劃管理過(guò)程域,軟件估計(jì)被文檔化,以供計(jì)劃和跟蹤軟件項(xiàng)目使用,軟件項(xiàng)目的活動(dòng)和約定是有計(jì)劃的,并形成文檔。③項(xiàng)目跟蹤和監(jiān)控過(guò)程域,周期性地跟蹤和監(jiān)督項(xiàng)目各單元,如進(jìn)度、工作量、成本和資源等,不斷了解項(xiàng)目的進(jìn)展情況,當(dāng)項(xiàng)目進(jìn)展顯著偏離計(jì)劃時(shí)采取糾正措施。④軟件質(zhì)量保證過(guò)程域,通過(guò)提供一種有效的人員組織形式和管理方法,對(duì)產(chǎn)品開(kāi)發(fā)質(zhì)量進(jìn)行檢查和監(jiān)督,從而持續(xù)改進(jìn)軟件質(zhì)量。⑤軟件配置管理過(guò)程域,是軟件過(guò)程的關(guān)鍵要素,目的是建立并維護(hù)軟件產(chǎn)品在整個(gè)軟件生存期內(nèi)的完整性,是開(kāi)發(fā)和維護(hù)各個(gè)階段管理軟件演進(jìn)過(guò)程的方法和規(guī)程。
(2)項(xiàng)目開(kāi)發(fā)過(guò)程。①需求分析過(guò)程,對(duì)用戶(hù)進(jìn)行需求調(diào)研,獲取用戶(hù)需求并定義產(chǎn)品需求。②系統(tǒng)設(shè)計(jì)過(guò)程域,設(shè)計(jì)開(kāi)發(fā)軟件產(chǎn)品的體系結(jié)構(gòu)、用戶(hù)界面、數(shù)據(jù)庫(kù)和子模式等。確定所采用的技術(shù)工具,從而在需求和代碼之間建立橋梁,直到開(kāi)發(fā)人員去實(shí)現(xiàn)產(chǎn)品。③編碼和單元測(cè)試過(guò)程域,根據(jù)系統(tǒng)設(shè)計(jì)文檔的要求開(kāi)始對(duì)各模塊進(jìn)行編碼,對(duì)編碼的階段性產(chǎn)品進(jìn)行單元測(cè)試。④綜合測(cè)試工程域,依據(jù)用戶(hù)需求、系統(tǒng)設(shè)計(jì)文檔對(duì)最終產(chǎn)品進(jìn)行全面測(cè)試,以得到用戶(hù)所需求的產(chǎn)品。⑤維護(hù)過(guò)程域,客戶(hù)依據(jù)合同和需求文檔對(duì)產(chǎn)品進(jìn)行測(cè)試和維護(hù),以確保軟件滿(mǎn)足用戶(hù)的長(zhǎng)久需求。
為了檢驗(yàn)框架的效果,特設(shè)置了一個(gè)評(píng)分規(guī)則,列出一系列評(píng)分指標(biāo)及權(quán)重,并通過(guò)5位中小軟件企業(yè)項(xiàng)目管理負(fù)責(zé)人和5位專(zhuān)家進(jìn)行評(píng)價(jià)。
(1)列出7個(gè)評(píng)分指標(biāo),每個(gè)指標(biāo)的滿(mǎn)分指為10分,這些指標(biāo)如表1所示。
(2)邀請(qǐng)10位專(zhuān)家,針對(duì)評(píng)分表進(jìn)行打分,最后得到的評(píng)分分別為75分、85分、90分、88分、84分、79分、93分、86分、91分、87分。
(3)綜合專(zhuān)家打分結(jié)果,進(jìn)行加權(quán)平均,計(jì)算最終評(píng)分結(jié)果為85.8分,與基準(zhǔn)值進(jìn)行比較,確定效果為良好。
本文給出的軟件過(guò)程改進(jìn)框架是在綜合考慮國(guó)內(nèi)中小型軟件企業(yè)特點(diǎn)的基礎(chǔ)上以CMMI和ASD理論為基礎(chǔ)構(gòu)建的,其目的是幫助國(guó)內(nèi)中小型軟件企業(yè)提高軟件能力成熟度。今后的工作需要在更多實(shí)踐的基礎(chǔ)上對(duì)框架進(jìn)一步規(guī)則化和細(xì)化,以提高其可操作性。
表1 指標(biāo)評(píng)分表
[1]黃錫偉.CMMI解析與實(shí)踐[M].北京:人民郵電出版社,2004.
[2]蘇術(shù)峰.我國(guó)中小軟件企業(yè)競(jìng)爭(zhēng)力的影響因素及提高途徑[J].商業(yè)研究,2008,(7).
[3]Dean,Leffingwell.敏捷開(kāi)發(fā):企業(yè)級(jí)最佳實(shí)踐[M].馮雁,婁嘉鵬譯.北京:電子工業(yè)出版社,2009.
[4]Agile Modeling Effective Practices for eXtreme Programming and the Unified Process(美)ScottW.Ambler.2002.
[5]CMMIfor Development Version1.2 CMMI-DEV,V1.2.Carnegie Mellon Software Engineering Institute,Pittsburgh PA 15213-3890.
[6]郭笑梅.中小型軟件企業(yè)的軟件過(guò)程改進(jìn)研究[J].電腦知識(shí)與技術(shù),2009,(5).