邵俊 倪楓 劉姜 吳霞 尹思淼
(上海理工大學(xué)管理學(xué)院,上海 200093)
近年來,我國(guó)軟件產(chǎn)業(yè)快速發(fā)展,行業(yè)產(chǎn)值逐年遞增[1]。軟件項(xiàng)目具有前期需求難、人力資源管理難、系統(tǒng)建設(shè)規(guī)劃難、項(xiàng)目組織協(xié)調(diào)難等特點(diǎn)[2],在當(dāng)前主流開發(fā)技術(shù)發(fā)生根本性變化之前,很難利用技術(shù)手段突破性提高軟件開發(fā)效率。因此,需要從項(xiàng)目管理的角度,通過更加科學(xué)有效的方法提升軟件項(xiàng)目開發(fā)效率。進(jìn)度管理是整個(gè)軟件開發(fā)項(xiàng)目管理的重中之重,需要本著嚴(yán)謹(jǐn)認(rèn)真的態(tài)度進(jìn)行深入分析。
軟件開發(fā)項(xiàng)目進(jìn)度管理是使用體系化的管理方法對(duì)軟件開發(fā)項(xiàng)目中所包含的預(yù)期任務(wù)及可用資源進(jìn)行有效統(tǒng)籌、合理計(jì)劃,從而實(shí)現(xiàn)某一明確的預(yù)設(shè)目標(biāo)的過程[3]。
通過分析相關(guān)文獻(xiàn)[4-9],本文將軟件開發(fā)項(xiàng)目進(jìn)度管理歸納總結(jié)為11個(gè)不同的階段,詳細(xì)劃分如下:
(1)項(xiàng)目需求管理。為有效開展軟件開發(fā)項(xiàng)目,需了解當(dāng)前軟件開發(fā)主體公司的企業(yè)架構(gòu)、發(fā)展愿景、合理需求、人員能力、開發(fā)背景。
(2)進(jìn)度風(fēng)險(xiǎn)分析。當(dāng)軟件開發(fā)項(xiàng)目規(guī)模較小時(shí),其所受外界干擾相對(duì)較少,甚至可以直接忽略。當(dāng)軟件開發(fā)項(xiàng)目規(guī)模較大時(shí),由于項(xiàng)目開發(fā)所受外界干擾明顯,需要慎重考慮進(jìn)度風(fēng)險(xiǎn)影響因素。
(3)進(jìn)度風(fēng)險(xiǎn)評(píng)估。對(duì)當(dāng)前項(xiàng)目中的風(fēng)險(xiǎn)因素進(jìn)行評(píng)估,分析和確認(rèn)關(guān)鍵進(jìn)度風(fēng)險(xiǎn)因素,將影響項(xiàng)目進(jìn)度的風(fēng)險(xiǎn)因素信息提供給公司和項(xiàng)目的管理層,使軟件開發(fā)項(xiàng)目管理人員將有限的時(shí)間和資源集中于優(yōu)先度較高的進(jìn)度風(fēng)險(xiǎn)因素,為制訂合理的進(jìn)度管理計(jì)劃奠定基礎(chǔ)。
(4)整體進(jìn)度規(guī)劃。在深入了解軟件開發(fā)項(xiàng)目的整體背景后,為軟件開發(fā)項(xiàng)目制訂綱領(lǐng)性計(jì)劃,提出軟件開發(fā)項(xiàng)目主要步驟,設(shè)置軟件開發(fā)項(xiàng)目各階段主要完成目標(biāo),制定合理的指標(biāo)完成評(píng)價(jià)體系,選擇合適的軟件開發(fā)項(xiàng)目計(jì)劃監(jiān)測(cè)方式,為細(xì)化軟件開發(fā)項(xiàng)目活動(dòng)做準(zhǔn)備。
(5)定義項(xiàng)目活動(dòng)。根據(jù)軟件開發(fā)項(xiàng)目綱領(lǐng)性文件,結(jié)合軟件使用者實(shí)際需求,以項(xiàng)目各階段主要完成目標(biāo)為導(dǎo)向,對(duì)軟件開發(fā)項(xiàng)目的各主要步驟進(jìn)行逐層分解、逐步分析,使其成為一個(gè)個(gè)有關(guān)聯(lián)性的、易于管理的基礎(chǔ)項(xiàng)目工作的過程。
(6)排列活動(dòng)順序。活動(dòng)是整個(gè)軟件開發(fā)項(xiàng)目中的基本工作事項(xiàng),其相互之間既存在一定的關(guān)聯(lián)性,又可以彼此間獨(dú)立進(jìn)行。以軟件使用者需求為最終目標(biāo),通過活動(dòng)間存在的邏輯、制約關(guān)系以及當(dāng)前可利用資源的情況,合理設(shè)計(jì)各活動(dòng)間的先后順序。當(dāng)前,識(shí)別項(xiàng)目活動(dòng)順序的方法主要有增加邏輯標(biāo)志的甘特圖、單代號(hào)網(wǎng)絡(luò)圖、雙代號(hào)網(wǎng)絡(luò)圖。
(7)估算活動(dòng)時(shí)間。在軟件開發(fā)項(xiàng)目可利用資源有限的背景下,根據(jù)實(shí)際情況,針對(duì)已經(jīng)明確的活動(dòng)事項(xiàng)有效評(píng)估所需的人/天工作量,為制訂合理的進(jìn)度計(jì)劃提供基本的數(shù)據(jù)。常用的活動(dòng)時(shí)間估算方法有類比法、歷史數(shù)據(jù)參考法、決策者主觀臆斷法、項(xiàng)目實(shí)施專家評(píng)估法等。
(8)制訂進(jìn)度計(jì)劃。利用上一階段完成的活動(dòng)時(shí)間評(píng)估結(jié)果數(shù)據(jù),結(jié)合項(xiàng)目實(shí)際人員物資準(zhǔn)備情況,制訂符合本項(xiàng)目業(yè)務(wù)實(shí)施背景的進(jìn)度管理計(jì)劃。這是有效控制項(xiàng)目進(jìn)度的關(guān)鍵依據(jù),是進(jìn)度風(fēng)險(xiǎn)監(jiān)控的唯一參照。常用的進(jìn)度管理方法有甘特圖法、關(guān)鍵路徑法、關(guān)鍵鏈法等。
(9)項(xiàng)目進(jìn)度控制。以編制完成的項(xiàng)目進(jìn)度計(jì)劃為依據(jù),協(xié)調(diào)項(xiàng)目人員、費(fèi)用、物資,在各種不可控影響因素的干擾下,通過采取針對(duì)性的措施使項(xiàng)目進(jìn)度符合預(yù)期目標(biāo)。項(xiàng)目進(jìn)度控制是貫穿項(xiàng)目全生命周期的動(dòng)態(tài)管理。
(10)進(jìn)度風(fēng)險(xiǎn)監(jiān)控。軟件開發(fā)項(xiàng)目進(jìn)度風(fēng)險(xiǎn)監(jiān)控具有兩層含義:一是軟件項(xiàng)目風(fēng)險(xiǎn)監(jiān)督;二是軟件項(xiàng)目進(jìn)度風(fēng)險(xiǎn)控制。軟件項(xiàng)目進(jìn)度風(fēng)險(xiǎn)監(jiān)控通常可以視為跟蹤當(dāng)前已識(shí)別的進(jìn)度風(fēng)險(xiǎn)影響因素,識(shí)別新出現(xiàn)的進(jìn)度風(fēng)險(xiǎn)影響因素,根據(jù)軟件開發(fā)項(xiàng)目當(dāng)前執(zhí)行情況變更進(jìn)度管理計(jì)劃,確保進(jìn)度風(fēng)險(xiǎn)應(yīng)對(duì)計(jì)劃的正常實(shí)施,評(píng)估進(jìn)度風(fēng)險(xiǎn)應(yīng)對(duì)的效果。
(11)執(zhí)行應(yīng)對(duì)措施。當(dāng)進(jìn)度風(fēng)險(xiǎn)出現(xiàn)異常情況時(shí),需要及時(shí)執(zhí)行進(jìn)度風(fēng)險(xiǎn)應(yīng)對(duì)計(jì)劃,以保證整體項(xiàng)目進(jìn)度管理計(jì)劃按時(shí)完成。
軟件項(xiàng)目進(jìn)度管理體系如圖1所示。
根據(jù)圖1可知,在軟件項(xiàng)目進(jìn)度管理體系的所有階段中,進(jìn)度風(fēng)險(xiǎn)分析和進(jìn)度風(fēng)險(xiǎn)評(píng)估是關(guān)注的焦點(diǎn),是整個(gè)軟件進(jìn)度管理體系的基礎(chǔ),后續(xù)的所有階段均依賴于對(duì)此焦點(diǎn)的有效分析。因此,需要借助一種有效的風(fēng)險(xiǎn)認(rèn)知方法明確當(dāng)前項(xiàng)目的風(fēng)險(xiǎn)因素及其影響程度,本文推薦使用熵權(quán)法。熵權(quán)法是一種客觀賦權(quán)計(jì)算法,可以根據(jù)多個(gè)指標(biāo)進(jìn)行量化綜合評(píng)價(jià),首先利用信息熵計(jì)算出每個(gè)指標(biāo)各自的熵權(quán),然后通過各自熵權(quán)對(duì)自身指標(biāo)進(jìn)行修改處理,具有客觀性和適應(yīng)性[10]。
在軟件項(xiàng)目管理領(lǐng)域,由于軟件開發(fā)自身的特性,很多指標(biāo)無法精確測(cè)量和計(jì)算,只能主觀賦權(quán)。故結(jié)合一定的客觀賦權(quán)法,會(huì)使計(jì)算結(jié)果更加符合實(shí)際情況。目前常用的客觀賦權(quán)法中,最常見且影響廣泛的是熵權(quán)法[12]。

圖1 軟件項(xiàng)目進(jìn)度管理體系
熵權(quán)法計(jì)算步驟如下:
(1)根據(jù)軟件開發(fā)模式和當(dāng)前軟件項(xiàng)目具體情況,構(gòu)建決策矩陣A,設(shè)當(dāng)前該軟件開發(fā)有n個(gè)評(píng)價(jià)對(duì)象、k個(gè)評(píng)價(jià)指標(biāo)。計(jì)算評(píng)價(jià)矩陣,詳見式(1)
(1)
(2)采用離差標(biāo)準(zhǔn)化法對(duì)多屬性評(píng)價(jià)矩陣A中的各項(xiàng)數(shù)據(jù)xij進(jìn)行標(biāo)準(zhǔn)化處理,xij表示第i個(gè)評(píng)價(jià)對(duì)象第j個(gè)評(píng)價(jià)指標(biāo)的值(i=1,2,…,n;j=1,2,…,k)。計(jì)算公式詳見式(2)
(2)
(3)根據(jù)項(xiàng)目實(shí)際情況,計(jì)算在第j屬性下第i次數(shù)據(jù)的比重Pij,計(jì)算公式詳見式(3)
(3)
(4)根據(jù)實(shí)際項(xiàng)目情況,計(jì)算第j屬性分量的熵值ej,計(jì)算公式詳見式(4)
(4)
(5)根據(jù)實(shí)際項(xiàng)目情況,計(jì)算第j屬性分量的差異系數(shù)gj,計(jì)算公式詳見式(5)
gj=1-ej
(5)
(6)根據(jù)實(shí)際項(xiàng)目情況,計(jì)算第j屬性分量的權(quán)重系數(shù)wj,計(jì)算公式詳見式(6)
(6)
使用熵權(quán)法有助于明確當(dāng)前該軟件開發(fā)項(xiàng)目主要影響因素的具體影響權(quán)重,有針對(duì)性地計(jì)算受各影響因素下的任務(wù)時(shí)間。在設(shè)計(jì)項(xiàng)目管理進(jìn)度計(jì)劃初始階段,通過有效計(jì)算提前設(shè)置冗余時(shí)間,無須盲目調(diào)整進(jìn)度管理計(jì)劃,減少該影響因素對(duì)整體計(jì)劃的影響。
本文以L公司TPM軟件開發(fā)項(xiàng)目為例進(jìn)行進(jìn)度風(fēng)險(xiǎn)分析。L公司是一家快消品行業(yè)的龍頭企業(yè),軟件開發(fā)部門成立近20年,有大量可供參考的歷史數(shù)據(jù)。通過對(duì)比大量數(shù)據(jù)后發(fā)現(xiàn),該部門可能影響進(jìn)度的因素有6種:成本、管理、人員技能、需求變更、社會(huì)、技術(shù)。根據(jù)熵權(quán)法的計(jì)算邏輯,收集相應(yīng)的評(píng)價(jià)對(duì)象和有關(guān)評(píng)價(jià)對(duì)象的評(píng)價(jià)指標(biāo),結(jié)合TPM軟件開發(fā)項(xiàng)目的實(shí)際情況,選擇該軟件開發(fā)規(guī)模預(yù)期為100天的迭代計(jì)劃及其不同年份受不同進(jìn)度影響因素干擾下的實(shí)際開發(fā)天數(shù)作為比較參考,參考數(shù)據(jù)來源于L公司歷年來該軟件迭代開發(fā)歷史數(shù)據(jù),見表1。

表1 歷年數(shù)據(jù)分析 (單位:天)
表1數(shù)據(jù)說明:①成本。表示在優(yōu)先考慮整體成本因素的情況下,原計(jì)劃周期為100天的項(xiàng)目當(dāng)前可以將其周期縮短至多久。②管理。表示在優(yōu)先考慮管理因素的情況下,原計(jì)劃周期為100天的項(xiàng)目當(dāng)前可以將其周期縮短至多久。③人員技能。表示在優(yōu)先考慮項(xiàng)目因素人員技能的情況下,原計(jì)劃周期為100天的項(xiàng)目當(dāng)前可以將其周期縮短至多久。④需求變更。表示在優(yōu)先考慮成本因素需求的情況下,原計(jì)劃周期為100天的項(xiàng)目當(dāng)前可以將其周期縮短至多久。⑤社會(huì)。表示在優(yōu)先考慮社會(huì)因素的情況下,原計(jì)劃周期為100天的項(xiàng)目當(dāng)前可以將其周期縮短至多久。⑥技術(shù)。表示在優(yōu)先考慮技術(shù)因素的情況下,原計(jì)劃周期為100天的項(xiàng)目當(dāng)前可以將其周期縮短至多久。
(1)根據(jù)當(dāng)前收集的實(shí)際數(shù)據(jù),構(gòu)建有效的評(píng)價(jià)矩陣A

(2)進(jìn)行標(biāo)準(zhǔn)化處理,數(shù)據(jù)處理結(jié)果詳見表2。

表2 數(shù)據(jù)處理結(jié)果
(3)計(jì)算熵值,結(jié)果見表3。

表3 熵值計(jì)算結(jié)果
(4)計(jì)算熵權(quán),結(jié)果見表4。

表4 熵權(quán)計(jì)算結(jié)果
通過以上計(jì)算結(jié)果可知,對(duì)于L公司的軟件開發(fā)項(xiàng)目而言,人員技能因素帶來的波動(dòng)遠(yuǎn)遠(yuǎn)高于其他因素帶來的波動(dòng)。在制訂進(jìn)度管理計(jì)劃時(shí),需要更多地關(guān)注人員技能因素,對(duì)其可能產(chǎn)生的影響提前做好準(zhǔn)備。
本文通過對(duì)軟件開發(fā)項(xiàng)目整體化的有效分析,系統(tǒng)總結(jié)了軟件開發(fā)項(xiàng)目進(jìn)度管理的全流程、各階段,有效構(gòu)建了軟件開發(fā)進(jìn)度管理模型,同時(shí)結(jié)合熵權(quán)法針對(duì)進(jìn)度管理風(fēng)險(xiǎn)進(jìn)行量化分析,不僅解決了軟件開發(fā)進(jìn)度管理中流程不明、管理混亂的問題,而且大大提高了軟件開發(fā)項(xiàng)目進(jìn)度管理量化指標(biāo)的合理性,可為實(shí)際生產(chǎn)經(jīng)營(yíng)中的軟件開發(fā)項(xiàng)目進(jìn)度管理提供參考。