前言:想要寫出一篇引人入勝的文章?我們特意為您整理了商業銀行軟件項目開發能力探索范文,希望能給你帶來靈感和參考,敬請閱讀。
摘要:為了提高商業銀行軟件開發組織的項目開發能力管理水平,對軟件開發項目的開發能力模型進行探索。通過模型準備,建立軟件開發項目開發能力的定義、計量單位、分類。在此基礎上,以能力規劃為核心,圍繞軟件項目開發的約束條件進行定性和定量的剖析,形成組織級的和項目級的開發能力模型,為項目開發能力管理提供參考,并可作為信息化管理的算法模型。
關鍵詞:商業銀行;軟件開發;項目;能力;模型
銀行科技繁榮已久,網絡金融高效助力,銀行業發展再攀新高;互聯網、云計算、大數據、人工智能等科技元素融入商業銀行的愿景,影響著銀行戰略的調整;“科技引領業務”成為銀行業生態的新適競法則;軟件開發項目作為商業銀行的戰略實現方式,歷久而彌新地承擔著新業態下的使命。但同時,商業銀行軟件項目開發所面臨的“能力管理”難題顯得尤為突出。基于此,對商業銀行軟件開發項目的開發能力模型進行探索,以期為行業軟件項目開發能力管理與效率提升提供參照,也可作為開發能力管理信息化的算法模型。
1模型準備
1.1開發能力定義軟件項目開發能力(以下簡稱“能力”),是指在既定自然、社會條件下,軟件開發組織在正常的生產率條件下和一定的(開發)生產周期內,其軟件開發系統將人力資源等投入要素轉化為指定規格軟件產品的能力。傳統行業的產出能力度量經常用產出的產品、服務來計量,但在商業銀行軟件開發組織(簡稱“組織”)中,由于項目的臨時性、獨特性及統一度量管理的行業特性,用開發系統的輸出計量往往效果不佳。所以,探索使用可供投入的能力計量,一般使用標準的人力單位計量。1.2計量單位標準任務,是指用標準化的計量方法折合的無差別的軟件開發項目原子任務單位,如標準功能點、標準代碼行、標準工作量等。標準人力,是指用標準化的計量方法折合的無差別的軟件開發項目的標準勞動單位,如通過技術能力、金錢價值折合的標準人力(標準人天、標準人天價值等)。標準定額,是指綜合各種影響軟件項目開發的因素,建立的組織的標準人力與標準任務的數量關系,是一種函數計量關系。1.3能力類型設計能力,是組織按照一定時期的規劃產出而預定的能力,用標準人力單位表示。核定能力,是組織按照環境特性、產品特性、人員素質等要素重新核查,計算出來的一定時期的能力。核定能力可能不高于設計能力,也可能不低于設計能力,用標準人力單位表示。計劃能力,是在一定生產周期內(一般為年度),組織計劃達到的能力。以上三種能力的計量單位都是標準人力,可有不同的用途。在軟件組織設計、遠期生產規劃、重大技術改進、重大過程改進等方面可以用設計能力、核定能力;編制組織的年度生產計劃、進行組織年度技術革新與過程改進、確定組織年度過程性能目標時,可以用計劃能力。后續,圍繞計劃能力展開。
2組織級能力模型構建
2.1模型概述。構建商業銀行軟件開發組織的組織級能力模型,如圖1所示。圖1中:P是縱軸,為任務量軸,是指某時刻t,組織在生產周期內已經安排的標準任務量標度。Q是橫軸,為資源量軸,是指某時刻t,組織在生產周期內可投入的或需求的標準人力量標度。D為需求量(曲線),是指某時刻t,基于生產周期內的已安排的任務量,組織對標準人力的需求數量,是任務量的函數。根據國家標準《GB/T36964—2018軟件工程軟件開發成本度量規范》[1],項目的功能點和工作量之間為冪函數關系。基于此,構建組織需求量冪函數曲線D,函數形式為Q=Pμ。在實際應用中,變量、常數都是大于0的,函數為增函數,函數曲線的凸凹、延伸方向,取決于Q、P的相對數據大小,可通過計量單位的安排進行調整,同時還取決于μ大于1還是小于1。僅從數學上考慮,任務量和需求量可以按照永遠的增函數安排,但是從生產理和生產實踐考慮,函數曲線應該是漸進平滑的,并且有可能呈現下降趨勢。由于商業銀行的“用戶—外圍類業務產品—核心類產品—總賬類產品”的業務關聯方式、“內部網頁訪問渠道產品、外部互聯網訪問渠道產品、ATM與POS訪問渠道產品”的人機交互模式、“總線類交易管理產品”的交易負載路由方式,使得產品呈現網狀關聯,產品開發中的依賴關系緊密而復雜,使得該函數特征在商業銀行的實際軟件開發中更為顯著。基于此,構建如圖1所示的需求量曲線,可以根據具體情況增加技術、成本、傳統資本等相關要素的影響系數。函數中的常量可根據組織的實際數據進行回歸得到,也可根據經驗數據估計。S為能力量(直線),是指在時刻t,組織在生產周期內安排的計劃能力。組織級能力模型中,曲線D和直線S相交于一點,對應的資源量為Q0,對應的任務量為P0。在這一點,組織的任務量和需求量達到平衡,為Q0。2.2需求量特性。組織級能力模型中,需求量具有如下特性。2.2.1曲線特性D曲線向右上方延伸;組織的需求量是由任務量驅動的,任務量和需求量之間呈現冪函數關系,為增函數關系;曲線的斜率逐漸減小,即隨著組織在生產周期內安排的任務的不斷增加,安排的人員不斷增加,生產開發效率逐漸降低,并且有可能出現曲線斜率為負的情形。這是一條近似的曲線,因為在生產周期內,組織有多個項目在運行,不能確定每個項目所處的效率狀態,所以這條曲線是一種近似擬合曲線,是對任務量、需求量關系的大概率表達,也是一種實踐經驗曲線表達。商業銀行的軟件開發項目按時間成功交付的概率非常高,項目在時間維度上可粗略地按照一定時期的組織級生產率(基線)安排任務,D曲線也可以近似的表達成直線D',如圖2所示。直線的斜率可以通過實際數據回歸得到,表達方式相對直觀,可以根據組織的實際情況選擇曲線或者直線。2.2.2影響因素銀行業中,組織的需求量是任務量驅動型的,多年來任務量雖然一直持續增長,但仍然受到業務部門的業務預期以及實際需求、內部開發成本、內部資本轉化效率、收益預期、市場替代產品等因素影響。但在這些因素既定的情況下,任務量與需求量關系的主要影響因素為生產率,即工程技術和工程管理的水平。工程技術和工程管理的水平越高,斜率越大,表現為較小的需求量對任務量的彈性,也就是任務量的變化率大于由此帶來的需求量的變化率;斜率越小,表現為較大的需求量對任務量的彈性,也就是任務量的變化率小于由此帶來的需求量的變化率。總的來說,斜率大小就是需求量變化對任務量變化的敏感程度。2.3能力量特性。組織級能力模型中,能力量具有如下特性:(1)斜率。S線垂直于橫軸,說明能力量對任務量是無彈性的。(2)截距。S線與Q軸正方向垂直相交,截距為正,是能力量值,即計劃能力。(3)影響因素。影響計劃能力量的因素,主要是組織對任務量的預期、可投入的成本、工程管理水平、工程技術水平、產品特性、成本管理特性及其他的傳統資本(資產)要素特性等。這些要素限制水平越低,計劃能力量越大,S線初始位置就越靠右。(4)能力量函數。能力量函數公式如下Q0=[(Qy1×Py1+Qy2×Py2+Qy3×Py3)/(Py1+Py2+Py3)]×Φ×Mα×Tβ×Lλ×C×R式中,Q0為計劃能力量,為一定時期(以年度為例)的計劃能力;Qy1為上一年度實際能力量;Qy2為上上年度的實際能力量;Qy3為自上年度起,倒數第三年的實際能力量;Py1為上一年度的實際任務量;Py2為上上年度的實際任務量;Py3為自上年度起,倒數第三年的實際任務量;[(Qy1×Py1+Qy2×Py2+Qy3×Py3)/(Py1+Py2+Py3)]為以往三個年度的實際能力對當年度實際任務量的移動加權平均,用于對本年度能力量的基礎推測,可用Qave表示[(Qy1×Py1+Qy2×Py2+Qy3×Py3)/(Py1+Py2+Py3)]×Φ。可以根據實際情況選擇以往更多年度的實際能力量的加權平均。其中,Φ為年度增長系數,是根據經驗人為估計的;M為工程管理水平的影響系數;T為工程技術水平的影響系數;L為產品特性,如軟件架構、計算機語言、網絡與數據、算法等要素的特性與水平的影響系數。α、β、λ為工程管理、工程技術和產品特性的偏彈性。例如,對于式Q0=Tα兩邊取對數并微分,α≈(ΔQi/Qi)/(ΔT/T),這恰恰是彈性的定義。其為其他要素不變的情況下,T的變化率對Q的變化率的影響系數。β、λ的定義與此類似。對于函數Q0,在使用前,α、β、λ是既定的,Q0被稱為約束型函數。C為計劃周期內可投入成本影響系數;商業銀行的軟件開發組織,是成本中心,不是利潤中心,也就是說沒有利潤率績效考核指標,是按軟件的成本的投入,用多少花多少,即便如此,仍然需要有一定的價值約束,如年度可投放資金、成本效率等。R為傳統資本要素影響系數,如建筑房屋、辦公設備、生活設施等。例如,即使輪流就餐,員工食堂也只能容納5000人,一旦超過這個數量,工作效率就會大大降低。對于M、T、C、L、R、α、β、λ,可以根據以往實際數據和經驗進行估計,也可以根據實際數據進行回歸分析,建立參數表備用。Q0可以表示為Q0=Qave×Mα×Tβ×Lλ×C×R,對這個公式兩邊取對數并微分(α、β、λ相對其他變量為常數)。lnQ0=lnQave+αlnM+βlnT+λlnL+lnC+lnRd(lnQ0)/dt=d[lnQave+αlnM+βlnT+λlnL+lnC+lnR]/dtdQ0/Q0dt=dQave/Qavedt+(αdM)/(Mdt)+(βdT)/(Tdt)+(λdL)/(Ldt)+dC/(Cdt)+dR/(Rdt)對于相同計劃周期的變化量,可得出近似公式ΔQ0/Q0=ΔQave/Qave+αΔM/M+βΔT/T+λΔL/L+ΔC/C+ΔR/R可以定義成各要素變化率r的形式r0=rave+αrM+βrT+λrL+rC+rR上式表示計劃能力的變化率的構成。通過對實際數據的分析,可以分析出各個因素對能力量變化的影響程度,為能力設計和能力效率提升提供依據[2]。通過能力函數可以計算本年度計劃能力,再通過需求量函數可以估算本年度預期可以安排的任務量。該函數也可以用于單項的計劃能力規劃,只是Qave的估計是用以往項目的能力量對任務量進行加權平均。2.4能力平衡。組織級能力模型也可以作為組織能力平衡模型使用,如圖3所示。2.4.1平衡機制。(1)P=P0,組織的需求量等于組織的計劃能力量,供需平衡。在組織的能力設計中,可以圍繞計劃能力設計一個波動范圍,在這個范圍內都認為是平衡的。針對這個范圍涉及的需求量與能力量設計調整機制,可形成動態資源管理機制。(2)P=P1,組織的需求量大于組織的計劃能力量,供給小于需求,此時需要做任務資源調整,可以進行部分任務外包,可以重新安排任務的優先級和進度,可以裁減部分任務,以減少組織內部需求量;或者調整能力量,招聘員工、引入外包人員等。(3)P=P2,組織的總需求量小于組織的計劃能力量,供給大于需求,此時需要做任務資源調整,可以導入部分外包任務,可以增加部分內部任務,可以將部分人員外包,可以進行裁員等。2.4.2平衡指數。為了度量能力偏差的程度,以便進行有效平衡,可設計能力負荷指數。(1)能力負荷指數。負荷指數=一段時間內能力量/一段時間內需求量。可以對以往年度的實際數據分析建立負荷指數基線,作為能力平衡的參照。(2)人員負荷指數。負荷指數=人員實際工作時間/人員理論正常工作時間。可以根據當地法律規定和以往年度的實際數據分析建立負荷指數基線,作為能力平衡的參照。組織進行任務安排和資源配置,以能力負荷指數為依據,同時一定要在人員負荷的可接受范圍內進行。2.5規模效益。在設計組織的計劃能力時,需要考慮規模效益,即組織的規模經濟。2.5.1組織的規模經濟模型。根據組織的任務量、需求量的冪函數關系,冪函數為增函數,其微分是大于零的,且隨著需求量的增加,微分先減小后變化不大,微分可能為負的情況不予考慮;ΔP/ΔQ近似的也有如此特性,由此可以構建組織的規模經濟模型,如圖4所示。圖4中:Q是橫軸,表示需求量標度。ΔP/ΔQ是縱軸,為任務量變化量/需求量變化量標度,任務量-需求量函數曲線的斜率(近似微分)。M(ΔP/ΔQ)為隨著Q增加ΔP/ΔQ的變化曲線,意味著隨著需求量增大,ΔP/ΔQ不斷減小,隨后變化不大。A(ΔP/ΔQ)為隨著Q增加ΔP/ΔQ平均值的變化曲線,意味著隨著需求量增大,ΔP/ΔQ不斷減小,隨后變化不大。P(ΔP/ΔQ)為行業的ΔP/ΔQ均值。由以上可以判斷,Q2往左都是可以接受的,最佳區域為Q1往左,組織有規模經濟效應。通過實際數據,找到Q1、Q2,確定合適的組織能力量。2.5.2能力函數修正需要根據組織的規模經濟模型增加一個規模經濟特性系數E,用來修正組織的能力函數,以使組織的規模更經濟。
3單項目能力模型構建
單項目資源規模估算方法的已有文獻偏多,這里闡述商業銀行軟件(單)項目能力的約束模型。3.1成本-范圍約束模型。構建單項目投入-產出約束模型[3],如圖5所示。圖5中:PP是縱軸,為單項目產出的任務量標度。Q是橫軸,與上面描述的意義一致,是圖5單項目成本-范圍約束模型資源量標度,為單項目的資源量。P-Q,為投入-產出函數曲線,即成本-范圍函數,對于一個具體的項目,隨著資源量的投入,輸出任務量不斷增加,但是增加率逐漸減小(斜率逐漸減小),函數曲線變得平坦,隨著資源量的繼續投入,輸出的任務量反而可能會減小,這是因為超出正常生產的各要素的承載能力,生產率下降的太大造成的,當然這一點在實際中,不會使其發生;函數可以擬合為冪函數或多項式函數。所以,在單項目的能力規劃中需要識別出Qp點,在這一點曲線的斜率接近于0或絕對值最小值。根據實際數據判斷項目階段能力投入、總能力投入的Qp,在進度允許的情況,能力投入選擇斜率較大的區間。這需要組織實際數據的積累作為依據。該約束適用于組織能力規劃。建立此約束,也就意味著約束函數Q0=Qave×Mα×Tβ×Lλ×C×R×E中,α+β+λ<1,說明隨著投入資源量的增加,邊際效益遞減。3.2進度-成本約束模型。構建單項目進度-成本約束模型,如圖6所示。圖6中,Q是縱軸,與上面的意義一致,是資源量標度,是單項目的資源量。S是橫軸,為單項目的工期標度。P為任務量,在圖中是一系列的曲線族,表達不同任務量的單項目,越向上方意味著任務量越大。同一條曲線上,即給定任務量的項目,投入的資源量Q越小,工期越長,可以擬合為多項式曲線。但是,對于給定資源量的Qx,不斷延長工期S,但并不是無限的,因為Q是一個成本約束;對于給定的工期SX,不斷增大資源量,可以完成更大任務量的項目,但也不是無限的,因為在給定工期內,即使投入再大,有些大項目也是完不成的。根據實際數據積累,結合上述成本投入約束,建立有效率的成本-進度約束。3.3進度-范圍約束模型進度、范圍的相互約束對于本文而言探討意義不大,此處不再贅述。3.4進度-人力約束模型。構建單項目進度-人力約束模型,如圖7所示。圖7單項目進度-人力約束模型對于具體項目,工期維度上單位時間平均投入的人數QH(標準人力單位)和工期S的乘積是常數G,也就是QH×S=G,這就是所謂“軟件人月神話”中所說的主要矛盾。顯然QH、S形成雙曲線函數,隨著G的不斷增大,產出也可能逐漸增大,向右上方形成雙曲線函數系列,這些曲線可以在成本約束范圍內進行QH和工期S的權衡。通過實際數據積累,定義該雙曲線函數。這需要在實際數據的基礎建立可能,因為G增加,產出往往未必增加,需要實踐積累來驗證“神話”、打破“神話”。結合上面的分析,對于單項目可以進行范圍、成本、進度、人力的權衡,使項目的能力計劃在多約束下更具有經濟性、可操作性。3.5動態能力量預測模型。對于進行中的單項目總投入能力量,建立動態能力預測模型。(1)預測1:EAC1=AC+(BAC-EV)。該預測表示,成本績效按照計劃執行。其中,EAC1為項目總需求量的預測;BAC為項目計劃總需求量;AC為項目實際發生資源量;EV為目前完成計劃需求量的當量。(2)預測2:EAC2=AC+(BAC-EV)/CPI。該預測表示,后續成本績效按照當前實際成本績效執行。其中,EAC2為項目總需求量預測;CPI為績效成本指數,為EV/AC。(3)預測3:EAC3=AC+(BAC-EV)/CPI1。該預測表示,后續成本績效按照重新核定的成本績效指數CPI1執行。(4)預測4:EAC4=(以上預測的最大值+以上預測的最小值+4×以上預測的中間值)/6。在其他文獻中不難發現以上三種方式,但計量單位標準化了,此處僅僅將其作為數據基礎。預測4表示項目最終的需求量預測。根據預測4,結合以上約束,進行項目的計劃能力設計。3.6外包能力約束模型項目能力不足時,常常需要引入外包人力資源,但是需要建立一定的引入標準。在此,構建外部資源引入的判定指數。判定指數K=I/(F/rF)=rF×I/F。其中,I為組織標準人力的價值;F為外購的外部開發人力資源的價值;rF為外部開發人力資源的價值的轉化率,即轉化成組織內部標準人力價值的轉化率。判斷定系統需要大于1,引入外部資源才有意義。對K進行修正,K=I/(F/rF+F/rF×δ)=rF×I/[(1+δ)×F]。其中,δ為引入外部開發人力資源引發的額外費用率,如額外的管理費用、額外技術引入消化費用等對F的比率;額外費用也需要轉化成標準人力價值。K必須大于1,引入外援才有意義。該判斷指數既可以用于單項目,也可以用于組織級項目。
4結語
自1946年計算機誕生以來,“質量”和“效率”就逐漸成為軟件行業的關鍵問題,軟件組織在這兩個問題的困擾中探索前行。本文采取定性與定量相結合的方式對組織級能力模型、項目級能力模型圍繞約束條件進行剖析,為商業銀行及其他組織提升軟件項目開發能力管理水平和效率提供參考。
作者:付偉江 董平軍 劉洋 單位:中國銀行