敏捷團(tuán)隊(duì)成熟度的思考
一、敏捷團(tuán)隊(duì)成熟度的目的
這里參考CMMI的相關(guān)內(nèi)容并結(jié)合敏捷特點(diǎn)可知,使用敏捷團(tuán)隊(duì)成熟度的目的是通過(guò)某種建模方式(敏捷團(tuán)隊(duì)成熟度模型)來(lái)描述其敏捷能力的分級(jí),從而讓團(tuán)隊(duì)知道其當(dāng)前能力(as is),以及在敏捷團(tuán)隊(duì)成熟度模型的定義范圍內(nèi),找到未來(lái)的發(fā)展方向和目標(biāo)(to be)。
簡(jiǎn)而言之,敏捷團(tuán)隊(duì)成熟度的目的是為了幫助團(tuán)隊(duì)定位其在其所處環(huán)境下的能力。
二、敏捷團(tuán)隊(duì)成熟度的特殊性
這里的特殊性,其實(shí)是敏捷自身的特殊性帶來(lái)的──敏捷本身不是流程、框架、方法論,更多的是一種理念(mindset),因此,在度量敏捷團(tuán)隊(duì)成熟度時(shí)候,無(wú)法絕對(duì)的通過(guò)文檔、流程、交付物來(lái)進(jìn)行定義,畢竟在實(shí)施敏捷的過(guò)程中,情景(context)起到的作用非同凡響。
因此在度量敏捷團(tuán)隊(duì)成熟度的時(shí)候,我們需要回歸到敏捷自身的特點(diǎn),而不能寄希望于所謂的“標(biāo)準(zhǔn)”、“流程”、“方法論”。
這里還有一個(gè)需要注意:定義敏捷團(tuán)隊(duì)成熟度的時(shí)候,最好不要將其約定到某種框架或者方法,比如Scrum 或者Kanban或者XP,我們沒(méi)有能力或者必要為他們分別建立一個(gè)成熟度模型。這里我們要定義的是敏捷團(tuán)隊(duì)成熟度。
既然定義的是敏捷團(tuán)隊(duì)成熟度,那么此時(shí)就需要回歸到敏捷的自身特點(diǎn),這也是下面我在設(shè)計(jì)某個(gè)敏捷團(tuán)隊(duì)成熟度模型中的主要思考方向。
三、一種成熟度模型初步構(gòu)想
結(jié)合敏捷特點(diǎn),以及ITIL 4中給我的一些啟示,這里做了一個(gè)簡(jiǎn)單的敏捷團(tuán)隊(duì)成熟度模型。
這里的模型思考點(diǎn)從PPTV 四個(gè)角度出發(fā):
- P,People,人的因素
- P,Process,過(guò)程因素
- T,Tool,工具因素
- V,Value,價(jià)值因素
這里有一點(diǎn)需要注意,敏捷本身不是流程,以及該模型需要兼容不同的框架,所以第二個(gè)流程P會(huì)被機(jī)制Mechanism 代替,所以最后的模型就會(huì)變成PMTV(完美逃開(kāi)了蘇寧的律師函。
V,Value,價(jià)值因素
把價(jià)值因素放到最前面,相信沒(méi)有人會(huì)反對(duì),畢竟敏捷一直在強(qiáng)調(diào)“交付價(jià)值”。
但“統(tǒng)一價(jià)值度量”基本上是不可能完成的任務(wù),而且如同我們前面所說(shuō),敏捷需要嚴(yán)格考慮情景,所以這里我們放棄對(duì)價(jià)值的直接度量,轉(zhuǎn)而開(kāi)始度量“是否具有完備的價(jià)值交付度量體系”,即確保團(tuán)隊(duì)的交付物是具備價(jià)值并且可以度量,避免團(tuán)隊(duì)進(jìn)入一種渾渾噩噩只知道做事,不知道做的怎么樣以及價(jià)值在哪里的情況。
至于敏捷自身的價(jià)值,我個(gè)人并沒(méi)有將其思考在內(nèi)。畢竟敏捷是否有價(jià)值,必須是依賴于敏捷是在團(tuán)隊(duì)交付過(guò)程中提供幫助,否則就會(huì)變成“為了敏捷而敏捷“。
M,Mechanism,機(jī)制因素
這里機(jī)制所代替的基本上都是對(duì)敏捷強(qiáng)調(diào)的一些原則相關(guān),具體包括:
- 交付周期是否足夠短──每個(gè)故事(或者需求、任務(wù)、Bug)流動(dòng)時(shí)間是否滿足組織對(duì)團(tuán)隊(duì)的訴求,具體數(shù)值可以根據(jù)不同環(huán)境自行定義;
- 是否具備持續(xù)交付能力──每個(gè)交付物,是否可以持續(xù)的被驗(yàn)收,甚至被發(fā)布上線(這里其實(shí)是已經(jīng)是持續(xù)部署了,根據(jù)不同團(tuán)隊(duì)情況可選),這里可以通過(guò)百分比的方式進(jìn)行定義,有多少需求是開(kāi)發(fā)完成后就可以交付或者發(fā)布,通過(guò)不同的百分比來(lái)進(jìn)行本項(xiàng)的評(píng)分;
- 是否具備持續(xù)改善的機(jī)制──團(tuán)隊(duì)是否會(huì)在開(kāi)發(fā)過(guò)程中對(duì)團(tuán)隊(duì)的績(jī)效表現(xiàn)進(jìn)行反思并提出改進(jìn)方案。本項(xiàng)無(wú)法通過(guò)絕對(duì)的客觀指標(biāo)進(jìn)行評(píng)分,只能通過(guò)詢證(找到對(duì)應(yīng)的證據(jù),包括但不限于參加改進(jìn)過(guò)程、審查改進(jìn)過(guò)程留下的文檔、與團(tuán)隊(duì)進(jìn)行訪談等方式)的方式進(jìn)行評(píng)分,重要的是在詢證的過(guò)程中給予改進(jìn)建議;
- 是否具備研發(fā)過(guò)程信息同步機(jī)制──團(tuán)隊(duì)是否在開(kāi)發(fā)過(guò)程中,有信息同步機(jī)制。信息同步機(jī)制不一定是站會(huì),可以是團(tuán)隊(duì)認(rèn)可的任意形式。同時(shí)本項(xiàng)還包括了對(duì)信息發(fā)射源的更新及時(shí)程度與更新機(jī)制的考量。本項(xiàng)無(wú)法通過(guò)絕對(duì)的客觀指標(biāo)進(jìn)行評(píng)分,需要詢證并給出改進(jìn)建議;
- 是否具備完備的工作計(jì)劃?rùn)C(jī)制──團(tuán)隊(duì)在開(kāi)發(fā)過(guò)程中,是否使用了符合當(dāng)前團(tuán)隊(duì)的計(jì)劃方式,并盡可能的根據(jù)計(jì)劃完成工作。這一項(xiàng)需要將計(jì)劃的周期、計(jì)劃完成率、計(jì)劃透明度等考慮在內(nèi)。本項(xiàng)無(wú)法通過(guò)絕對(duì)的客觀指標(biāo)進(jìn)行評(píng)分,需要詢證并給出改進(jìn)建議;
- 是否具備需求變更與應(yīng)對(duì)機(jī)制──變更不可避免,團(tuán)隊(duì)是否選擇了適當(dāng)?shù)淖兏c應(yīng)對(duì)機(jī)制,對(duì)團(tuán)隊(duì)交付價(jià)值有著莫大的幫助。這里要注意,應(yīng)對(duì)變更并非需要如同敏捷軟件開(kāi)發(fā)宣言第二條說(shuō)的欣然接受變更,需要根據(jù)團(tuán)隊(duì)與開(kāi)發(fā)工作自身特點(diǎn)來(lái)制定合適的方法。本項(xiàng)無(wú)法通過(guò)絕對(duì)的客觀指標(biāo)進(jìn)行評(píng)分,需要詢證并給出改進(jìn)建議;
- 是否具備完備的反饋機(jī)制──不論是日常工作中還是用戶驗(yàn)收后給出的反饋,是否可以無(wú)障礙的傳遞給團(tuán)隊(duì),并且團(tuán)隊(duì)可以根據(jù)實(shí)際情況對(duì)反饋即時(shí)調(diào)整(adapt)工作優(yōu)先級(jí)。本項(xiàng)無(wú)法通過(guò)絕對(duì)的客觀指標(biāo)進(jìn)行評(píng)分,需要詢證并給出改進(jìn)建議。但是有一點(diǎn)需要注意,詢證過(guò)程中,業(yè)務(wù)方的反饋至關(guān)重要,不可或缺;
- 團(tuán)隊(duì)是否使用了良好的研發(fā)實(shí)踐──這里是較為少見(jiàn)的可以絕對(duì)度量的指標(biāo),包括是否使用TDD、測(cè)試代碼覆蓋率、是否使用自動(dòng)化工具等??梢愿鶕?jù)團(tuán)隊(duì)實(shí)際情況以及引導(dǎo)方向,進(jìn)行適當(dāng)?shù)亩ㄖ?。一般認(rèn)為沒(méi)有TDD 的團(tuán)隊(duì),本項(xiàng)得分必須是0分。
P,People,人的因素
人的因素應(yīng)該是比較復(fù)雜的因素,大概率是因?yàn)槿说囊蛩靥?。不過(guò)我們有辦法做點(diǎn)事情:
- 研發(fā)人員能力──這一項(xiàng)的關(guān)注點(diǎn)在于研發(fā)人員是否有能力、按時(shí)按量的完成工作交付。這里將短交付周期剝?nèi)?在機(jī)制因素中體現(xiàn)過(guò)了),單純的關(guān)注團(tuán)隊(duì)能力是否足夠。這里可以考慮的點(diǎn)是:技能覆蓋面(是否包含了所有的能力)、T型人才占比、團(tuán)隊(duì)自我學(xué)習(xí)意愿等方面考慮。本項(xiàng)無(wú)法通過(guò)絕對(duì)的客觀指標(biāo)進(jìn)行評(píng)分,需要詢證并給出改進(jìn)建議;
- 團(tuán)隊(duì)教練能力──這一項(xiàng)關(guān)注的是團(tuán)隊(duì)教練(Scrum Master 或同等角色)在敏捷開(kāi)發(fā)過(guò)程中能力與價(jià)值體現(xiàn)。本項(xiàng)考核點(diǎn)在于團(tuán)隊(duì)教練對(duì)敏捷框架的認(rèn)知、研發(fā)流程的認(rèn)知、教練技術(shù)、引導(dǎo)技術(shù)以及相關(guān)敏捷領(lǐng)導(dǎo)力的表現(xiàn)。本項(xiàng)取決于組織對(duì)團(tuán)隊(duì)教練的期待,可以根據(jù)實(shí)際情況增刪考核點(diǎn)。本項(xiàng)無(wú)法通過(guò)絕對(duì)的客觀指標(biāo)進(jìn)行評(píng)分,需要詢證并給出改進(jìn)建議;
- 產(chǎn)品人員能力──這一項(xiàng)關(guān)注的是產(chǎn)品人員(包括但不限于PO、產(chǎn)品經(jīng)理、BA等角色)在敏捷開(kāi)發(fā)過(guò)程中能力與價(jià)值體現(xiàn)。本項(xiàng)考核點(diǎn)集中在行業(yè)知識(shí)、需求編寫(包括用戶故事)、與業(yè)務(wù)方溝通表現(xiàn)、優(yōu)先級(jí)排序等方面。本項(xiàng)無(wú)法通過(guò)絕對(duì)的客觀指標(biāo)進(jìn)行評(píng)分,需要詢證并給出改進(jìn)建議。
T,Tool,工具因素
目前來(lái)說(shuō)工具因素只考慮一項(xiàng),即對(duì)信息發(fā)射源的使用。
是否正確使用信息發(fā)射源──信息發(fā)射源可以由團(tuán)隊(duì)自行選擇與使用,但是需要確認(rèn)團(tuán)隊(duì)是否正確認(rèn)知了信息發(fā)射源,并且正確的使用了相關(guān)的信息發(fā)射源。本項(xiàng)無(wú)法通過(guò)絕對(duì)的客觀指標(biāo)進(jìn)行評(píng)分,需要詢證并給出改進(jìn)建議。
四、寫在最后
這個(gè)模型肯定是有不適用的地方,包括但不限于缺失、錯(cuò)誤等情況,這只是我針對(duì)現(xiàn)在看到的場(chǎng)景進(jìn)行一些思考,以及在實(shí)踐中做的一些嘗試。有問(wèn)題歡迎討論,如果噴我,那么你就是對(duì)的。
在設(shè)計(jì)這個(gè)模型的時(shí)候,我的原則包含了幾項(xiàng):
- 減少對(duì)”技術(shù)動(dòng)作“的要求。比如對(duì)是否開(kāi)站會(huì)、回顧會(huì)等內(nèi)容完全不在意,追到這些事件背后的目的并具有相關(guān)的方案即可;
- 減少對(duì)團(tuán)隊(duì)工作模式的改變。比如團(tuán)隊(duì)氛圍不可以作為直接的要求,團(tuán)隊(duì)與團(tuán)隊(duì)之間就是會(huì)有不同,無(wú)法一刀切。只有當(dāng)其他的指標(biāo)有問(wèn)題,比如”交付周期過(guò)長(zhǎng)“的時(shí)候,才會(huì)將團(tuán)隊(duì)氛圍當(dāng)做考慮因素進(jìn)行思考,并作為改進(jìn)建議提出即可;
- 成熟度評(píng)估不可以過(guò)于頻繁,一般認(rèn)為最少也需要6個(gè)月時(shí)間才可以評(píng)估一次,甚至一年評(píng)估一次也是可以接受的。評(píng)估者與被評(píng)估者都需要明確知道,成熟度目的不是為了評(píng)估而評(píng)估,真正重要的是通過(guò)評(píng)估過(guò)程,得到團(tuán)隊(duì)改進(jìn)的建議。而這些建議的追蹤與改善應(yīng)該交由團(tuán)隊(duì)教練跟蹤與執(zhí)行。
這個(gè)模型肯定有問(wèn)題,比如定量因素太少、定性偏多、訪談偏多導(dǎo)致的評(píng)估時(shí)間過(guò)長(zhǎng)等。這些在對(duì)敏捷團(tuán)隊(duì)成熟度評(píng)估中,目前來(lái)看都是無(wú)法回避或者解決的問(wèn)題,只能在評(píng)估過(guò)程中,逐步將工作交付給團(tuán)隊(duì)級(jí)教練,由團(tuán)隊(duì)級(jí)教練日常追蹤,最后由PMO 或者企業(yè)級(jí)敏捷教練抽查或者評(píng)審即可;這個(gè)過(guò)程中必然會(huì)有弄虛作假,因此一定量的抽查也是有必要的;
該模型本質(zhì)上是從不同層面來(lái)對(duì)團(tuán)隊(duì)進(jìn)行檢查,而這些指標(biāo)最終還是需要結(jié)合團(tuán)隊(duì)實(shí)際情況進(jìn)行修訂,所以評(píng)估成熟度的過(guò)程,本身也是一個(gè)敏捷的過(guò)程。