吳瑞 劉煉 周崇山
摘 要 最近幾年IT行業(yè)的蓬勃發(fā)展,已經(jīng)涌現(xiàn)出不少軟件開發(fā)項(xiàng)目外包公司。一個(gè)軟件開發(fā)項(xiàng)目通常要經(jīng)歷需求分析、設(shè)計(jì)、編碼、測試等多個(gè)大的階段。其中設(shè)計(jì)又包括總體設(shè)計(jì),系統(tǒng)設(shè)計(jì),詳細(xì)設(shè)計(jì)等幾個(gè)環(huán)節(jié),其中還包括模塊化之后的集成環(huán)節(jié),整個(gè)項(xiàng)目還包含與專業(yè)或是非專業(yè)客戶團(tuán)隊(duì)的溝通問題。項(xiàng)目整體環(huán)節(jié)復(fù)雜多變,管理困難,需要專門的項(xiàng)目管理方案與分析團(tuán)隊(duì)。
關(guān)鍵詞 軟件開發(fā) 成本核算模型 風(fēng)險(xiǎn)控制 質(zhì)量保證活動(dòng)
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1007-0745(2020)02-0049-03
隨著高科技與信息化的發(fā)展,互聯(lián)網(wǎng)已經(jīng)被廣泛運(yùn)用到各個(gè)行業(yè)中,其運(yùn)行載體“軟件”更是滲透于生活中的點(diǎn)點(diǎn)滴滴。企業(yè)當(dāng)然也要與時(shí)俱進(jìn),對各類的軟件需求也越來越多,要求也越來越高,用以提高自身的核心競爭力。但是很多企業(yè)由于資金流短缺、技術(shù)低的局限,常會選擇軟件外包公司進(jìn)行相關(guān)的軟件開發(fā)服務(wù)。把信息化建設(shè)工作交給專業(yè)的服務(wù)公司團(tuán)隊(duì)去做,企業(yè)解放了這部分資源,把更多的人力物力集中在核心工作上。尤其是對于那些不可能投入大量資金和人力的企業(yè)來說,技術(shù)外包可以讓他們更專注于研究自身的經(jīng)營難題。由此軟件開發(fā)外包團(tuán)隊(duì)?wèi)?yīng)運(yùn)而生,但隨之而來的是外包公司對單個(gè)開發(fā)項(xiàng)目的項(xiàng)目管理問題。[1]
1 項(xiàng)目整體管理
1.1 軟件開發(fā)外包項(xiàng)目簡介
著名通信與科技公司華為正在參與最新的第五代通信技術(shù)“5G”的研發(fā),研發(fā)與應(yīng)用進(jìn)度領(lǐng)先于美國在內(nèi)的多個(gè)國家的龍頭通信公司,該公司有望成為“5G”的行業(yè)標(biāo)準(zhǔn)制定者。由于要做“5G”的商用,在研發(fā)與商用開發(fā)的的過程中產(chǎn)生了軟件開發(fā)問題,盡管華為公司的規(guī)模龐大,員工數(shù)量多,但是許多軟件過程更加趨向于過程模式化,如果花費(fèi)大量的人力、財(cái)力在此上,則是得不償失。根據(jù)已知資料,華為在“5G”研發(fā)上已經(jīng)投入超過153億美元,在如此巨額的研發(fā)成本下,為了加快開發(fā)商用進(jìn)度節(jié)約時(shí)間與成本。許多的軟件開發(fā)則是由外包團(tuán)隊(duì)承擔(dān),所以在這個(gè)背景下外包團(tuán)隊(duì)成功的項(xiàng)目管理就顯得格外重要。[2]
1.2 軟件開發(fā)具體工作分解結(jié)構(gòu)圖
外包團(tuán)隊(duì)的軟件開發(fā)周期分為若干個(gè)階段,每個(gè)階段都可以分為啟動(dòng)、計(jì)劃、執(zhí)行、控制和收尾等五個(gè)基本管理過程。這些過程按一定順序發(fā)生,彼此交疊。一般情況下,執(zhí)行過程消耗的資源較多,持續(xù)時(shí)間較長,啟動(dòng)和收尾過程時(shí)間較短,消耗資源較少。但是軟件開發(fā)則是不同,軟件開發(fā)在代碼實(shí)現(xiàn)階段難度不是太大,更多的時(shí)間成本花費(fèi)在測試與運(yùn)維階段。以下簡單介紹了其主要階段[3]和核心工作。[4]
1.3 項(xiàng)目章程
中文名稱:華為軟件開發(fā)外包項(xiàng)目
立項(xiàng)時(shí)間:2018年11月
外包團(tuán)隊(duì):中軟國際,博朗軟件……
外包軟件數(shù)目:128個(gè)
項(xiàng)目結(jié)束預(yù)計(jì)時(shí)間:2020年9月
外包費(fèi)用:15億
負(fù)責(zé)人:華為研發(fā)部經(jīng)理,各個(gè)外包團(tuán)隊(duì)負(fù)責(zé)人。
2 項(xiàng)目成本管理
華為外包總投入約為15億。
2.1 軟件開發(fā)規(guī)模核算模型
2.1.1 面向規(guī)模的度量標(biāo)準(zhǔn)
每KLOC(千行代碼)的錯(cuò)誤數(shù),即總錯(cuò)誤數(shù)除以總KLOC。
每KLOC(千行代碼)的缺陷數(shù),即總?cè)毕輸?shù)除以總KLOC。
每KLOC(千行代碼)的文檔頁數(shù),即總文檔頁數(shù)除以總KLOC。
2.1.2 間接測量—功能點(diǎn)度量
功能點(diǎn)數(shù)從直接度量軟件信息域和評估軟件復(fù)雜性的經(jīng)驗(yàn)量化關(guān)系中獲得。
步驟:
·先算未調(diào)整功能點(diǎn)總計(jì)數(shù)UFC
·再算功能點(diǎn)FP
計(jì)算功能點(diǎn)(FP):
total_counts:總計(jì)數(shù)
Fi (i取1到14) :14項(xiàng)復(fù)雜性調(diào)整值
2.2 基于規(guī)模完成成本核算
算法成本模型-基于經(jīng)驗(yàn)的度量:
●軟件成本的算法成本模型
Effort=A+SizeB×M
●A,常量,由組織的實(shí)踐與軟件的類型所決定。
●B,常量,取值范圍(1,15)。
●M,常量,反應(yīng)產(chǎn)品、過程與人力屬性。
●Size,可以是軟件代碼規(guī)模的估算,也可以是功能點(diǎn)或目標(biāo)點(diǎn)。
3 項(xiàng)目質(zhì)量管理
軟件的質(zhì)量管理工作是一個(gè)系統(tǒng)過程,在實(shí)施過程中必須創(chuàng)造必要的資源條件,使之與項(xiàng)目質(zhì)量要求相適應(yīng)。各職能部門及實(shí)施單位要保證工作質(zhì)量和項(xiàng)目質(zhì)量,實(shí)行業(yè)務(wù)工作程序化、標(biāo)準(zhǔn)化和規(guī)范化。支持質(zhì)量部門獨(dú)立的、有效的行使職權(quán),對項(xiàng)目實(shí)施全過程實(shí)行質(zhì)量控制。
軟件質(zhì)量是一個(gè)軟件企業(yè)成功的必要條件,其重要性無論怎樣強(qiáng)調(diào)都不過分。
項(xiàng)目的質(zhì)量保證活動(dòng)由項(xiàng)目經(jīng)理協(xié)調(diào)項(xiàng)目組長在軟件的各個(gè)階段中實(shí)施。
4 項(xiàng)目的風(fēng)險(xiǎn)管理
風(fēng)險(xiǎn)是一種潛在的危險(xiǎn)。軟件項(xiàng)目由于其自身的特點(diǎn)而存在風(fēng)險(xiǎn),甚至是災(zāi)難性的風(fēng)險(xiǎn)。
項(xiàng)目風(fēng)險(xiǎn)管理主要包括:風(fēng)險(xiǎn)標(biāo)識、風(fēng)險(xiǎn)估算、風(fēng)險(xiǎn)評價(jià)、風(fēng)險(xiǎn)管理。
4.1 風(fēng)險(xiǎn)標(biāo)識
識別潛在的風(fēng)險(xiǎn),分別對以下三類風(fēng)險(xiǎn)進(jìn)行提取、分析:
項(xiàng)目風(fēng)險(xiǎn)。與項(xiàng)目有關(guān)的預(yù)算、軟件開發(fā)進(jìn)度、人力分配、資源、用戶需求、軟件規(guī)模、軟件復(fù)雜性等方面的問題。
技術(shù)風(fēng)險(xiǎn)。影響開發(fā)質(zhì)量和交付時(shí)間的設(shè)計(jì)、實(shí)現(xiàn)、驗(yàn)證、軟件測試、維護(hù)、用戶接口等方面的問題。
商業(yè)風(fēng)險(xiǎn)。包括與產(chǎn)品的商業(yè)運(yùn)作有關(guān)的市場風(fēng)險(xiǎn)、預(yù)算風(fēng)險(xiǎn)、決策風(fēng)險(xiǎn)等。
4.2 風(fēng)險(xiǎn)估算
也稱為風(fēng)險(xiǎn)評估,一般是從兩方面進(jìn)行估算:
⑴從影響風(fēng)險(xiǎn)的因素考慮風(fēng)險(xiǎn)發(fā)生的可能性。
a.因?yàn)閷浖?guī)模和功能點(diǎn)的估算失誤,錯(cuò)誤估計(jì)了開發(fā)時(shí)間。
b.對開發(fā)語言環(huán)境的不熟悉,編碼階段出現(xiàn)大量錯(cuò)誤。
⑵風(fēng)險(xiǎn)發(fā)生所帶來的損失的嚴(yán)重程度。
a.交付時(shí)間延長,違反合同規(guī)定。
b.開發(fā)成本增加,造成公司經(jīng)濟(jì)損失。
4.3 風(fēng)險(xiǎn)評價(jià)
為了反映風(fēng)險(xiǎn)產(chǎn)生的可能程度和風(fēng)險(xiǎn)產(chǎn)生后果的嚴(yán)重程度,建立風(fēng)險(xiǎn)度量的指標(biāo)體系,一種簡單的風(fēng)險(xiǎn)評估技術(shù)是建立風(fēng)險(xiǎn)評估表。(如表2)
4.4 風(fēng)險(xiǎn)管理
4.4.1 避免風(fēng)險(xiǎn)
是一種主動(dòng)避免風(fēng)險(xiǎn)的活動(dòng)。是在風(fēng)險(xiǎn)發(fā)生前分析引起風(fēng)險(xiǎn)的原因,采取措施,避免風(fēng)險(xiǎn)發(fā)生。
4.4.2 風(fēng)險(xiǎn)監(jiān)控
貫穿在軟件開發(fā)的全過程,是一種項(xiàng)目跟蹤活動(dòng)。主要監(jiān)控對項(xiàng)目風(fēng)險(xiǎn)產(chǎn)生主要影響的因素。
4.4.3 風(fēng)險(xiǎn)管理監(jiān)控計(jì)劃
制定風(fēng)險(xiǎn)監(jiān)控計(jì)劃RMMP,保證文檔的正確性,按監(jiān)控計(jì)劃記錄、管理風(fēng)險(xiǎn)分析的全過程。
5 項(xiàng)目人力資源管理
該外包項(xiàng)目采用一般的軟件開發(fā)公司人員管理模式,設(shè)立了對應(yīng)的項(xiàng)目經(jīng)理,以及軟件模塊化后的分組任務(wù)由各組長帶領(lǐng)完成開發(fā)任務(wù),后續(xù)的集成及完善皆有項(xiàng)目經(jīng)理協(xié)調(diào)完成。
6 項(xiàng)目總結(jié)與評價(jià)
6.1 全過程的進(jìn)度追蹤與控制
外包軟件開發(fā)是個(gè)多方參與多方協(xié)調(diào)的活動(dòng),在多方共同努力完成的大型軟件開發(fā)項(xiàng)目,基于該項(xiàng)目的特殊性和重要性,華為方面主管部門、投資、開發(fā)、溝通、監(jiān)督等所有相關(guān)單位,從項(xiàng)目立項(xiàng)開始到設(shè)計(jì)、招投標(biāo)、實(shí)施、收尾等各個(gè)階段、環(huán)節(jié)和過程都要進(jìn)行項(xiàng)目管理。甲方華為公司應(yīng)該與外包公司定期舉行項(xiàng)目狀態(tài)會議,由外包公司交接階段可交付成果或階段里程碑文件,實(shí)行項(xiàng)目進(jìn)度的實(shí)時(shí)控制,解決項(xiàng)目開發(fā)中的問題,加快開發(fā)時(shí)間。
6.2 必須做到有華為公司參與的質(zhì)量保證
由華為公司派出質(zhì)量監(jiān)督小組實(shí)時(shí)監(jiān)督其開發(fā)質(zhì)量以及標(biāo)準(zhǔn)化開發(fā)程序的完成度。其質(zhì)量保證人員要?jiǎng)?chuàng)建和執(zhí)行改進(jìn)軟件開發(fā)過程并防止軟件缺陷的標(biāo)準(zhǔn)和方法。
6.3 做好項(xiàng)目的前期策劃和項(xiàng)目開發(fā)計(jì)劃
項(xiàng)目開發(fā)計(jì)劃是指導(dǎo)項(xiàng)目管理工作的綱領(lǐng)性文件,是對項(xiàng)目管理的目標(biāo)、依據(jù)、內(nèi)容、組織、資源、方法、程序和控制措施進(jìn)行的籌劃與確定,在項(xiàng)目管理中有著十分重要的作用。工程項(xiàng)目管理必須有周密、可行、有效的項(xiàng)目管理規(guī)劃,既要根據(jù)項(xiàng)目需要就如何進(jìn)行管理作出策劃,又要為項(xiàng)目建設(shè)的順利進(jìn)行創(chuàng)造必要條件,同時(shí)確定項(xiàng)目管理目標(biāo)。
作為行業(yè)領(lǐng)頭開發(fā)項(xiàng)目-“5G”的商用開發(fā)項(xiàng)目,開發(fā)時(shí)間也是要在整個(gè)項(xiàng)目中有著巨大影響的,所以一份完備的開發(fā)計(jì)劃顯得尤為重要。
計(jì)劃中應(yīng)對前期的招標(biāo)公司資格進(jìn)行嚴(yán)格篩查,因該尋找與之相對應(yīng)的行業(yè)領(lǐng)頭的外包公司,對這些公司的軟件開發(fā)生產(chǎn)率,合格率等進(jìn)行詳細(xì)調(diào)查分析。
從其他軟件開發(fā)項(xiàng)目管理成功運(yùn)用的經(jīng)驗(yàn)來看,綜合考慮多元因素是很重要的,忽視其中任何一方面都會給項(xiàng)目帶來問題。在進(jìn)行大型開發(fā)項(xiàng)目的項(xiàng)目管理工作中,必要的分析研究可使項(xiàng)目的科學(xué)性和可操作性得到加強(qiáng),同時(shí)也為項(xiàng)目管理工作提供更為充分的依據(jù)、更加科學(xué)合理的決策。大型軟件開發(fā)項(xiàng)目不是簡單的方案的選擇問題,它需要考慮很多風(fēng)險(xiǎn)因素;大型項(xiàng)目管理規(guī)劃也不是僅由項(xiàng)目管理學(xué)科書本上的知識就能解決的,它是一個(gè)跨學(xué)科的巨大系統(tǒng)工程,只有先進(jìn)行大系統(tǒng)中的子系統(tǒng)的分析和研究,才能進(jìn)一步整合大系統(tǒng);另外,要成功建立大項(xiàng)目的科學(xué)綜合評價(jià)體系,要進(jìn)行多方案的比較選擇,進(jìn)而確定最終方案,而且對項(xiàng)目管理的評價(jià)也不能單一,應(yīng)該是多角度的、綜合的考慮很多因素,如各類成本因素。只有在科學(xué)的方法指導(dǎo)下,才能獲得大型軟件開發(fā)項(xiàng)目管理的最優(yōu)最合理方案。
參考文獻(xiàn):
[1] 舒森,方竹根:項(xiàng)目管理[M].安徽人民出版社,2002:23-25.
[2] 畢星,翟麗:項(xiàng)目管理[M].復(fù)旦大學(xué)出版社,2000:1-3.
[3] 同[2].
[4] 軟件工程第七版.機(jī)械工業(yè)出版社,2016:1-8.
西華大學(xué) 管理學(xué)院,四川 成都