亚洲农村老熟妇肥BBBB_无码人妻精品一区二区蜜桃色_精品亚洲AⅤ无码午夜在线观看_中文字幕熟妇人妻在线视频_囯产色无码精品视频免费

當(dāng)前位置: 首頁(yè) > 科技新聞 >

敏捷模式下的研發(fā)產(chǎn)能度量

時(shí)間:2020-02-12 18:25來(lái)源:網(wǎng)絡(luò)整理 瀏覽:
自2011年我初次在敏捷之旅蘇州站分享《敏捷中的度量》以來(lái),對(duì)這個(gè)問(wèn)題的求解就一直9012年末。最近與一些X-Developer試用申請(qǐng)者、


自2011年我初次在敏捷之旅蘇州站分享《敏捷中的度量》以來(lái),對(duì)這個(gè)問(wèn)題的求解就一直9012年末。

最近與一些X-Developer試用申請(qǐng)者、使用者交流,針對(duì)開(kāi)發(fā)者的績(jī)效評(píng)估,需求的分解與度量依然是難點(diǎn)??蛻粽J(rèn)為,如果在需求上無(wú)法做到均勻,那么針對(duì)需求個(gè)數(shù)的統(tǒng)計(jì)就是不公平的,但是要做到需求的均勻,又是一個(gè)難以解決的問(wèn)題。另一些業(yè)界觀點(diǎn)又認(rèn)為,只要拆、拆、拆,最后需求一定會(huì)“接近于均勻”的,但這個(gè)觀點(diǎn)除非有數(shù)學(xué)上的極限證明,或者統(tǒng)計(jì)學(xué)上的回歸分析,只能說(shuō)是一種假設(shè)。

本文利用一些財(cái)務(wù)方法,設(shè)計(jì)并提供了一套完整的敏捷模式下的研發(fā)產(chǎn)能度量方法。

本質(zhì)是經(jīng)營(yíng)方式變化了

為什么從大版本到小版本,版本到迭代,迭代到持續(xù)交付,看似簡(jiǎn)單——不就是縮短交付周期嘛——企業(yè)做起來(lái)如此困難?本質(zhì)是經(jīng)營(yíng)方式變化了。對(duì)制造企業(yè)、零售公司和服務(wù)公司,其管理和凈利潤(rùn)計(jì)算方式都是不一樣的:制造業(yè)的特點(diǎn)是廠房和土地等資產(chǎn)的折舊管理,而零售公司的特點(diǎn)是存貨管理,而服務(wù)公司特點(diǎn)是費(fèi)用管理。

作為軟件公司,其交付模式就代表了最為核心的經(jīng)營(yíng)模式,交付模式變了,經(jīng)營(yíng)管理不變,一切都會(huì)錯(cuò)亂??傮w而言,傳統(tǒng)的以采購(gòu)廠商軟件為主的IT部門,接近于制造企業(yè);研發(fā)中心接近于零售公司,而現(xiàn)在,都在向服務(wù)公司的輕資產(chǎn)轉(zhuǎn)型:比如云服務(wù)費(fèi)用替代硬件折舊成本,研發(fā)成本資產(chǎn)化。

由于并未真正做到完全沒(méi)有存貨(需求積壓),敏捷模式下的度量,更多是借鑒了零售的存貨成本計(jì)算方式,版本制向迭代制的轉(zhuǎn)變,很類似于定期盤存制向永續(xù)盤存制的轉(zhuǎn)變:及時(shí)性的提升。在永續(xù)盤存制的模式下,貨物的每筆收發(fā)都需要記錄和結(jié)存,以隨時(shí)了解企業(yè)的財(cái)產(chǎn)和物資,但加大了會(huì)計(jì)的工作量。對(duì)需求而言,采用迭代的模式,召開(kāi)需求收集會(huì)議更加頻繁,工作量加大,但可以更加及時(shí)地了解和處理需求。所以是不是采取迭代開(kāi)發(fā),需要企業(yè)根據(jù)自己需要的響應(yīng)周期進(jìn)行判斷,甚至可以多種方式并存。

估算要不要做

估算(Estimate)在軟件中是一個(gè)非常有爭(zhēng)議的名詞,因?yàn)楣芾碚呖偸前压浪惝?dāng)作承諾,估算又非常不準(zhǔn)確,所以許多人都想把它“干掉”。然而Estimate還真是一個(gè)會(huì)計(jì)詞匯,應(yīng)收/應(yīng)付往往不一定收/付真實(shí)的帳面價(jià)值,所以會(huì)計(jì)上對(duì)作出估計(jì)。在項(xiàng)目管理中,由于缺少對(duì)估算的實(shí)際調(diào)整,所以導(dǎo)致了偏差,也導(dǎo)致了管理真實(shí)交付周期的困難。

估算真正的困難在于什么呢?在于沒(méi)有依據(jù)。或者說(shuō)許多企業(yè)將估算的實(shí)施弄錯(cuò)了。以下是關(guān)于估算的一道(經(jīng)典)題目,用來(lái)測(cè)試你的理解:

項(xiàng)目經(jīng)理讓開(kāi)發(fā)人員小王估算需求B的開(kāi)發(fā)周期,項(xiàng)目經(jīng)理自己評(píng)估,需要兩天做完,之前小王做過(guò)一個(gè)相似規(guī)模的需求A,用了三天,小王評(píng)估需求B后,認(rèn)為需要五天才能做完,需求B的估算開(kāi)發(fā)周期應(yīng)該是:

a. 三天b. 五天c. 四天d. 兩天

你選擇了什么?


對(duì)估算技術(shù)理解無(wú)誤的話,正確答案是a,三天。因?yàn)檫@是事實(shí)數(shù)據(jù),估算是基于過(guò)去發(fā)生的事實(shí)進(jìn)行評(píng)估,而非主觀想法,或者算平均數(shù)。

研發(fā)產(chǎn)出到底怎么算?

第一段提到,基于需求數(shù)量的產(chǎn)出計(jì)算存在兩個(gè)問(wèn)題:

需求拆分方法的難度;假設(shè)需求規(guī)模的極限是平均值缺乏證明。

基本術(shù)語(yǔ)定義

如果你對(duì)精益系統(tǒng)中的名詞還不太了解,這一節(jié)可以補(bǔ)充背景知識(shí)。主要是三個(gè)關(guān)于時(shí)間的定義:前置時(shí)間、周期時(shí)間和節(jié)拍時(shí)間。

前置時(shí)間(Lead Time)

前置時(shí)間在精益系統(tǒng)中衡量的是訂單響應(yīng)的周期,就是指從接受訂單到交貨成功經(jīng)過(guò)的自然日。舉個(gè)例子,8月30號(hào)接到訂單,9月27號(hào)交貨到用戶手上,前置時(shí)間就是28天。在軟件研發(fā)中,前置時(shí)間是指需求接受到發(fā)布上線過(guò)程中經(jīng)過(guò)的所有自然日。對(duì)需求接受的定義,就是產(chǎn)品/研發(fā)部門與業(yè)務(wù)部門確認(rèn)了這是一個(gè)有效的需求,將會(huì)被開(kāi)發(fā),而不是直接拒絕掉,所以,后面的需求澄清、分析、變更花費(fèi)的時(shí)間,都會(huì)被計(jì)入前置時(shí)間之內(nèi)。

前置時(shí)間是評(píng)估整個(gè)需求響應(yīng)能力的重要指標(biāo),由于業(yè)務(wù)、運(yùn)維都包括在內(nèi),所以它反映的是綜合能力,影響因素也較多,比如,可能各個(gè)環(huán)節(jié)都很快,但手工回歸測(cè)試工作量太大、太慢,整個(gè)前置時(shí)間就會(huì)非常長(zhǎng)。缺少自動(dòng)化能力的公司,不適合采用前置時(shí)間作為評(píng)估指標(biāo)。

周期時(shí)間(Cycle Time)

周期時(shí)間在精益系統(tǒng)中衡量的是生產(chǎn)制造本身“有多快”,所以它統(tǒng)計(jì)的是從開(kāi)始生產(chǎn)到發(fā)貨經(jīng)過(guò)的所有自然日。舉個(gè)例子,9月12號(hào)開(kāi)始執(zhí)行生產(chǎn)計(jì)劃,9月15號(hào)發(fā)出貨物,周期時(shí)間就是三天。對(duì)軟件研發(fā)而言,周期時(shí)間是“進(jìn)入開(kāi)發(fā)”到“準(zhǔn)備發(fā)布”過(guò)程中經(jīng)過(guò)的所有自然日。對(duì)需求開(kāi)始設(shè)計(jì),原則上就是“進(jìn)入開(kāi)發(fā)”了,因?yàn)槊艚莩珜?dǎo)的是設(shè)計(jì)編碼不劃分不同階段。準(zhǔn)備發(fā)布是指向生產(chǎn)環(huán)境的發(fā)布,如果轉(zhuǎn)型迭代前期,業(yè)務(wù)還做不到及時(shí)的驗(yàn)收,也可以把準(zhǔn)備發(fā)布UAT(用戶驗(yàn)收環(huán)境)作為臨時(shí)的終點(diǎn),然后慢慢牽引業(yè)務(wù)融入節(jié)奏。

由于周期時(shí)間去掉了需求澄清、上線部署的影響,所以它是衡量研發(fā)效率的重要指標(biāo)。換句話說(shuō),這個(gè)指標(biāo)不好看,改進(jìn)范圍就在研發(fā)內(nèi)部,包括開(kāi)發(fā)和測(cè)試。

X-Developer對(duì)周期時(shí)間的計(jì)算是針對(duì)某個(gè)需求,從第一次代碼提交時(shí)間到最后一次代碼提交時(shí)間經(jīng)過(guò)的自然日,所以是非常精確的,也是非常及時(shí)的。在試用時(shí)有產(chǎn)品經(jīng)理說(shuō),“我們的需求都是兩周一迭代,不可能出現(xiàn)超過(guò)兩周周期時(shí)間的需求?!钡菙?shù)據(jù)說(shuō)明了,這里就是有一些兩周后針對(duì)這些需求的代碼提交,不管是因?yàn)榕渲媚_本,還是因?yàn)榄h(huán)境切換,還是因?yàn)榭蛻魯?shù)據(jù)導(dǎo)入,它們其實(shí)是沒(méi)有在兩周內(nèi)真正完成的。

節(jié)拍時(shí)間(Takt Time)

節(jié)拍時(shí)間指的是單個(gè)產(chǎn)品生產(chǎn)花費(fèi)的時(shí)間,它衡量的是單位產(chǎn)出的時(shí)間成本。比如說(shuō)周期時(shí)間三天里,共生產(chǎn)出了30件待發(fā)貨產(chǎn)品,節(jié)拍時(shí)間就是1/10天。在軟件研發(fā)里,可以視為一個(gè)時(shí)期內(nèi)需求的平均周期時(shí)間。

節(jié)拍時(shí)間可以度量到任務(wù),并且可以分別度量開(kāi)發(fā)和測(cè)試的任務(wù)。以2018年在某零售銀行的度量為例,我們把周期時(shí)間的度量粒度放在特性上,流動(dòng)效率的度量粒度放在任務(wù)上,這樣一來(lái),當(dāng)特性的周期時(shí)間很短時(shí),看任務(wù)流動(dòng)性可以評(píng)估規(guī)模。

這種度量方式完美解決了需求顆粒度不均勻的問(wèn)題,在此基礎(chǔ)上我們定義出了一條公式:

研發(fā)產(chǎn)能 = 需求個(gè)數(shù) * 周期時(shí)間

這條公式背后的思想是:凡是加減法搞不定的計(jì)算,用乘法搞定。

然而偉大的會(huì)計(jì)準(zhǔn)則早就給出了更完善的解決辦法,它們叫:平均成本法、先進(jìn)先出法、后進(jìn)先出法和個(gè)別辯認(rèn)法。具體就不展開(kāi)了,我們借鑒會(huì)計(jì)存貨成本計(jì)算直接給出不同辦法的計(jì)算方式與適用模式。

平均周期時(shí)間法 ACT - Average cycle time

平均周期時(shí)間法下的研發(fā)產(chǎn)能計(jì)算使用所有需求交付的平均周期時(shí)間作為第二個(gè)計(jì)算因子?!八行枨蟆钡姆秶梢愿鶕?jù)情況設(shè)定在項(xiàng)目?jī)?nèi)、團(tuán)隊(duì)內(nèi)甚至跨團(tuán)隊(duì)。其實(shí)主要取決于你現(xiàn)在有多少事實(shí)數(shù)據(jù)。

研發(fā)產(chǎn)能 = 需求個(gè)數(shù) * 平均周期時(shí)間

每一次需求發(fā)布上線,平均周期時(shí)間都會(huì)發(fā)生一次變化,所以如果采用的是所有的歷史平均成本的話,又可以稱之為移動(dòng)平均法。平均法的優(yōu)點(diǎn)是計(jì)算簡(jiǎn)單,缺點(diǎn)是如果團(tuán)隊(duì)發(fā)生較大的變化,平均周期時(shí)間會(huì)不準(zhǔn)確,比如說(shuō),三個(gè)月前是大版本制,需求的周期時(shí)間全是三個(gè)月,現(xiàn)在是兩周一迭代了,平均一下,還是兩個(gè)月,難以及時(shí)捕捉改進(jìn)。所以就有了接下來(lái)的方法。

先進(jìn)先出法 FIFO - First in, first out

制定一個(gè)評(píng)估時(shí)間段,將這個(gè)時(shí)間段開(kāi)始的部分的平均周期時(shí)間作為計(jì)算因子。

研發(fā)產(chǎn)能 = 需求個(gè)數(shù) * 初期平均周期時(shí)間

舉個(gè)例子,某公司從2019年7月開(kāi)始改進(jìn),希望在三個(gè)月內(nèi)看到效果。根據(jù)先進(jìn)先出法:

在2019年7月,取2019年5月的平均周期時(shí)間作為因子計(jì)算研發(fā)成本在2019年8月,取2019年6月作為因子計(jì)算研發(fā)成本,以此類推……在2018年9月,因?yàn)橛?jì)算因子是2019年7月,就可以評(píng)估改進(jìn)的效果了。

后進(jìn)先出法 LIFO - Last in, first out

與先進(jìn)先出法不同的地方是,取評(píng)估周期的末期,即與當(dāng)期最近的一個(gè)時(shí)間段作為計(jì)算因子。

研發(fā)產(chǎn)能 = 需求個(gè)數(shù) * 末期平均周期時(shí)間

例:在2019年7月,取2019年6月的平均周期時(shí)間作為因子計(jì)算研發(fā)成本。后進(jìn)先出法能夠更及時(shí)地發(fā)現(xiàn)改進(jìn),但缺點(diǎn)是時(shí)間太近,可能改進(jìn)真的不明顯,也不太能說(shuō)明問(wèn)題。

個(gè)別辨認(rèn)法 SI - Specific identification

個(gè)別辯認(rèn)法是針對(duì)每個(gè)需求都統(tǒng)計(jì)出周期時(shí)間然后相加。

研發(fā)產(chǎn)能 = Sum(需求周期時(shí)間)

這種方法適用于在每個(gè)周期內(nèi)完成的需求數(shù)量少、需求顆粒度大,并且特別不衡量的情況。比如剛開(kāi)始改進(jìn)時(shí),7月,當(dāng)期就可以采用個(gè)別辨認(rèn)法,對(duì)每個(gè)需求的周期時(shí)間進(jìn)行統(tǒng)計(jì)和計(jì)算。例:7月共完成3個(gè)需求,周期時(shí)間分別是12天、18天、24天,那么研發(fā)產(chǎn)能就是54天。

這時(shí)候可能很多讀者會(huì)問(wèn)了,如果需求個(gè)數(shù) * 周期時(shí)間等于產(chǎn)能,那是不是需求個(gè)數(shù)等于周期時(shí)間的時(shí)候,團(tuán)隊(duì)的產(chǎn)能利用就達(dá)到最大化了?團(tuán)隊(duì)是不是可以輕易地作弊了?還有就是,如果我們縮短了周期時(shí)間,那在這個(gè)計(jì)算公式里,產(chǎn)能豈不是下降了?以下我們就來(lái)求解一下。

關(guān)于產(chǎn)能公式的評(píng)估

比如某團(tuán)隊(duì)利用FIFO方法評(píng)估,初期周期內(nèi)交付n個(gè)需求,周期時(shí)間為t,現(xiàn)在周期時(shí)間縮短為 t-x,那么如何評(píng)估產(chǎn)能是上升還是下降了呢?我們先假設(shè)產(chǎn)能不變,即:

nt = n'(t-x) => n' = nt/(t-x)

即在縮短周期時(shí)間的情況下,如果團(tuán)隊(duì)保持現(xiàn)有產(chǎn)能不變,應(yīng)交付 nt/(t-x) 個(gè)需求。那么就分為以下三種情況:

n' < nt/(t-x) 說(shuō)明團(tuán)隊(duì)產(chǎn)出有所下降,需求變小了,但交付容量沒(méi)有增加n' == nt/(t-x) 說(shuō)明團(tuán)隊(duì)產(chǎn)能未有改善,需求多做了一些,但每個(gè)需求更小了n' > nt/(t-x) 說(shuō)明團(tuán)隊(duì)的產(chǎn)能提升了,需求不但做得快,而且做得更多了

舉個(gè)例子,團(tuán)隊(duì)過(guò)去做 5 * 30 個(gè)需求量,現(xiàn)在做 5 * 20 個(gè)需求量,產(chǎn)能是下降了;但現(xiàn)在做 10 * 20 個(gè)需求量,產(chǎn)能是增加了。當(dāng)團(tuán)隊(duì)達(dá)到 15 * 15 = 225 的“近似最大化”時(shí),不代表就無(wú)法改進(jìn)了,因?yàn)?16 * 15 = 240 就叫產(chǎn)能提升。

精益模式下的度量升級(jí)

簡(jiǎn)單說(shuō),敏捷看節(jié)奏,精益看流動(dòng)效率——不止是速率,還要看浪費(fèi)。度量公式升級(jí)如下:

研發(fā)產(chǎn)能 = 需求個(gè)數(shù) * 周期時(shí)間 - 浪費(fèi)

浪費(fèi)的計(jì)算為每個(gè)需求在周期時(shí)間內(nèi)的間隔等待時(shí)間超過(guò)1天的累計(jì)自然日。比如說(shuō)某個(gè)需求在等待狀態(tài)下停留了2天,浪費(fèi)時(shí)間為 2-1 = 1 天。

X-Developer對(duì)浪費(fèi)的計(jì)算是代碼提交間隔超過(guò)1天的累計(jì)自然日,比如說(shuō)9月1號(hào)提交了代碼,9月2號(hào)未提交,9月3號(hào)提交了,累計(jì)浪費(fèi)計(jì)為0;如果9月3號(hào)也未提交,累計(jì)浪費(fèi)就開(kāi)始計(jì)為1,以此類推。這種計(jì)算方式的好處是,不但捕捉到真實(shí)的研發(fā)活動(dòng)數(shù)據(jù),而且可以加快真正的持續(xù)集成節(jié)奏。因?yàn)橹挥写a被提交到倉(cāng)庫(kù),集成部署才可能開(kāi)始工作,可交付的軟件這時(shí)才被構(gòu)建出來(lái)——無(wú)提交,無(wú)產(chǎn)出。

這一產(chǎn)能度量的方法是場(chǎng)量科技首創(chuàng)(如有雷同,實(shí)屬巧合),也在X-Developer商業(yè)版中率先實(shí)施。在社區(qū)版的應(yīng)用中,我們發(fā)現(xiàn)許多團(tuán)隊(duì)都尚未實(shí)施最基本的代碼提交規(guī)范(注釋中包含需求編號(hào)),希望能夠?qū)嵤┢饋?lái),因?yàn)檫@不但是眾多大廠(微軟、Google、Facebook、阿里……),也是許多開(kāi)源項(xiàng)目(Jenkins、Spark……)的基本規(guī)范,它不但可以幫助團(tuán)隊(duì)縮短解決問(wèn)題的時(shí)間(快速回溯需求到代碼),還可以在數(shù)據(jù)驅(qū)動(dòng)的時(shí)代給予科學(xué)的反饋與指導(dǎo)。



場(chǎng)量科技專注于產(chǎn)品研發(fā)效能領(lǐng)域的探索與實(shí)踐,我們提供具備行業(yè)前瞻性的產(chǎn)品、解決方案、培訓(xùn)和資訊服務(wù),幫助客戶在高度不確定性領(lǐng)域低風(fēng)險(xiǎn)完成探索。

推薦內(nèi)容