楊 帆,劉雅萱*,唐海濤,3
(1.中國(guó)電建集團(tuán)華東勘測(cè)設(shè)計(jì)研究院有限公司,杭州 311122;2.浙江華東工程數(shù)字技術(shù)有限公司,杭州 311122;3.數(shù)字城市CIM技術(shù)浙江省工程研究中心,杭州 311122)
在項(xiàng)目管理領(lǐng)域,項(xiàng)目經(jīng)理大多使用資源日歷來(lái)協(xié)調(diào)人力資源、派發(fā)工作任務(wù)。項(xiàng)目資源日歷展示了項(xiàng)目資源的可利用時(shí)間,本文的項(xiàng)目資源指人力資源。在項(xiàng)目管理過(guò)程中,如果項(xiàng)目經(jīng)理對(duì)項(xiàng)目組內(nèi)員工的工作任務(wù)、工作量和可利用時(shí)間不夠了解,極易出現(xiàn)工作任務(wù)分配不均的情況,這就導(dǎo)致不同員工的工作量飽和程度有較大差別。所以資源日歷的存在是極為必要的,它可以展示人力資源的工作任務(wù)、工作量和可利用時(shí)間,為管理者后續(xù)進(jìn)行資源配置和任務(wù)分發(fā)提供了參考。它可以起到兩個(gè)主要的作用,首先保證每個(gè)員工能夠有適當(dāng)?shù)墓ぷ黠柡投?,其次是保證每個(gè)員工的工作都是有效率的。
近年來(lái),項(xiàng)目管理領(lǐng)域的研究者探究了多種人力資源調(diào)度、配置的方法,如基于改進(jìn)CNN 的人力資源配置方法[1]、針對(duì)多技能人員項(xiàng)目調(diào)度問(wèn)題提出的改進(jìn)布谷鳥(niǎo)搜索算法[2]、在緊急狀態(tài)下協(xié)同配置護(hù)理人員的網(wǎng)格化管理方法[3],還討論了資源受限情況下的多任務(wù)調(diào)度問(wèn)題[4]。但是對(duì)資源日歷看板的研究較少,目前項(xiàng)目的資源日歷一般采用人工編輯的方式,這種方法存在如下不足:
(1)人工編輯資源日歷的工作量較大,而且隨著項(xiàng)目任務(wù)的變化,需要不斷調(diào)整,資源日歷無(wú)法自動(dòng)更新。
(2)人工編輯資源日歷只能確定短期內(nèi)的資源投入,無(wú)法預(yù)測(cè)多個(gè)功能模塊或者整個(gè)項(xiàng)目的資源投入。
(3)人工編輯資源日歷時(shí)一般會(huì)對(duì)任務(wù)所需的工作量進(jìn)行人工估算,而人工估算工作量一般不夠精準(zhǔn),仍然會(huì)導(dǎo)致工作任務(wù)分配不均的情況。
(4)人工編輯的資源日歷無(wú)法定量計(jì)算任務(wù)的完成進(jìn)度。
基于以上不足,本文提出了一個(gè)基于功能點(diǎn)的自動(dòng)生成項(xiàng)目資源日歷的方法,適用于軟件工程行業(yè)。該方法無(wú)需人工編輯資源日歷,只需要拆分項(xiàng)目的功能,并且批量設(shè)置每個(gè)功能的投入人員,即可自動(dòng)生成項(xiàng)目的資源日歷。
1.1.1 識(shí)別范圍和邊界
根據(jù)招投標(biāo)文件、用戶需求說(shuō)明書(shū)、需求規(guī)格說(shuō)明書(shū)、原型圖、詳細(xì)設(shè)計(jì)說(shuō)明書(shū)或數(shù)據(jù)庫(kù)設(shè)計(jì)說(shuō)明書(shū)等項(xiàng)目文檔,識(shí)別所開(kāi)發(fā)應(yīng)用程序的范圍,即包括在功能點(diǎn)統(tǒng)計(jì)范圍內(nèi)的功能需求/規(guī)格說(shuō)明的集合。功能點(diǎn)是用來(lái)表示項(xiàng)目規(guī)模的計(jì)量單位。功能點(diǎn)計(jì)數(shù)可以對(duì)項(xiàng)目的規(guī)模進(jìn)行測(cè)量,在確定項(xiàng)目的工作量投入和成本時(shí),功能點(diǎn)數(shù)是一個(gè)必要的參數(shù)[5]。
一旦確定了范圍就可以定義邊界,邊界是應(yīng)用程序和其用戶的概念接口。其中,用戶包括操作當(dāng)前應(yīng)用程序的人和與當(dāng)前應(yīng)用程序有交互的其他軟件或硬件。
1.1.2 識(shí)別功能
在需求范圍內(nèi),識(shí)別應(yīng)用程序的數(shù)據(jù)功能和事務(wù)功能,形成項(xiàng)目各功能模塊的功能清單。數(shù)據(jù)功能是指從用戶的視角看到的數(shù)據(jù)的一個(gè)邏輯分組,包括內(nèi)部邏輯文件(internal logical file)和外部接口文件(external interface file)兩類。事務(wù)功能是指被用戶看作屬于一個(gè)工作單元的一連串動(dòng)作,包括外部輸入(external input)、外部輸出(external output)和外部查詢(external inquery)三類[5]。
1.1.3 設(shè)置投入人員和開(kāi)發(fā)狀態(tài)
為功能清單中的每個(gè)功能設(shè)置投入人員,并選定開(kāi)發(fā)狀態(tài),即開(kāi)發(fā)完成或未開(kāi)發(fā)完成。投入人員具有角色屬性,角色包括需求分析、設(shè)計(jì)開(kāi)發(fā)、系統(tǒng)測(cè)試和運(yùn)維實(shí)施四類。設(shè)置功能清單中各功能的投入人員和開(kāi)發(fā)狀態(tài)不僅包括初始化設(shè)置,還包括隨著項(xiàng)目進(jìn)展更新各功能的投入人員和開(kāi)發(fā)狀態(tài)。
基于上述功能清單及投入人員等數(shù)據(jù),統(tǒng)計(jì)出項(xiàng)目的人力資源列表。首先,篩選項(xiàng)目下所有的投入人員。然后根據(jù)不同的投入人員,篩選某投入人員在該項(xiàng)目下參與的所有功能模塊。根據(jù)員工的角色屬性和員工參與的功能模塊,生成該員工負(fù)責(zé)的任務(wù)的名稱。如員工A的角色屬性是“設(shè)計(jì)開(kāi)發(fā)”,他參與了“成本管理”和“計(jì)劃管理”模塊的工作,那么員工A有兩個(gè)任務(wù),分別是“設(shè)計(jì)開(kāi)發(fā)-成本管理模塊”和“設(shè)計(jì)開(kāi)發(fā)-計(jì)劃管理模塊”。
計(jì)算生成資源日歷所需的數(shù)據(jù)指標(biāo),包括每個(gè)員工的工作任務(wù)所需工作量、計(jì)劃完成日期、計(jì)劃開(kāi)始日期和任務(wù)完成進(jìn)度。
1.3.1 所需工作量
根據(jù)不同的功能模塊,篩選某投入人員在功能模塊下參與的功能清單,并計(jì)算完成各個(gè)功能模塊所需的工作量。具體包括:
(1)根據(jù)不同的功能模塊j,篩選某投入人員i在該功能模塊參與的功能清單Listi。
(2)功能清單Listij中,檢查每一個(gè)功能的功能類別(EI、EO、EQ、ILF、EIF),以及該功能下與該投入人員具有相同角色的投入人員數(shù)量N。
(3)根據(jù)該功能的功能類別,得到該功能的功能點(diǎn)數(shù)A。假設(shè)該功能的功能類別為內(nèi)部邏輯文件,則該功能的功能點(diǎn)數(shù)A為7[5]。
(4)計(jì)算出該功能在該投入人員的角色職責(zé)下的平均功能點(diǎn),例如該投入人員的角色為設(shè)計(jì)開(kāi)發(fā),該功能共投入了3個(gè)角色為設(shè)計(jì)開(kāi)發(fā)的人員,則該投入人員在該功能所消耗的功能點(diǎn)為。
(5)計(jì)算得出該投入人員i在功能模塊j下所有功能投入的功能點(diǎn)之和Uij。
(6)計(jì)算得出該投入人員i完成功能模塊j所分配功能的工作量
其中,VAF和C分別為項(xiàng)目設(shè)置的規(guī)模調(diào)整因子和各個(gè)角色的生產(chǎn)率。
1.3.2 計(jì)劃開(kāi)始時(shí)間和計(jì)劃完成時(shí)間
其中,任務(wù)的計(jì)劃完成時(shí)間(PF)需要人工填寫(xiě)。計(jì)劃開(kāi)始時(shí)間(PS)可以人工填寫(xiě),也可以根據(jù)填寫(xiě)的計(jì)劃完成日期和求得的工作量得到計(jì)劃開(kāi)始日期。
1.3.3 任務(wù)完成進(jìn)度
根據(jù)功能清單中各功能開(kāi)發(fā)狀態(tài),計(jì)算實(shí)際完成進(jìn)度(AC),包括單個(gè)任務(wù)j的完成進(jìn)度ACij和員工的總體任務(wù)完成進(jìn)度(ACi)。
首先,計(jì)算i員工功能清單Listij中的功能點(diǎn)總數(shù)FPij,
其次,計(jì)算i員工功能清單Listij中的已完成的功能點(diǎn)總數(shù)FPij_finished,
員工i的單個(gè)任務(wù)j完成進(jìn)度ACij計(jì)算如下:
統(tǒng)計(jì)員工i任務(wù)進(jìn)度為100%的任務(wù)數(shù)量Task_finished和任務(wù)總數(shù)Task,則員工i的總體任務(wù)完成進(jìn)度ACi計(jì)算如下:
根據(jù)上述公式所得到的投入人員、功能模塊、計(jì)劃開(kāi)始日期、計(jì)劃結(jié)束日期、工作量信息、任務(wù)完成進(jìn)度等信息生成該項(xiàng)目的資源日歷。資源日歷生成之后,用戶可對(duì)自動(dòng)生成的資源日歷進(jìn)行檢查,根據(jù)實(shí)際需求重新調(diào)整計(jì)劃開(kāi)始日期和計(jì)劃結(jié)束日期。
使用本文提出的項(xiàng)目資源日歷計(jì)算方法在K項(xiàng)目中應(yīng)用,現(xiàn)有5名人員共同完成一個(gè)軟件項(xiàng)目,包括A、B、C、D、E 五個(gè)功能模塊。表1截取了部分?jǐn)?shù)據(jù)。
表1 示例數(shù)據(jù)
根據(jù)上述項(xiàng)目資源日歷計(jì)算方法,得到該項(xiàng)目的資源日歷,如圖1所示。
圖1 項(xiàng)目資源日歷看板
本文重點(diǎn)介紹了一種軟件項(xiàng)目的資源日歷計(jì)算方法,包括數(shù)據(jù)準(zhǔn)備、資源統(tǒng)計(jì)、指標(biāo)計(jì)算、資源日歷生成。該方法可以很好地支持項(xiàng)目管理者查看項(xiàng)目人力資源的可利用時(shí)間,幫助項(xiàng)目管理者更好地進(jìn)行任務(wù)分配和人員調(diào)度。