李曉明
(長安大學 經濟管理學院,西安 710064)
在我國,IT研發項目團隊的總體績效有待提高,但這方面可操作應用型的理論方法缺乏。因此,尋找一種客觀、定量而有效管理IT研發不確定性的方法是十分必要的。這一類對IT研發進行評估的方法與模型文獻中也有提出。Kellner提出了一種由STATEMATE模型工具描述的IT過程評估方法,這一方法闡述了如何將過程模型用于項目管理。Lee and Murata提出用于IT項目管理的β隨機分布的Petri網模型,這是一種計劃評審技術的綜合模型,而使用Petri網處理大型項目管理的不確定性問題和并發問題。FUNSOF網與SPADE也是基于Petri網的模型,它們主要側重于過程時間約束的評估。而且,Tvedt和Collofello使用系統動力學模型評估了IT檢驗階段過程改進的有效性,這一方法使用因果關系分析法預測過程改進對IT開發的影響。但是,這些方法主要是側重于過程建模技術而不是不確定性管理過程。為了有效地對提高IT研發效率,研發活動應該在管理IT項目不確定性基礎上進行,使得基于基于Petri網的量化模型變得非常重要,這是本研究的意義所在。
為此,本文提出了使用高級Petri網建模方法,以IT研發項目為例進行研究,結合國內外相關研究理論,構建了不確定性、協調機制與項目績效關系的模型體系,這一模型具有分析管理研發項目不確定性管理過程的能力,還能夠分析研發項目不確定性管理過程的效率,最后給出算例驗證。將定性化的研究轉化為定量分析,減少了人為不確定性評估的主觀性和不準確性。
本研究目的在于探究不確定性(不確定性是指為企業帶來機會或者威脅的及其變化趨勢不確定)與協調機制對標準變量(績效:過程績效與產品績效)的影響。根據以前學者在IS領域中運用權變理論所進行的變量之間關系研究,選取采用調節匹配模式,因為調節匹配模式更適合本研究目的。Petri網是一種系統的數學和圖形的描述方法與分析工具,對于具有并發、異步、分布、并行、不確定性和隨機性信息處理系統,都可以構造出相應的Petri網模型,通過對Petri網模型的分析,得到有關系統性能的各項參數指標,根據這些指標對系統進行評價與改進。Petri網目前已經廣泛應用于許多領域,包括動態系統說明、描述、與驗證,而多層Petri網、隨機Petri網、著色Petri網等等形式主要用于安全相關方面的應用。
位置由一個圓圈表示代表一個條件,如輸入數據、輸出信號、資源條件或緩沖區。變遷由一個矩形塊表示,代表一個事件如計算步驟、任務或活動。弧在Petri網中用來連接位置與變遷。弧是有指向的,從一個位置到一個變遷或從一個變遷到一個位置。當輸入位置中含有托肯,Petri網中的變遷就可以觸發。這樣的變遷成為“使能”變遷。使能的變遷從輸入位置移動一定數量的托肯到輸出位置。在最早的形式中,Petri網的變遷被假設為瞬時的。后來,在Petri網中引入延遲時間就考慮進去了,這樣帶有時間的變遷有能力模擬任務或活動,被稱為時間Petri網(TPN)。
IT系統研發的過程是一個集系統需求概念形成、系統設計、編碼、測試、維護于一體的綜合過程,其中涉及眾多的需求、技術、人事等方面的不確定性因素,而這些不確定性因素通過協調、控制等管理活動將其負面影響降至最低。用Petri網建模主要是對詳細的不確定性因素及其對項目的影響進行描述,并通過不同的協調策略對不確定性因素進行反饋調整,對項目不確定性因素控制實施效率進行評估。具體開發過程的信息所產生的影響用不同的變遷表示,系統開發不確定性因素控制Petri網模型如圖1所示,庫所和變遷的含義如表1所示:

圖1 不確定性因素控制Petri網模型
其中,p1~p11項目不確定性因素;p12~p22不同控制策略;p23~p33不同狀態;t1-t7不同變遷與策略實施。
IT研發周期工作流程包括以下活動內容:需求分析與定義;結構設計;程序設計;編碼;測試。從知識管理的角度來看,本質上IT開發是一個知識流動的過程。顯性知識是工作流的直接產品,在IT研發以文件的形式存在。由于工作流中帶有不確定性信息,通過各種協調策略,不確定性程度在IT研發過程中逐漸減少。假設延誤的周期只是由于需求、技術與開發人員的變化而引起的。在流程中,每一階段文件是上一階段文件的輸入和下一階段文件的輸出,托肯Pi表示有三個特征的不確定性信息流,包括需求、技術及開發人員的變化。躍遷t14~19與t20~22代表了橫向交流與縱向協調策略的全部,當托肯在位置P2與P3時,能夠分別觸發表示帶有不確定性的信息流被吸收,然后回到位置P1。每一個變遷有一個觸發函數,函數的實施更新托肯特征值,每一個變遷代表了一個控制策略,位置表示事件或行為的等待狀態。
建立模型的主要目標就是評估不確定性管理的效率,將Petri網圖進行簡化,并同構Markov Chain(MC),有5個節點,5個狀態可達圖,轉換為可同構的Markov矩陣。

表1 可同構的Markov矩陣
定義狀態轉換矩陣Q=[qi,j],1≤i,j≤n,矩陣中元素qi,j是:

根據Markov過程,每一狀態的穩定概率X=(x1,x2,...,xn) 滿足如下線性方程:

解上述方程組,可得出每一可達標記的穩定概率P(Mi)=xi,(1 ≤i≤n):
基于以上狀態概率,計算以下特征函數:

N(t)─位置的平均標記數,是一個很有用的績效參數。在系統模型中,從位置的平均標記數可以得出子系統的使用率;從排隊論的觀點看,可以用于分析子系統響應時間及任務隊列的長度;在不確定性管理模型系統中,可以分析不確定性信息流的系統延遲時間,系統信息負載,績效指標等等。
變遷標記速率R(t,s)=W(t,s)·U(t)·λ,λ流入子系統的平均速率的綜合
得到系統平均延遲時間:

可得出系統運行的周期時間T,然后評估系統不確定性管理的效率。延遲系統周期時間越短,系統不確定性管理的效率越高。不確定性的控制是多階段反復過程,根據不確定性計劃,采取措施按順序評估。基于不同策略得出的不同結果評定不同戰略組和適合IT項目,然后決定是否修訂原來的控制計劃措施。
在建立模擬模型之前,先確定模型參數。一些從真實數據中取得,一些從模擬測試中取得。然后,我們不確定性管理過程,最終輸出數據結果。
為了評估所提出方法的有效性,將提出的模型應用于某公司A與B兩個項目中。
項目的主要特點如下:
①項目A與B的開發工作量分別為180人天和120人天
②項目A與B實際延誤時間分別為65天和34天
③項目A與B的規模分別為16KSLOC與4KSLOC
④項目需求、環境和最終期限在開發過程中發生變化
⑤每個項目實施不確定性管理
在模擬過程中,我們在TimeNET3.0.系統中,重復模擬200次,計算延遲日期與殘余不確定性的變化程度。項目A與B的模擬分析結果如表2與表3。圖2顯示了模擬實施過程。在主窗口,可以看到模擬過程如不確定性信息流、不確定性性因素應對策略、程序產品的規模、項目中殘余不確定性的程度等等。

圖2 模擬實例結果

表2 項目A模擬分析結果

表3 項目B模擬分析結果

表4 模擬的分析結果
從以上數據,當轉換參數在0.2和0.8時,可以看到模擬結果與真實參數相近。最后的比較結果如下,模擬結果與真實數據比較,誤差分別為7.78%與9.4%,所提出的模型在IT項目不確定性控制階段在允許的誤差范圍內可以定量估計項目延誤時間,為IT項目不確定性控制管理提供量化依據。本模型是一種新的IT項目不確定性管理定量分析方法,可以從延誤的日期評估管理的有效性。在模型中,通過將Petri網模型轉換為可同構的Markov矩陣,評估IT項目不確定性管理過程。最后,應用將真實項目數據與模擬結果進行比較,實驗結果顯示了本模型的可行性。
本模型通過構造IT研發Petri網不確定性管理模型,模型簡化后轉換為Markov鏈,對Petri網模型進行分析,已經定量化地計算了它的運行效率——即研發產品開發的周期。通過對協調機制不同的策略進行建模分析、計算,就可以對不同策略組合的管理不確定性因素有效性進行評價,可以在真正實施之前用Petri網模型進行模擬,得到定量化的結論作為參考依據,是一種不確定性管理方法新的嘗試與探索。
本模型的提出在于以下三個方面的貢獻:
(1)在理論基礎方面,傳統的研發項目不確定性管理的識別、控制方法和工具主要內容來源于一般工程項目的風險管理方法,使得不確定性管理是一種被動式的管理方式,其內容偏于泛化,定性研究較多而針對研發項目特點的定量研究較為薄弱。本模型基于Petri網建模理論,后將模型簡化轉換為Markov鏈,將定性化的研究轉化為定量分析,從而減少了人為不確定性評估的主觀性和不準確性。
(2)項目進度的拖延往往是項目不確定性管理的重要內容之一,因此,進度不確定性通常是考慮的重點。本模型提出的不確定性指標參數也正是基于項目時間周期的延遲,能方便地幫助研發目標識出不確定性程度,并量化分析不確定性因子對項目進度的影響,最終給出合理的項目交付進度延遲的評估數據。
(3)本模型中不確定性因素控制強調從控制觀點來研究軟件開發過程,這種“輸入——控制——輸出——反饋——輸入”的方式進行的,這樣就可以對不同策略組合實施管理不確定性因素有效性進行評價,并取得滿意的結果。當然,還必定存在著內外部映射關系產生的成本損失,如何減少這部分成本損失是需要進一步研究的課題。
[1]葛方振,彭太樂,郭桂芳.灰色聚類法在軟件項目不確定性評價中的應用[J].計算機工程與應用,2009,45(2).
[2]張亞軍,搖張金隆,陳江濤.IT服務管理研究述評及未來展望[J].情報雜志,2013,(6).
[3]Kellner M.I.Software Process Modeling Support for Management Planning and Control[C].Proc.of the 1st International Conference on Software Process,1993.
[4]Lee G.,Murata T.A Distributed Stochastic Petri Net Model for Software Project,Time/cost Management[J].The Journal of Systems and Software,1994,26(2).
[5]Bandinelli S.C.,Fuggetta A.,Ghezzi C.Software Process Model Evolution in to SPADE Environment[J].IEEE Trans.Software Engzneerzng,1993,19(12).
[6]Tvedt J.D.,Collofello J.S.Evaluating the Effectiveness of Process Improvements on Software Development Cycle Time Via System Dynamics Modeling[C].Proc.of COMPSAC95,1995.
[7]Lenz RT.Environment,Strategy,Organization Structure,and Performance:Patterns in one Industry[J].Strateg Manage,1980,(1).
[8]Mitchell L V.Knowledge Integration and Information Technology Project Performance[J].M IS Quarterly,2006,36(4).
[9]David Verneza.Perspectives in the Use of Colored Petri Nets for Risk Analysis and Accident Modeling[J].Safety Science,2003,(41).
[10]袁崇義.Petri網原理與應用[M].北京:電子工業出版社,2005.
[11]林闖.隨機Petri網和性能評價(第2版)[M].北京:清華大學出版社,2005.