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

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

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

(2)進行標準化處理,數據處理結果詳見表2。

表2 數據處理結果
(3)計算熵值,結果見表3。

表3 熵值計算結果
(4)計算熵權,結果見表4。

表4 熵權計算結果
通過以上計算結果可知,對于L公司的軟件開發項目而言,人員技能因素帶來的波動遠遠高于其他因素帶來的波動。在制訂進度管理計劃時,需要更多地關注人員技能因素,對其可能產生的影響提前做好準備。
本文通過對軟件開發項目整體化的有效分析,系統總結了軟件開發項目進度管理的全流程、各階段,有效構建了軟件開發進度管理模型,同時結合熵權法針對進度管理風險進行量化分析,不僅解決了軟件開發進度管理中流程不明、管理混亂的問題,而且大大提高了軟件開發項目進度管理量化指標的合理性,可為實際生產經營中的軟件開發項目進度管理提供參考。