這五個問題相當經典而且比較深,需要做過CMMI4、5級的朋友才能看懂這些問題。這5個問題是一位正在實踐CMMI4級的朋友提出來的,而解答則是我的個人見解。
五個疑問是:
A.流程,子流程部分不明白
如果剛開始做4級,需要把指標與流程對應上,我們應該怎麼做呢?是憑經驗感覺還是有相關的過程步驟?
如果我們憑經驗按上面的例子把流程,子流程,子子流程和指標對應了起來,然後通過改善相關流程來提高指標
但是如果我們的感覺偏差,對應錯了流程和指標的關係,豈不是白費力氣?
B.組織級和專案級的區別在哪裡,如果PPB報告做成整個組織一個PPT裡面包含各個專案的PPB情況,是否就是組織級的PPB呢?
C.PPM部分,分析及流程相關性部分,因為已經通過並執行3級的PA,管理了一些指標,做4級的時候,應該根據什麼樣的基準來選擇哪些指標具有相關性呢?難道應該根據感覺嗎?
D.4級是否是這樣的思路,先確定兩個指標是否相關,如果相關做迴歸分析,得到迴歸方程,使用一個已知的指標(上週資料)去預測下週的未知指標,如果不相關,那麼就使用移動平均來預測。是不是所有指標都做預測?使用迴歸方程做預測,那麼已知的指標下週如何預測?
E.如果流程Stable且度量資料呈現正態分佈,則可將PPB Establishment Tool中的控制圖的UCL,CL,LCL設定為Baseline。
即使得到了UCL,LCL,也不能確定是Baseline,我們還應該對得到UCL、LCL的原始資料,也就是相關的指標進行正態檢驗
如果確定是正態分佈的那麼相關的UCL,LCL就可以做為PPB
如果不符合正態分佈我們應該怎麼做PPB呢?
以下是各問題的解答:(僅供參考,歡迎各路朋友各抒己見)
首先是對這些問題的“通式”解答:
你們公司應該聘請了諮詢公司吧?這些問題最好還是讓諮詢師來回答,而且最好面對面討論,讓諮詢師深入公司實際情況給出針對性回答。
從我的經驗看來,你的這些問題之前可能還有更基礎的一些問題沒有解決:
1.過級目標不純潔?公司為了過4級而過4級?
2.公司業務和技術等特點,決定公司無法形成穩定的過程,這樣是不適合過4級的。
3.2、3級的基礎沒有打好,改進文化沒有建設好,以前的過程實用性低等。
當然這些是我的猜測,不一定是對的。這也是我建議的要和諮詢師討論的原因,諮詢師最熟悉你們的情況了,何況他們收了錢是要幹活的。
以下是各問題的針對性解答,僅供參考。
A.關於流程、子流程、子子流程的問題
何為總流程,何為子流程,其實完全由自己來確定的。如何劃分,建議不要從過級角度考慮,要從實用角度考慮,思考那些子流程對公司最重要,而不是選擇哪些子流程最容易得到所謂的指標。
選擇的子流程必須最符合公司的商業目標,這其實也是CMMI的要求來的,但當往往這些子流程要穩定,難度超高,很多公司會選擇比較容易得到指標比較容易穩定的子過程,但這樣違背了改進的初衷。
所謂子過程,有很多種劃分辦法,有人按階段劃分,而我以前的公司是按性質劃分的。我們將工程類活動分為需求、設計、編碼、測試、實施等幾個子過程,這些工程活動其實從專案一開始到結束都是存在的,只是不同時期比重不太一樣而已。絕大部分情況下,很多專案是不太可能完全瀑布型的,從時間上劃分階段可能是不合適的。
子過程要細到怎樣的程度,得到的指標才有4級的價值呢?簡單地說要保證資料的同型別、可比性,這個比較難解釋,後面再補充說明。
B.關於組織級和專案級的區別在哪裡
整個組織一個PPT裡面包含各個專案的PPB情況,是否就是組織級的PPB呢?
回答:不是!
組織級的意思是,在組織範圍內,性質、技術、業務、人員水平等相似的專案,它們整體的PPb是怎樣的?
一個專案不太可能得到有效的40個或以上的度量資料,能形成基線。一般來說需要挑選相似的專案,用這些專案的資料來計算PPB。如果基線成立,那麼就可以利用該基線來控制將來類似的專案。建立基線的目的就是為了對將來的專案進行控制,每個專案自己建立基線,各專案結束後基線就沒有用了,更何況一個專案不太可能得到足夠的資料點。
C.PPM部分,如何選擇相關性指標?
回答這個問題,還是先要回到做4級的商業目標上來,選擇標準絕對不是哪些容易做到就選擇哪些,而是:從公司商業目標來選擇重要的、關鍵的流程。
模型是比較難的,而且做出來往往是很不準確的,建議:
1.先選擇一個比較重要的流程來嘗試,例如可以考慮預測軟體缺陷數量。
2.先從道理上想清楚輸入是什麼,輸出是什麼,做這個預測有什麼實際價值。
3.擴充相關的數學知識,學習一些BI知識會對你很有幫助,關於BI可參考這兩篇文章:
大話商業智慧:http://www.cnblogs.com/umlonline/p/3357234.html
神奇的資料探勘:http://www.cnblogs.com/umlonline/p/3359574.html
4.多嘗試,一開始可能真的只能是“根據感覺”走,到後面會逐步提高認識的。
無論是PPB或是PPM,都不是幾周能搞定的事情,折騰幾個月到幾年都是很正常的事情,往往第一批的嘗試最後都需要推翻重來,不太可能一次就成功的。
問題D
是不是所有指標都做預測?
不是!只選擇有價值的做預測。
使用迴歸方程做預測,那麼已知的指標下週如何預測?
下週的Input是什麼?從數學角度上說,如果你有下週的Input,自然就會有下週的Output,下週的Output就是預測值。
但問題往往不是數學問題這樣簡單的,如果你能說得更清楚就更好了。
PPM,一定要搞清楚Input是什麼?Output是什麼?為什麼Input會得到Output(也就是所謂的方程了)?
迴歸分析只是用來分析Input與Output關係的一種模式而已,還可以用決策樹、神經網路等其它BI方法,要擴充自己的數學思路。
還有一點其實很關鍵:要先從道理上想清楚,不要一下子就扎進數學的海洋中。
問題E
正態分佈只是對原始資料的要求之一,其實保證資料的“同類性”才是最關鍵的,嚴格執行這個標準,你會發現實質上能滿足要求的資料是很少很少的!我以前工程用所有專案的SPI和CPI來計算基線,結果就是沒有保證資料的“同類性”,要重新來過!“同類性”就是要保證這些資料是在相似的情況下獲得的,例如專案業務性質、技術性質、人員水平差不多的情況下得到的。
關於是否穩定的問題,在數學角度上可以用不穩定性測試,能通過這個測試就算穩定了,但要通過這個測試可不容易。過程其實很難穩定的,要想辦法細化相應的過程,排除造成不穩定的因素,讓過程穩定,這才是4級改進的核心任務之一。有一些公司為了所謂的穩定,搞一些數字遊戲,在數學上看上去穩定,但道理上卻說不通!
小結一下:
我說說當時我們公司是如何評估CMMI4、5級的:
被評估人員需要清晰且沒有歧義的回答這些問題:
1.公司為什麼選擇這樣的子過程,這些PPB和PPM對商業目標有什麼幫助?
2.每個PPB和PPM對應的是什麼子過程?
3.實際專案發生偏差時,可根據什麼指引來消除偏差?
4.PPM有一定的合理範圍,為什麼會存在不合理的範圍?
5.建立PPB和PPM的資料是怎樣來的,如何保證“同類性”?
6.PPB和PPM的基本數學原理是怎樣的?為什麼要採用這樣的數學方式?為什麼採用這樣的方式是合理的?
4、5級不只是數學問題,更多的是“道理”上的問題,這些東西都不是幾天就能學習到的,還需要不斷實踐、總結、學習!
大家一起來加油吧!
作者:張傳波
創新工場創業課堂(敏捷課程)講師
軟體研發管理資深顧問
CMMI首席專家
《火球——UML大戰需求分析》作者