這一周,都在密集的參與公司CMMI資質(zhì)評審。什么是CMMI?我發(fā)現(xiàn)這是一個很模糊,似懂非懂的概念,很多時(shí)候,都沒法向他人解釋清楚。仔細(xì)想想,這大概說明了3個問題:第一,自己沒有真正理解這個概念;第二,自己的語言表述不到位;第三,聽眾沒有行業(yè)背景,聽不明白。
大家想想,我們的生活和工作,都是由各種小事組成的,職場人士能力的強(qiáng)弱,往往就是在細(xì)節(jié)處理上的區(qū)別,積小成多,最終形成差距。比如,文檔發(fā)出去之前,對標(biāo)題和錯別字多檢查一次;每天工作前,花五分鐘列一下當(dāng)天的工作計(jì)劃;當(dāng)別人找你辦事時(shí),不會回復(fù)“我有很多其他項(xiàng)目的事,我很忙”等。
類似的細(xì)節(jié)很多,除此之外,我覺得有一個最基本并且核心的能力——把一件事、一個概念解釋清楚,并且別人能聽懂。
我們對很多司空見慣事物的解釋,往往顯得特別無力的。比如,你們公司的主要業(yè)務(wù)是什么?你自己是怎么樣的一個人?如何快速掌握這套系統(tǒng)?你會如何教會一個小孩子用筷子?或者還有前一陣,我們同事面臨的一個問題,你會如何向一個小學(xué)生解釋早戀?什么是比特幣、區(qū)塊鏈、智慧城市等等。
看似簡單,這種技能實(shí)則需要不斷的打磨和練習(xí)。今天我想試一下能不能把CMMI這個概念解釋清楚。
下文概念解釋邏輯:
一、什么情況下,我們需要CMMI?
二、CMMI的概念核心是什么?
三、CMMI體系結(jié)構(gòu)是怎樣的?
一、什么情況下,我們需要CMMI?
如果你是一個碼農(nóng),你的公司有軟件開發(fā)業(yè)務(wù),在完成一個軟件產(chǎn)品或?qū)嵤╉?xiàng)目時(shí),常常會出現(xiàn)以下的狀況:
1、開發(fā)人員不懂客戶業(yè)務(wù),一個高大上的規(guī)劃,落地后的軟件,只是機(jī)械的滿足了基本功能,毫無易用性和科學(xué)性可言。
2、項(xiàng)目只有簡單的里程碑計(jì)劃,細(xì)節(jié)處理粗糙,需求不斷擴(kuò)大,工期一再延后。
3、項(xiàng)目需求、設(shè)計(jì)等由一人跟蹤,然后再口述給其他人,最后驗(yàn)收前瘋狂補(bǔ)文檔,應(yīng)付驗(yàn)收。一段時(shí)間后,這些人離職了,新來的同事看著文檔,牛頭不對馬嘴,完全不知所云。
4、做完了N個類似的項(xiàng)目了,面對一個新項(xiàng)目,大部分工作還得重新開始,無法復(fù)用,對公司來講,資產(chǎn)和經(jīng)驗(yàn)都沒得到積累。
5、項(xiàng)目過程中的問題,沒有有效跟蹤,還沒有解決,就不了了之了。
6、項(xiàng)目過程中的風(fēng)險(xiǎn),沒有有效識別。風(fēng)險(xiǎn)發(fā)生后,局面無法控制,后期因?yàn)橐?yàn)收,又草草處理。
以上這些現(xiàn)象其實(shí)是實(shí)際軟件開發(fā)過程中常見的,最后產(chǎn)出的產(chǎn)品質(zhì)量可想而知。別急,這個時(shí)候,CMMI就特別適合你。
二、CMMI的概念核心是什么?
CMMI,由美國人在1994年提出,過去二十幾年在世界范圍內(nèi)被廣泛應(yīng)用,其科學(xué)性和應(yīng)用效果得到驗(yàn)證。
CMMI,即軟件成熟度模型。
換句話說,就是給你公司一個軟件開發(fā)管理可執(zhí)行的框架,這個框架具有自動性和可擴(kuò)展性。實(shí)行CMMI體系的過程就是改進(jìn)的過程。最終的目的,就是在保證工期和預(yù)算的前提下,輸出高質(zhì)量的軟件。
只要按照這個框架執(zhí)行,我們開發(fā)工作每一個環(huán)節(jié)都有規(guī)程和文檔為依據(jù),我們的需求、設(shè)計(jì)、測試各個環(huán)節(jié)都有評審,變更將得到有效管理,項(xiàng)目成果和經(jīng)驗(yàn)?zāi)艿玫椒e累和應(yīng)用……
大家熟知的信息系統(tǒng)項(xiàng)目管理師和PMP,是兩個對個人層面的認(rèn)證,而CMMI是對企業(yè)層面的認(rèn)證。
三、CMMI體系結(jié)構(gòu)是怎樣的?
5個等級。CMMI模型把企業(yè)的軟件能力成熟度劃分為5個等級——第1到第5級。數(shù)字越大,成熟度越高。5個等級分別是:初始級、已管理級、已定義級、已定量管理級、優(yōu)化級。一般企業(yè)評估是第3級或第5級。
22個過程域。每一個成熟度等級對應(yīng)一定數(shù)量的過程域。所謂過程域(PA),就是做好軟件管理的某一個方面,如項(xiàng)目計(jì)劃(PP)、風(fēng)險(xiǎn)管理(RSKM)、需求開發(fā)(RD)等等。CMMI一共包括22個過程域,涵蓋了過程管理、項(xiàng)目管理、工程管理、支持管理四個方面。
特殊目標(biāo)和通用目標(biāo)。每一個過程域下面有具體的特定目標(biāo)和通用目標(biāo)。如項(xiàng)目計(jì)劃(PP),其特定目標(biāo)如下:
SG1 完成參數(shù)估計(jì);
SG2 擬訂項(xiàng)目計(jì)劃;
SG3 獲取對計(jì)劃的承諾。
特殊實(shí)踐和通用實(shí)踐。每一個目標(biāo)下面有具體實(shí)踐方法,即特定目標(biāo)下面有特殊實(shí)踐,通用目標(biāo)下面有通用實(shí)踐。所謂實(shí)踐,即具體可執(zhí)行和量化的行動措施。比如項(xiàng)目計(jì)劃(PP)的特定目標(biāo)SG1(完成參數(shù)估計(jì)),就包括4個特定實(shí)踐:
SP1.1 估計(jì)項(xiàng)目的范圍
SP1.2 建立項(xiàng)目屬性的估計(jì)
SP1.3 定義項(xiàng)目生命周期
SP1.4 確定工作量和成本的估計(jì)
這樣,就形成了自上而下的CMMI體系,自下而上的可評估方法。
CMMI的評估,就是自下而上,通過對具體項(xiàng)目提供的文檔證據(jù)和訪談,來了解開發(fā)工作是否采取了實(shí)踐措施,進(jìn)而確定每個過程域的特定目標(biāo)和通用目標(biāo)是否實(shí)現(xiàn),從而確定這個過程域是否滿足,最終能確定評審企業(yè)是否達(dá)到CMMI等級。
好了,講完了,你聽懂了嗎?