李惠
(南京富士通南大軟件技術有限公司,江蘇南京 210012)
軟件研發(fā)企業(yè)一般都有多個項目同時在研發(fā),由于項目規(guī)模、研發(fā)周期以及需要的技術不同,對研發(fā)人員的要求也不盡相同,因此軟件企業(yè)很難實現(xiàn)項目需求與人員結構的充分匹配。如何讓現(xiàn)有人員以最優(yōu)的方式分配到各個項目,完成軟件項目并獲得最大利益成為了課題。本文從客戶滿意度視角出發(fā),以客戶滿意度評價得分最大化為目標,基于客戶滿意度評價結果以及評價影響指標,構建客戶滿意度評價預測模型,并提出優(yōu)化團隊構建的方案。
客戶滿意度是客戶對某產品或者某項服務的期望與體驗的匹配程度??蛻魸M意度評價是將客戶的期望反饋到某種考核體系并結合客戶體驗進行逐項打分的活動。在軟件研發(fā)項目中,可以將客戶的期望分解到項目管理能力、技術能力、研發(fā)成本、項目交付時間和質量五個方面,并分別制定評判標準。在每一期項目結束后邀請客戶根據(jù)事前約定的標準進行打分,以幫助軟件研發(fā)企業(yè)發(fā)現(xiàn)問題、找到差距,不斷改善,最終提升客戶滿意度。
客戶對項目的評價,就是客戶對項目團隊的評價,是衡量項目團隊結構是否合理的重要指標,也是項目團隊績效的重要體現(xiàn)。影響客戶滿意度評價的因素主要來自兩個方面:一方面是顯性因素,即客戶可以直接感受到的質量、成本和交期;另一方面是隱性因素,是客戶看不到或者不關注但卻能夠充分影響質量、成本和交期的因素,比如項目團隊成員的能力、團隊結構等。陳俊杰等基于時間、質量和成本三個維度構建了員工勝任力模型,并以員工勝任力模型為基礎創(chuàng)建出多項目總工期和總成本最小化的團隊數(shù)學優(yōu)化模型[1]。員工勝任力模型是評價員工技術能力的模型,通過對擁有不同技術能力的員工進行優(yōu)化排班,從而實現(xiàn)效益最大化。聶暉等通過項目過程能力和項目結果兩個維度確立了定性模擬團隊績效的方法,并通過該方法優(yōu)化團隊構成。項目過程能力包括項目管理、系統(tǒng)分析、系統(tǒng)設計、系統(tǒng)開發(fā)、系統(tǒng)測試等能力以及團隊動力和團隊凝聚力;項目結果包括時間、質量和成本三個方面[2]。王龍芳等指出,項目特征因素是影響軟件開發(fā)團隊績效的重要因素[3]。倪衛(wèi)清等提出客戶是項目賴以存在的根基,是項目計劃中的主要信息和主要約束條件的提供者,要以客戶為中心,和客戶展開全面合作[4]。綜合以上研究結果,筆者認為可以從項目特征、項目管理能力、人員技術能力和客戶關系四個方面分析影響客戶滿意度的因素。
1.1.1 項目特征
項目特征是一組描述項目特點的數(shù)據(jù),比如開發(fā)規(guī)模、開發(fā)周期等。軟件研發(fā)項目的一個重要特征是項目難易度,項目越難,成功的概率越低,從而客戶滿意度評價也越低。對項目難易程度的認知,會因項目開發(fā)內容而異,甚至同一個項目因為不同的人員對難易度的評判也不盡相同。但是一般來說,項目規(guī)模越大,項目交付周期越短,開發(fā)難度就越大;擁有類似項目經驗,開發(fā)難度會相對降低。因此采用項目規(guī)模、項目交付周期和是否有類似經驗三個指標來描述項目難易度。
1.1.2 項目管理能力
軟件項目管理能力是項目管理人員對項目研發(fā)過程的把控能力,包括對工作范圍、可能風險、所需資源、需完成任務、實時進度情況等的掌握能力,以及與客戶和相關干系人進行溝通協(xié)調、發(fā)生問題時及時采取對策的臨機應變能力。軟件項目管理能力也是組織級研發(fā)體系發(fā)揮作用的體現(xiàn)。組織級研發(fā)體系是一個標準的軟件研發(fā)流程,同時規(guī)定了在軟件開發(fā)過程的各個階段需要的產物以及質量控制標準等,是項目經理管理項目的重要參考和依據(jù)。完善的研發(fā)體系能夠提升項目經理的管理能力,能夠有效地幫助項目經理管理好項目。
1.1.3 人員技術能力
人員技術能力是指人員掌握的技能與軟件項目所需技能的匹配程度。人員掌握的技能包括需求分析、系統(tǒng)設計、編碼、測試等能力。人員的技術能力與項目需求越匹配,項目成功的概率越高。但是,軟件研發(fā)企業(yè)中高技術能力的人員數(shù)量總是有限的,因此在配置項目人員時,一般會將不同技術能力水平的人員組合來構建團隊。一般來說,團隊中具備高技術能力的人員比例越高,項目的成功率就會越高。
1.1.4 客戶關系
客戶關系是研發(fā)團隊與用戶之間的聯(lián)系。良好的客戶關系有助于調動用戶的積極性,幫助研發(fā)團隊快速完成研發(fā)任務,縮短研發(fā)周期,節(jié)省研發(fā)成本,獲得較高的客戶滿意度。
表1 客戶滿意度評價影響指標
從前文的分析可以看出,客戶滿意度評價的影響因素有項目特征、項目管理能力、人員技術能力和客戶關系四個方面,而項目難易度是項目的重要特征,高技術能力人員的比例直接影響項目的成本、質量和交期。因此,將客戶滿意度評價的影響指標定義為項目難易度、項目管理能力、高技術能力人員比例和客戶關系等四項。結合筆者多年的軟件項目經驗,對四個指標進一步分解得到影響要因,并進一步對影響要因的打分進行定義和說明,詳細如表1所示。其中詳細定義打分示例的是根據(jù)筆者公司的項目情況進行的定義,各公司可以根據(jù)自身的情況進行適當調整裁剪。
根據(jù)客戶滿意度評價影響指標,結合筆者多年軟件項目的經驗,將各指標計算公式定義如下:
(1)項目難易度=(項目規(guī)模/4+(1-交付周期/3)+(1-類似經驗/3))/3
(2)項目管理能力=(語言能力/2+項目經驗/3)/4+(基線明確+計劃明確+定期例會+項目數(shù)據(jù)收集+分析總結+知識共享+工具使用)/10
(3)核心技術能力人員比例=(四級人員投入工數(shù)+五級人員投入工數(shù))/項目估算規(guī)模
(4)客戶關系=(項目參與度/2+合作年限/3)/2
圖1 模型建立詳細步驟圖
根據(jù)客戶滿意度評價影響指標和客戶滿意度評價結果,可以建立資源分配優(yōu)化模型。模型建立詳細步驟如圖1。
(1)Step1:設計問卷。設計客戶滿意度調查問卷時,問卷的條目應涵蓋項目管理能力、技術能力、研發(fā)成本、項目交付時間和質量五個方面,問卷填寫所需時間一般不超過20分鐘。
(2)Step2:問卷調查。問卷調查的發(fā)放時機影響著問卷結果的真實性,由于問卷的回答內容帶有一定的主觀性,因此建議在項目結束后2周內及時發(fā)放問卷,因為項目剛結束時客戶對項目情況有深刻記憶。另外,建議發(fā)放問卷2周內回收問卷。
(3)Step3:計算客戶滿意度評價影響指標。按照“表1客戶滿意度評價影響指標”的指標收集問卷調查對象項目的信息,并分別計算各指標的值。
(4)Step4:構建客戶滿意度評價預測模型。將客戶滿意度評價影響指標作為自變量、客戶滿意度評價結果作為因變量,應用回歸分析算法計算客戶滿意度評價模型。回歸分析算法可以是簡單的線性回歸或者隨機森林,也可以用BP神經網絡等。本文的示例采用matlab工具的線性回歸分析算法求解得出的預測模型如下:
該評價模型中,Y是客戶滿意度評價的預測值;X1是項目難易度自變量、X2是項目管理能力自變量、X3是高技術能力人員比例自變量、X4是客戶關系自變量;C0~C4是常數(shù),由回歸分析算法求解得出。
求解出的客戶滿意度評價預測模型,必須經過測試數(shù)據(jù)進行驗證,確保模型精度是可以接受的。
(5)Step5:構建最佳資源分配模型。從式1可以看出,項目確立后,通過項目信息計算項目難易度X1和客戶關系X4,同時一般企業(yè)在項目確定時首先確定項目經理和開發(fā)流程,因此項目管理能力X3也可以計算出來。而高技術能力人員比例X2正是構建項目群團隊的重要調整對象,需要通過資源分配模型求解。因此上述式1可以轉換成如下表達式:
其中C 是式1 中的C2,X 是式1 中的X2,而β=C0+C1X1+C3X3+C4X4是一個常數(shù)(項目相關信息確定后,可以計算得出)。
對于項目群團隊的最佳配置,以所有項目的客戶滿意度評價得分總和最高為目標,通過決策函數(shù)和約束條件進行求解。
1)決策變量:核心技術能力人員比例X;
2)決策函數(shù):Max CXi+β,N為項目的數(shù)量;
3)約束條件:
(6)Step6:資源分配模型求解。
Step 5 中的資源分配模型,可以通過IBM 公司的CPLEX或者杉數(shù)科技公司的COPT等專業(yè)軟件進行求解。
筆者通過計算曾經參與過的50多個項目的客戶滿意度評價影響指標,構建了客戶滿意度評價預測模型,并利用模型求解項目群團隊最佳構成,發(fā)現(xiàn)模型對項目群團隊構建具有一定的指導意義。但是在實際操作的過程中,建議根據(jù)各自公司項目的情況,對客戶滿意度評價指標的構成因素進行增減。同時建議求解客戶滿意度評價預測模型的歷史數(shù)據(jù)最少70條以上,否則預測模型精度較低,求解出的項目群團隊結構也不具備指導意義。