張冰
(煤炭科學(xué)技術(shù)研究院有限公司,北京 100013)
項目進(jìn)度計劃表達(dá)項目中各項工作的開展順序、開始及完成時間以及相互的銜接關(guān)系。項目進(jìn)度管理協(xié)調(diào)各項工作的開展,是項目實施的基礎(chǔ)。與傳統(tǒng)項目不同的是,軟件項目的進(jìn)度管理對工作投入量難以估計。所以,只有對軟件項目的工作量進(jìn)行可靠的度量,才有可能進(jìn)行有效的進(jìn)度管理。
管理信息系統(tǒng)應(yīng)用于各企事業(yè)單位和諸多經(jīng)濟領(lǐng)域,但系統(tǒng)在上線之后無法滿足客戶的需求,其功能沒有達(dá)到最初的設(shè)計目標(biāo)。主要原因有:
(1)管理信息系統(tǒng)工作量估計不足導(dǎo)致的進(jìn)度超期。必須綜合系統(tǒng)所在行業(yè)的特點、業(yè)務(wù)成熟度、開發(fā)的勞動生產(chǎn)率、復(fù)雜程度、技術(shù)難度、歷史經(jīng)驗等因素,將一些定性的內(nèi)容量化。
(2)管理信息系統(tǒng)需求調(diào)研不足,且后期多變。管理信息系統(tǒng)70%的需求是隱性的,被稱為領(lǐng)域需求。軟件開發(fā)者往往只調(diào)研業(yè)務(wù)需求,對于深層次的領(lǐng)域需求往往認(rèn)知不足,導(dǎo)致設(shè)計過程中考慮不周,無法應(yīng)對后期變化,輕者嚴(yán)重影響項目進(jìn)度,重者直接導(dǎo)致項目失敗。
(3)未充分考慮信息安全因素。近年來,來自網(wǎng)絡(luò)的安全威脅不斷攻擊企業(yè)信息化系統(tǒng)。公安部出臺的一系列政策文件構(gòu)成了信息安全等級保護政策體系,為指導(dǎo)信息系統(tǒng)安全等級保護工作提供了政策指導(dǎo)。
當(dāng)前,管理信息系統(tǒng)功能性度量普遍采用基于功能點(Function Point,F(xiàn)P)的測算方法。該方法從功能的角度來度量系統(tǒng),并可以充分考慮技術(shù)復(fù)雜度因子 (Technical Complexity Factor,TCF),可以實現(xiàn)更加精確的工作量估計。TCF系數(shù)的計算取決于14 個通用系統(tǒng)特性因子(General System Characteristics,GSC)。如何從管理信息系統(tǒng)建設(shè)的真實需求出發(fā),重新設(shè)計GSC的因子構(gòu)成,使之更加適合管理信息系統(tǒng)的工作量估算,成為軟件項目實施有效的進(jìn)度管理的必要條件。
FP 估算法是軟件項目管理眾多知識中較為先進(jìn)的方法,需要計算評估影響系統(tǒng)功能范圍的14 個TCF 計算因子。這些計算因子用來評定功能點應(yīng)用的通用功能的級別。每個特性有相關(guān)的描述以幫助確定這個系統(tǒng)的影響程度。影響程度的取值范圍用0 ~5 表示,這5 個數(shù)字分別代表從沒有影響到有強烈影響。TCF 因子的計算公式為
式中,TCF 表示技術(shù)復(fù)雜度因子;Fi表示每個通用系統(tǒng)特性的影響程度;i 表示每個通用系統(tǒng)特性,取值1 ~14。TCF 因子的設(shè)計考慮了所有的計算機軟件開發(fā)過程中需要考慮的技術(shù)難度和復(fù)雜度因素,所以在TCF 的評分過程中,需要根據(jù)不同類型的應(yīng)用程序進(jìn)行適當(dāng)?shù)拇蚍?表1)。
表1 TCF 因子列表
基于FP 的度量方法于1979 年由IBM 的Alan Albrecht 首先開發(fā)并應(yīng)用。現(xiàn)在的系統(tǒng)開發(fā)借助強大的軟硬件平臺,軟件工程師已經(jīng)不像以前那樣關(guān)心程序的性能和內(nèi)存管理的算法和細(xì)節(jié),將更多的精力投入到如何了解業(yè)務(wù)需求,定義商業(yè)規(guī)則,并服務(wù)客戶上面來。
筆者通過大量的信息系統(tǒng)建設(shè)實踐,并結(jié)合行業(yè)發(fā)展的一般規(guī)律,決定對4 個TCF 因子進(jìn)行更換。包括:
(1)數(shù)據(jù)通信因子。數(shù)據(jù)通信指的是應(yīng)用程序直接與處理器通信的程度。一般指應(yīng)用程序通過某種通信手段實現(xiàn)數(shù)據(jù)交換或信息控制等功能。更換原因:管理信息系統(tǒng)無需考慮應(yīng)用程序與處理器通信程度。
(2)在線更新。在線更新是指內(nèi)部邏輯文件(ILF)在線更新的程度,主要包括應(yīng)用軟件系統(tǒng)提供在線更新ILF 的功能。更換原因:管理信息系統(tǒng)的數(shù)據(jù)存儲可以基于成熟的大型商業(yè)關(guān)系型數(shù)據(jù)庫,系統(tǒng)的數(shù)據(jù)訪問往往基于成熟的數(shù)據(jù)訪問組件技術(shù),例如ADO. NET 和JDBC。數(shù)據(jù)庫和組件技術(shù)屏蔽了內(nèi)部數(shù)據(jù)更新的技術(shù)難度和實現(xiàn)細(xì)節(jié)。此外,系統(tǒng)內(nèi)部邏輯文件的管理往往基于程序的應(yīng)用API,在線更新指標(biāo)對于管理信息系統(tǒng)的設(shè)計與實施并無太大的意義。
(3)易安裝性。易安裝性指系統(tǒng)的轉(zhuǎn)換和安裝容易度對開發(fā)的影響程度。更換原因:該項指標(biāo)主要負(fù)責(zé)度量系統(tǒng)升級或者安裝的難度,現(xiàn)在的管理信息系統(tǒng)往往基于較簡單的軟硬件環(huán)境,對系統(tǒng)的部署要求比以往大幅降低,基于瀏覽器/服務(wù)器部署方式,基本實現(xiàn)了應(yīng)用程序的零安裝。
(4)跨平臺性??缙脚_性指應(yīng)用系統(tǒng)經(jīng)特殊設(shè)計、開發(fā)可以在多個組織、多個地點應(yīng)用的程度。更換原因:該項指標(biāo)主要負(fù)責(zé)度量系統(tǒng)在不同的軟硬件平臺下的表現(xiàn)而帶來的開發(fā)成本。現(xiàn)在的管理信息系統(tǒng)往往基于較為簡單的軟硬件環(huán)境,對跨平臺部署的要求比以往大幅降低。此外,市場上主流的大型應(yīng)用系統(tǒng)都推出了跨平臺應(yīng)用,屏蔽了不同平臺對于應(yīng)用程序設(shè)計開發(fā)的差異性和技術(shù)難度。
在總結(jié)多年的管理信息系統(tǒng)開發(fā)和運維經(jīng)驗的基礎(chǔ)上,根據(jù)管理信息系統(tǒng)的特殊性,筆者刪除數(shù)據(jù)通信、在線更新、易安裝性和跨平臺性4個技術(shù)復(fù)雜度因子,增加以下4 個技術(shù)復(fù)雜度因子,包括:
(1)業(yè)務(wù)邏輯穩(wěn)定性。該項指標(biāo)用于評估管理信息系統(tǒng)涉及的業(yè)務(wù)工作的穩(wěn)定性與成熟度。因為管理信息系統(tǒng)的設(shè)計需要建立在穩(wěn)定的業(yè)務(wù)邏輯之上,否則,系統(tǒng)的開發(fā)工作會受到不穩(wěn)定的業(yè)務(wù)模式的影響,后期大量進(jìn)行需求回歸調(diào)整,會嚴(yán)重拖延項目進(jìn)度并導(dǎo)致成本超支,甚至有導(dǎo)致項目實施失敗的可能性。例如,一個剛剛開始啟動、處于摸索期的業(yè)務(wù)工作實施信息化會比一個成熟工作實施信息化花費更多的需求分析、需求調(diào)整、用戶培訓(xùn)和運行維護的時間與成本。
(2)業(yè)務(wù)信息化基礎(chǔ)。該項指標(biāo)用于評估管理信息系統(tǒng)涉及的業(yè)務(wù)工作是否有較好的信息化基礎(chǔ),包括已有的信息化系統(tǒng)基礎(chǔ)、信息化人員基礎(chǔ)等。如果所涉及的業(yè)務(wù)工作已經(jīng)有了很好的信息化基礎(chǔ),那么會大大降低系統(tǒng)實施風(fēng)險,能夠更加精確地估算工作量,并有效地控制項目的進(jìn)度和成本。例如,對一個陳舊的信息化系統(tǒng)進(jìn)行重新開發(fā)花費的時間和精力,要遠(yuǎn)遠(yuǎn)小于毫無基礎(chǔ)、全新開發(fā)系統(tǒng)的花費。
(3)系統(tǒng)實施單位能力。該項指標(biāo)用于評估系統(tǒng)建設(shè)單位實施管理信息系統(tǒng)的能力,包括信息化硬件設(shè)備條件、已經(jīng)上馬的信息化系統(tǒng)數(shù)量、員工的信息系統(tǒng)使用水平,甚至包括系統(tǒng)實施主管領(lǐng)導(dǎo)的信息化管理水平等條件。如果實施單位曾經(jīng)成功地實施過大型應(yīng)用系統(tǒng),例如ERP或CRM 等系統(tǒng),那么應(yīng)用新的系統(tǒng)所帶來的阻力和成本將明顯降低。
(4)安全等級保護要求。該項指標(biāo)用于評估系統(tǒng)實施單位對系統(tǒng)安全等級的要求,目前我國的信息化系統(tǒng)安全等級保護級別由低到高分為5級。等級保護措施對系統(tǒng)硬件結(jié)構(gòu)、軟件設(shè)計和后期運行維護都提出了更高的安全要求。所以,實施不同等級的安全保護對系統(tǒng)的設(shè)計和實施成本的影響是巨大的。
綜上所述,為了更好地適應(yīng)管理信息系統(tǒng)的設(shè)計和實施,項目開發(fā)者更換了4 個GSC 指標(biāo),改進(jìn)后的技術(shù)復(fù)雜度因子如表2 所示。
表2 改進(jìn)后的TCF 因子
(續(xù))
(1)業(yè)務(wù)邏輯穩(wěn)定性。該項指標(biāo)用于評估管理信息系統(tǒng)涉及的業(yè)務(wù)工作的穩(wěn)定性與成熟度,具體評分標(biāo)準(zhǔn)如表3 所示。
表3 業(yè)務(wù)邏輯穩(wěn)定性技術(shù)復(fù)雜度因子取值情況
(2)業(yè)務(wù)信息化基礎(chǔ)。該項指標(biāo)用于評估管理信息系統(tǒng)涉及的業(yè)務(wù)工作是否有較好的信息化基礎(chǔ),具體評分標(biāo)準(zhǔn)如表4 所示。
表4 業(yè)務(wù)信息化基礎(chǔ)技術(shù)復(fù)雜度因子取值情況
(3)系統(tǒng)實施單位能力。該項指標(biāo)用于評估管理信息系統(tǒng)實施單位的信息化能力,具體評分標(biāo)準(zhǔn)如表5 所示。
表5 系統(tǒng)實施單位能力技術(shù)復(fù)雜度因子取值情況
(4)安全等級保護要求。該項指標(biāo)用于評估系統(tǒng)實施單位對系統(tǒng)安全等級的要求,具體評分標(biāo)準(zhǔn)如表6 所示。
表6 安全等級保護要求技術(shù)復(fù)雜度因子取值情況
度量軟件規(guī)模以及實現(xiàn)軟件項目工作的量化是軟件項目進(jìn)度管理工作的開始。沒有可靠的軟件規(guī)模度量方法,則相關(guān)的生產(chǎn)率(FP/每月)變化或者相關(guān)的質(zhì)量變化數(shù)據(jù)就不能被統(tǒng)計出來。如果相關(guān)的生產(chǎn)率和質(zhì)量的變化能夠得到統(tǒng)計和計量,則組織可以將注意力都集中到組織的強項和弱項上去,并且,所有試圖改進(jìn)弱項的努力都可以被度量以確定實際的使用效果。
對TCF 因子的改進(jìn)來自筆者多年來對管理軟件開發(fā)工作的反思。改進(jìn)的成果已經(jīng)應(yīng)用于一些大型信息化建設(shè)項目中去。但是,盡管基于FP的計算方法是結(jié)構(gòu)化的,但是TCF 因子權(quán)重的確定是主觀的,另外要求估算人員要仔細(xì)地將需求映射為外部和內(nèi)部的行為,必須避免雙重計算,所以該方法也具有一定的主觀性。
[1] 韓萬江,姜立新. 軟件開發(fā)項目管理[M]. 北京:機械工業(yè)出版社,2004.
[2] 李明樹,何梅,楊達(dá),等. 軟件成本估算方法及應(yīng)用[J].軟件學(xué)報,2007,18 (4):775-795.
[3] 薛保菊. 談軟件開發(fā)項目的進(jìn)度控制[J]. 軟件學(xué)報,2007,18 (4):775-795.
[4] 林銳,范同祥,唐勇. 面向企業(yè)的軟件研發(fā)管理解決方案:方法與工具[M]. 北京:電子工業(yè)出版社,2004.
[5] 張冰. 基于FP、PERT 的軟件項目開發(fā)進(jìn)度估算方法[J].項目管理技術(shù),2014 (1):80-83.
[6] 郭越熙. 通信軟件開發(fā)過程中的進(jìn)度管理[D]. 北京:北京郵電大學(xué),2009. PMT