軟件看板之父David Anderson:使用看板方法進(jìn)行項(xiàng)目管理
本文是軟件看板之父David Anderson 博客文章,項(xiàng)目管理系列集錦,由Agilean學(xué)院陳玉毅、張明翻譯,侯伯薇審校。
以下為翻譯正文:
一、使用看板方法管理項(xiàng)目
我是項(xiàng)目經(jīng)理,看板對(duì)我來(lái)說(shuō)意味著什么?
我是項(xiàng)目經(jīng)理,我的組織正在采用Kanban,它對(duì)我意味著什么?以及我應(yīng)該在工作中如何使用看板?在企業(yè)已經(jīng)實(shí)施的看板體系中,你的現(xiàn)有角色并未發(fā)生改變,仍然是項(xiàng)目經(jīng)理。然而,為了在已經(jīng)實(shí)施的看板系統(tǒng)中充分利用可預(yù)測(cè)性和風(fēng)險(xiǎn)管理,你應(yīng)該對(duì)自己的工作進(jìn)行適當(dāng)調(diào)整。我們相信,看板方法的理念和實(shí)踐,會(huì)幫助項(xiàng)目經(jīng)理提升到一個(gè)新的高度。
如何使用看板來(lái)制訂計(jì)劃及排列工作優(yōu)先級(jí)?
通常,項(xiàng)目經(jīng)理們會(huì)問(wèn):“如何使用Kanban來(lái)制訂計(jì)劃,以及排列工作優(yōu)先級(jí)?”當(dāng)然,在項(xiàng)目管理中,還有很多的事情要做,但是這兩件事非常重要。
非常重要的一點(diǎn)是:我們應(yīng)該深刻領(lǐng)會(huì)到,看板方法中對(duì)項(xiàng)目管理產(chǎn)生重大影響的核心實(shí)踐是制訂更明晰的規(guī)則。使用了看板方法之后,項(xiàng)目管理就演變成了一種更好地促進(jìn)和實(shí)施風(fēng)險(xiǎn)管理的活動(dòng)。項(xiàng)目經(jīng)理在整個(gè)項(xiàng)目交付周期中,負(fù)責(zé)制訂各種規(guī)則。這樣一來(lái),項(xiàng)目經(jīng)理的角色,就不僅僅是簡(jiǎn)單的項(xiàng)目管理者了。通常,項(xiàng)目經(jīng)理會(huì)做好多事情,例如:收集并匯報(bào)項(xiàng)目進(jìn)展、組織會(huì)議、制訂計(jì)劃、發(fā)布管理與變更管理等。另外或許還有一些更細(xì)致的工作,諸如:進(jìn)行任務(wù)分配,或者更為直接的命令和控制方法,以達(dá)到完成工作的目標(biāo)。這樣的項(xiàng)目經(jīng)理,實(shí)際是專(zhuān)注于“管人”的,只是在苦苦尋找與特定任務(wù)技能相匹配的人。我認(rèn)為,擁有這種職能的項(xiàng)目經(jīng)理,其角色更像是“項(xiàng)目秘書(shū)”或者“項(xiàng)目協(xié)調(diào)人”。這不是一種創(chuàng)造高價(jià)值的項(xiàng)目管理實(shí)踐。
好的項(xiàng)目管理實(shí)踐應(yīng)該是:有些活動(dòng)能夠輔以自動(dòng)化手段,而且團(tuán)隊(duì)成員應(yīng)該在一些約束條件(或者“規(guī)則”)下進(jìn)行自組織管理。在軍事組織中,這些約束條件,被稱(chēng)作“約定規(guī)則”。以我的經(jīng)驗(yàn)來(lái)看,美國(guó)的軍隊(duì)比企業(yè)更懂得如何授權(quán)。
關(guān)于規(guī)則
所以,我們不再孤立地去談“制訂計(jì)劃”與“排列優(yōu)先級(jí)”。我們更希望項(xiàng)目經(jīng)理以區(qū)別于傳統(tǒng)思維的角度去思考問(wèn)題,同時(shí)也強(qiáng)調(diào)一些細(xì)微差別和更明晰的概念。
在看板方法中,我們探討的是:調(diào)度 (scheduling)、排序(sequencing)、選擇(selection)(即:3S)以及可選項(xiàng)、承諾、產(chǎn)能分配、風(fēng)險(xiǎn)管理與規(guī)避。我們使用預(yù)測(cè)來(lái)替代估算。預(yù)期是建立在概率報(bào)告基礎(chǔ)上的,調(diào)度是基于對(duì)風(fēng)險(xiǎn)承受能力的評(píng)估,與之相對(duì),經(jīng)濟(jì)損失是基于特定成果發(fā)生的概率。我們教給項(xiàng)目經(jīng)理們?nèi)绾谓⒁?guī)則來(lái)管理這些活動(dòng),如何去調(diào)整這些規(guī)則去管理項(xiàng)目的業(yè)務(wù)目標(biāo)和業(yè)務(wù)風(fēng)險(xiǎn)。傳統(tǒng)意義上的“制訂計(jì)劃”與“排列優(yōu)先級(jí)”這些具體的工作,就會(huì)從項(xiàng)目制訂的規(guī)則中分離出來(lái)。計(jì)劃實(shí)際上只是規(guī)則所產(chǎn)生的一個(gè)附屬成果。
收益
在項(xiàng)目管理中使用看板方法能夠改進(jìn)產(chǎn)出物的質(zhì)量,看板方法提高了項(xiàng)目的可預(yù)見(jiàn)性,并改進(jìn)項(xiàng)目可接受的經(jīng)濟(jì)指標(biāo)。整個(gè)項(xiàng)目進(jìn)程更加透明。雖然關(guān)注重點(diǎn)是在規(guī)則的制訂上,但是管理卻得到了改進(jìn)。項(xiàng)目經(jīng)理轉(zhuǎn)變?yōu)橹髯ワL(fēng)險(xiǎn)管理,同樣,風(fēng)險(xiǎn)管理也得到了很好的改進(jìn)。使用看板方法后,項(xiàng)目經(jīng)理為項(xiàng)目團(tuán)隊(duì)和整個(gè)組織,創(chuàng)造了更大的價(jià)值。
二、使用排序規(guī)則制訂計(jì)劃
不排優(yōu)先級(jí),怎么定計(jì)劃?
看板方法中,我們不傾向用“排優(yōu)先級(jí)”一詞,因?yàn)閷?duì)排優(yōu)先級(jí)這件事來(lái)說(shuō),并非是做一兩次然后形成一份按優(yōu)先級(jí)排序的清單那么簡(jiǎn)單,在每個(gè)工作項(xiàng)在看板系統(tǒng)中被拉動(dòng)時(shí),都需要?jiǎng)討B(tài)排優(yōu)先級(jí)??窗宸椒ㄖ?,排優(yōu)先級(jí)不再是一種活動(dòng),而是當(dāng)看板系統(tǒng)中形成拉動(dòng)信號(hào)時(shí),根據(jù)可選工作的風(fēng)險(xiǎn)情況動(dòng)態(tài)決策所產(chǎn)生的結(jié)果。
基于風(fēng)險(xiǎn)評(píng)估進(jìn)行項(xiàng)目排期
由于不再專(zhuān)門(mén)排優(yōu)先級(jí),我們的方式是根據(jù)排序策略來(lái)制訂項(xiàng)目排期。排序策略是基于風(fēng)險(xiǎn)信息的,在項(xiàng)目待辦列表中的每個(gè)工作項(xiàng)要使用某種風(fēng)險(xiǎn)評(píng)估框架進(jìn)行分析(通常是定性分析)。風(fēng)險(xiǎn)的所有維度中,“變化帶來(lái)的市場(chǎng)風(fēng)險(xiǎn)”是最具影響力的一個(gè)。按照這個(gè)維度工作項(xiàng)大致可分成5類(lèi):必須項(xiàng)(Table stakes)、成本縮減項(xiàng)(Cost reducers)、法規(guī)變更項(xiàng)(Regulatory changes)、攪局項(xiàng)或尾隨項(xiàng)(Spoilers或Catch-ups,即跟進(jìn)競(jìng)爭(zhēng)對(duì)手的差異項(xiàng))、差異項(xiàng)(Differentiators)。在我所著的《Lessons In Agile Management: On the road to Kanban》一書(shū)中,對(duì)此進(jìn)行了介紹。這種分類(lèi)方法也可以加入其他可能的類(lèi)別。有時(shí),我也會(huì)加入諸如“誤導(dǎo)類(lèi)”等其他類(lèi)別加以充實(shí)。然而,這里所提到的5類(lèi)是最常見(jiàn)的。要點(diǎn)在于選取與項(xiàng)目相關(guān)的風(fēng)險(xiǎn)維度和分類(lèi)方式。如果項(xiàng)目的交付物是某種客戶可交付產(chǎn)品或服務(wù),并且需要與市面上的類(lèi)似產(chǎn)品或服務(wù)進(jìn)行競(jìng)爭(zhēng)比較,或許所處行業(yè)還會(huì)受法律監(jiān)管,那么這種特別的分類(lèi)方法就會(huì)非常有用。
項(xiàng)目中,如果每個(gè)特性或需求都使用這個(gè)分類(lèi)體系加以分類(lèi),我們就能夠基于風(fēng)險(xiǎn)分類(lèi)設(shè)置不同的策略,并根據(jù)這些策略制訂排期。
必備項(xiàng)(Table stakes)在項(xiàng)目生命周期中沒(méi)有變更風(fēng)險(xiǎn),因此它們可以先開(kāi)始。雖然法規(guī)變更項(xiàng)(Regulatory changes)也是必備項(xiàng),如果沒(méi)有這些項(xiàng)你的項(xiàng)目就無(wú)法完工,但它們需要被單獨(dú)列為一類(lèi),因?yàn)檫@些法規(guī)會(huì)根據(jù)政府和法規(guī)制定者而進(jìn)行調(diào)整和變化。
如果可能,最好將法規(guī)變更項(xiàng)(Regulatory changes)分成在整個(gè)項(xiàng)目生命周期中都不會(huì)變化的項(xiàng)、以及哪些會(huì)因?yàn)楸O(jiān)管審查、申訴、或政府和法規(guī)制定者的變化而受到影響的項(xiàng)。任何可能變化的日期都需要加以注意,以便能夠清楚該項(xiàng)何時(shí)不再受變化影響。例如,如果已知某個(gè)需求會(huì)受到政府換屆選舉的影響,那么就應(yīng)當(dāng)在需求定義中標(biāo)注出選舉的日期。
(如上圖)向上到成本縮減項(xiàng)(Cost reducers)、攪局項(xiàng)(Spoilers)、再到差異項(xiàng)(Differentiators),需求的不確定性的程度就會(huì)發(fā)生變化,所以,需求定義發(fā)生變更或工作項(xiàng)必要性發(fā)生變化的風(fēng)險(xiǎn)隨之升高。我們不希望接手可能會(huì)從范圍中刪除或因重大變故而受影響的工作項(xiàng)。所以這些項(xiàng)應(yīng)當(dāng)推遲到項(xiàng)目更晚些時(shí)候再開(kāi)始。
創(chuàng)建用于排序和產(chǎn)能分配的策略
如果項(xiàng)目不存在提前交付的風(fēng)險(xiǎn),我們就應(yīng)先對(duì)所有的必備項(xiàng)(Table stakes)排序,然后對(duì)所有成本縮減項(xiàng)(Cost reducers)排序,然后是所有的攪局項(xiàng)(Spoilers),最后是差異項(xiàng)(Differentiators)。對(duì)于法規(guī)變更項(xiàng)(Regulatory changes),一旦我們知道它們?cè)陧?xiàng)目交付日期前不再受到變更影響,就要盡快排期。
那些沒(méi)有交付日期提前風(fēng)險(xiǎn)的項(xiàng)目,大多具有自然規(guī)律或與季節(jié)性業(yè)務(wù)或行業(yè)相關(guān),例如,常見(jiàn)于服裝、服飾、時(shí)裝制售行業(yè),或者世界杯或奧運(yùn)會(huì)這種重大體育賽事。所以,如果我們遇到了具有這種性質(zhì)的項(xiàng)目,并且已經(jīng)評(píng)估了變更帶來(lái)的市場(chǎng)風(fēng)險(xiǎn),我們便能夠?yàn)榭窗逑到y(tǒng)的排序工作定義出一條簡(jiǎn)單的策略。具有相同類(lèi)別的工作項(xiàng),比如成本縮減項(xiàng)(Cost reducers),能夠按照任何順序加以完成,因?yàn)闊o(wú)論多么細(xì)致地對(duì)它們進(jìn)行排優(yōu)先級(jí)或排序,都無(wú)法獲得風(fēng)險(xiǎn)管理帶來(lái)的好處。當(dāng)然,前提是因變化導(dǎo)致的風(fēng)險(xiǎn)是我們所專(zhuān)注管理的唯一風(fēng)險(xiǎn)維度(更多風(fēng)險(xiǎn)維度請(qǐng)關(guān)注Agilean公眾號(hào))。通常,我們還會(huì)考慮其他風(fēng)險(xiǎn)維度,所以策略會(huì)比這里所描述的更加錯(cuò)綜復(fù)雜。
如果存在交付期提前的風(fēng)險(xiǎn),尤其對(duì)于商業(yè)產(chǎn)品或服務(wù)類(lèi)的項(xiàng)目,那么我們就應(yīng)當(dāng)對(duì)沖這種風(fēng)險(xiǎn)。根據(jù)戰(zhàn)略與市場(chǎng)定位,最有價(jià)值的當(dāng)屬攪局項(xiàng)(Spoilers)和差異項(xiàng)(Differentiators),因此,我們應(yīng)當(dāng)通過(guò)在看板系統(tǒng)中將產(chǎn)能更多分配給具備更高價(jià)值、更高風(fēng)險(xiǎn)的項(xiàng)來(lái)對(duì)沖交付期提前的風(fēng)險(xiǎn)。
我們可以通過(guò)細(xì)分需求來(lái)使得這種對(duì)沖的方式更容易。如果我們的產(chǎn)品或服務(wù)面向多個(gè)市場(chǎng)細(xì)分或用戶角色,那么每個(gè)需求都應(yīng)當(dāng)標(biāo)記上其所支持的市場(chǎng)細(xì)分或用戶角色。我們應(yīng)當(dāng)讓市場(chǎng)人員根據(jù)他們的傾向性(更多是基于當(dāng)前的市場(chǎng)目標(biāo))對(duì)這些市場(chǎng)細(xì)分和用戶角色排優(yōu)先級(jí)或排序。比方說(shuō),我們希望針對(duì)服務(wù)于青少年來(lái)提升市場(chǎng)占有率,就應(yīng)給青少年這個(gè)細(xì)分或用戶角色更高的優(yōu)先級(jí)。
此外,我們應(yīng)當(dāng)在項(xiàng)目生命周期內(nèi),制定按照一定比例增減產(chǎn)能分配的策略。舉例來(lái)說(shuō),我們希望最開(kāi)始給必備項(xiàng)(Table stakes)分配80%的產(chǎn)能,項(xiàng)目收尾前降至0%,而最初差異項(xiàng)僅分配10%的產(chǎn)能,項(xiàng)目結(jié)束前增長(zhǎng)值80%。這種產(chǎn)能分配會(huì)影響到系統(tǒng)中的看板(信號(hào)),并給出具體的拉動(dòng)信號(hào)來(lái)告訴我們?cè)谌魏谓o定的時(shí)刻應(yīng)當(dāng)拉入哪種需求。
風(fēng)險(xiǎn)是個(gè)多維問(wèn)題
當(dāng)然了,這篇文章中只關(guān)注單一風(fēng)險(xiǎn)維度,而項(xiàng)目風(fēng)險(xiǎn)是多維的。在這個(gè)領(lǐng)域,有太多的知識(shí)需要學(xué)習(xí),有太多的實(shí)踐需要思考。因此,我們的排期策略要遠(yuǎn)比上面描述復(fù)雜得多。例如,我們會(huì)考慮技術(shù)風(fēng)險(xiǎn)。如果某差異項(xiàng)工作項(xiàng)存在技術(shù)風(fēng)險(xiǎn)(以前從未做過(guò),并且不清楚如何來(lái)做),那么我們應(yīng)該制定一條策略,規(guī)定需要將這種類(lèi)工作項(xiàng)拆分為兩部分。拆出的第1個(gè)工作項(xiàng)是用原型判定可行性(或者叫做\”spike\”),安排在項(xiàng)目早期以便及時(shí)為可行性分析提供有用的信息。拆出的第2個(gè)工作項(xiàng)是基于新技術(shù)能力開(kāi)發(fā)高保真特性。這種差異化特性的實(shí)現(xiàn)應(yīng)當(dāng)推遲到項(xiàng)目后期再做。
基于策略的排期勝于傳統(tǒng)的待辦項(xiàng)排優(yōu)先級(jí)
沒(méi)有必要對(duì)項(xiàng)目范圍內(nèi)的每一個(gè)工作項(xiàng)進(jìn)行排序。實(shí)際上相互獨(dú)立的工作項(xiàng)不應(yīng)排序。當(dāng)看板信號(hào)指示有能力開(kāi)始一項(xiàng)工作時(shí),如果制定了一系列基于風(fēng)險(xiǎn)評(píng)估的策略,我們就可以遵循它們來(lái)選擇工作項(xiàng)。這些策略比按優(yōu)先級(jí)排序的項(xiàng)目待辦列表更容易維護(hù),還是一種更強(qiáng)大的風(fēng)險(xiǎn)管理工具。要解釋為什么要制訂某一條策略是件很簡(jiǎn)單的事情,而且當(dāng)環(huán)境發(fā)生變化,也很容易判斷策略是否也需要變更。策略的改變會(huì)立刻反應(yīng)在看板系統(tǒng)中新的工作項(xiàng)選擇決策上。因此沒(méi)必要維護(hù)項(xiàng)目待辦項(xiàng)列表。確保項(xiàng)目范圍內(nèi)的所有工作項(xiàng)在承諾時(shí)得到風(fēng)險(xiǎn)評(píng)估,并且根據(jù)項(xiàng)目經(jīng)理所提倡的風(fēng)險(xiǎn)管理方法對(duì)項(xiàng)目排期策略進(jìn)行維護(hù),這些就是所要做的全部。
總結(jié)
這篇文章,僅僅是給大家一個(gè)關(guān)于使用看板方法進(jìn)行項(xiàng)目管理的初步認(rèn)識(shí),您從中了解到我們?nèi)绾沃朴営?jì)劃,對(duì)工作項(xiàng)排序與選擇工作項(xiàng)。學(xué)習(xí)完整的相關(guān)技術(shù),您可以考慮參加LKU相關(guān)課程。
三、項(xiàng)目預(yù)測(cè)
2008年,看板方法第一次震驚了整個(gè)敏捷社區(qū):它不必使用敏捷專(zhuān)家們大力推崇的一些實(shí)踐,包括帶有時(shí)限的迭代、優(yōu)先級(jí)的概念,甚至可以不使用估算!問(wèn)題來(lái)了,如何才能借助一種不使用估算的模型來(lái)做項(xiàng)目計(jì)劃呢?答案是:使用歷史數(shù)據(jù)或者具有預(yù)測(cè)能力的模型構(gòu)建針對(duì)項(xiàng)目產(chǎn)出的概率預(yù)測(cè)。以下簡(jiǎn)要介紹一種簡(jiǎn)便而常用的模型,可用于對(duì)項(xiàng)目交付進(jìn)度作出預(yù)測(cè)。
項(xiàng)目預(yù)測(cè)的統(tǒng)計(jì)學(xué)支柱
使用看板時(shí),我們可使用兩個(gè)關(guān)鍵的理念進(jìn)行項(xiàng)目預(yù)測(cè),一是看板系統(tǒng)所拉動(dòng)工作的前置時(shí)間分布,二是源自排隊(duì)論的利特爾法則(Little\’s Law)。
前置時(shí)間分布
圖1 前置時(shí)間分布
圖1展示了針對(duì)在看板系統(tǒng)中流動(dòng)的工作項(xiàng)(通常指項(xiàng)目的功能或需求)的前置時(shí)間分布。使用類(lèi)似圖中的歷史前置時(shí)間分布前,我們有必要理解幾個(gè)假設(shè),以確保選擇了正確的數(shù)據(jù)。此外,還必須相信,將來(lái)觀測(cè)到的表現(xiàn)與過(guò)去的相似。對(duì)于流動(dòng)效率低下的工作環(huán)境來(lái)說(shuō),這一點(diǎn)尤其重要。這樣的環(huán)境中,個(gè)體技能和所采用的技術(shù)實(shí)踐對(duì)前置時(shí)間有重大影響,而需求的規(guī)模或者復(fù)雜度沒(méi)有那么大的影響。因此,對(duì)于流動(dòng)效率低下的環(huán)境,可以在更換人員、大幅改變需求捕獲方式和變更技術(shù)工作實(shí)踐的同時(shí),保持觀察到的前置時(shí)間分布不會(huì)受到重大影響。在流動(dòng)效率較高的環(huán)境下,我們要注意保持個(gè)體的技能和經(jīng)驗(yàn)與采集歷史數(shù)據(jù)時(shí)的高度相似,保持工作實(shí)踐與分析和需求開(kāi)發(fā)方法高度相似。這就可以保證我們可以預(yù)期將來(lái)的前置時(shí)間分布會(huì)與現(xiàn)有的數(shù)據(jù)充分一致,從而使用歷史數(shù)據(jù)進(jìn)行可靠的預(yù)測(cè)。
其次,要作出準(zhǔn)確的預(yù)測(cè),需要單一模態(tài)的數(shù)據(jù)。要獲得這樣的數(shù)據(jù)用于前置時(shí)間分布,對(duì)于不同種類(lèi)的工作或不同級(jí)別的風(fēng)險(xiǎn),需要有各自的分布曲線。因此,對(duì)需求進(jìn)行風(fēng)險(xiǎn)評(píng)估,根據(jù)風(fēng)險(xiǎn)類(lèi)型對(duì)歷史數(shù)據(jù)進(jìn)行聚類(lèi)和過(guò)濾,是作出準(zhǔn)確預(yù)測(cè)的關(guān)鍵所在。
再次,要?jiǎng)?chuàng)建最適合自己的分布曲線,要知道應(yīng)該從過(guò)去多久開(kāi)始對(duì)前置時(shí)間直方圖進(jìn)行采樣。這時(shí)候前置時(shí)間趨勢(shì)圖就派上用場(chǎng)了。我們可以觀察趨勢(shì)圖中系統(tǒng)設(shè)計(jì)的變化,關(guān)注平均時(shí)間和數(shù)據(jù)點(diǎn)變差的分散程度。不連續(xù)的點(diǎn)通常反映了系統(tǒng)設(shè)計(jì)的變更(有望是改進(jìn)),如果找到這樣的點(diǎn),只需采集到均值和變差分散程度發(fā)生改變的點(diǎn)即可。換句話說(shuō),我們需要一張能夠反映當(dāng)前狀況且不混有早期數(shù)據(jù)點(diǎn)的數(shù)據(jù)直方圖。還有一種找到這一時(shí)間點(diǎn)的方法,就是監(jiān)控看板系統(tǒng)的流動(dòng)性,尋找流動(dòng)性水平發(fā)生較大變化的日期。這樣的日期可作為制作直方圖時(shí)數(shù)據(jù)采樣的歷史時(shí)間起點(diǎn)。
只要有了針對(duì)項(xiàng)目范圍內(nèi)各類(lèi)風(fēng)險(xiǎn)(服務(wù)級(jí)別)或各類(lèi)工作的直方圖,并假設(shè)項(xiàng)目范圍和需求由工作或者風(fēng)險(xiǎn)的類(lèi)型表示(本系列文章的第二部分已有討論),我們就能應(yīng)用利特爾法則對(duì)項(xiàng)目進(jìn)度作出預(yù)測(cè)。
圖2 利特爾法則
利特爾法則應(yīng)用于看板時(shí),可表述為:離開(kāi)看板系統(tǒng)(所有工作完成后被存檔)的工作項(xiàng)的平均交付速度等于系統(tǒng)中看板的數(shù)量(即WIP限制)除以平均前置時(shí)間。因此,只要我們知道看板系統(tǒng)的WIP限制以及前置時(shí)間的均值,就能計(jì)算出已完成的工作交付所需時(shí)間。
建立進(jìn)度預(yù)測(cè)
圖3展示了在大、中型規(guī)模項(xiàng)目中常用的一種簡(jiǎn)單的三階段模型。該模型在為期短至六周、長(zhǎng)至數(shù)年的項(xiàng)目中已驗(yàn)證有效。模型中的參數(shù)是筆者所選,讀者可更換成適合自己的,不過(guò)三個(gè)階段應(yīng)該足夠。假定時(shí)間軸的前20%為第一階段,流動(dòng)效率相對(duì)較低。接下來(lái)的60%為第二階段,流動(dòng)效率高,一些敏捷專(zhuān)家稱(chēng)這種效率為“超生產(chǎn)力”。在時(shí)間軸上剩下的20%的時(shí)間里,流動(dòng)效率降低。筆者2003年出版的《軟件工程的敏捷管理(Agile Management for Software Engineering)》一書(shū)中首次闡述了該模型。雖然這里描述的概率預(yù)測(cè)方法早于看板方法,但在看板系統(tǒng)的使用過(guò)程中,前置時(shí)間的穩(wěn)定性得以不斷提升,從而提高了預(yù)測(cè)的精準(zhǔn)度。
圖3 三階段項(xiàng)目進(jìn)度預(yù)測(cè)
圖3假設(shè)項(xiàng)目中的需求是同質(zhì)需求。換句話說(shuō),這些需求屬于相同類(lèi)型,具有相同的風(fēng)險(xiǎn)級(jí)別。具體什么意思呢?如果多種需求都通過(guò)同樣的方式(如用戶故事)獲取,則這些需求可視為同質(zhì)需求如果一些需求依賴于供應(yīng)商,而其他的沒(méi)有,那么前置時(shí)間分布中會(huì)有多個(gè)模態(tài)的數(shù)據(jù),因?yàn)楣?yīng)商依賴將會(huì)導(dǎo)致某種延遲,從而影響交付時(shí)間。在這種情況下就不應(yīng)對(duì)所有需求一視同仁,而要對(duì)需求是否具有供應(yīng)商依賴進(jìn)行區(qū)分。所以,我們要從有無(wú)供應(yīng)商依賴的角度,對(duì)需求進(jìn)行標(biāo)記。如此一來(lái),需求就不再同質(zhì),而是分為兩種不同的類(lèi)別,需要分別進(jìn)行估算。
使用產(chǎn)能分配管理需求風(fēng)險(xiǎn)
我們會(huì)按照類(lèi)型將需求劃分為多個(gè)批次,并針對(duì)各個(gè)批次構(gòu)建模擬仿真。例如,對(duì)于如本系列文章第二部分中所描述的調(diào)控性需求,我們將其與項(xiàng)目中非調(diào)控性需求分開(kāi)預(yù)測(cè)。正如第二部分所討論的,調(diào)控性需求一般具有固定的交付日期,并且項(xiàng)目交付日期通常具有法規(guī)效力。一批調(diào)控性需求需要在項(xiàng)目結(jié)束前交付,如此一來(lái),我們可以在看板系統(tǒng)中引入產(chǎn)能分配,在整個(gè)項(xiàng)目的生命周期中以穩(wěn)定的速度拉動(dòng)調(diào)控性需求。
知道了調(diào)控性需求的規(guī)模、交付日期和當(dāng)前的日期,我們就可以計(jì)算出需求平均交付速度。通過(guò)看板系統(tǒng)可以得出拉動(dòng)調(diào)控性需求的前置時(shí)間分布。有了這些參數(shù),就可以計(jì)算出調(diào)控性需求的在制品(WIP)限制數(shù)量。這將成為在整個(gè)看板系統(tǒng)中的產(chǎn)能分配。我們?cè)诳梢暬窗迳显O(shè)計(jì)一個(gè)泳道或者使用不同顏色的卡片用來(lái)標(biāo)記調(diào)控性需求。至此,我們已卓有成效地建立了看板子系統(tǒng),用以按照需要的節(jié)奏來(lái)拉動(dòng)調(diào)試性需求。從現(xiàn)在開(kāi)始,可以確保所有的調(diào)控性需求在交付項(xiàng)目的截止日期之前完成。
是否應(yīng)該對(duì)法規(guī)變更(Regulatory Changes)需求進(jìn)行排序?由第二部分討論可知,這取決于某些這類(lèi)需求是否仍可能發(fā)生變化——原因可能包括游說(shuō)、管理者決策多變或者是政治領(lǐng)導(dǎo)層的變化。如果需求沒(méi)有變化,則從業(yè)務(wù)風(fēng)險(xiǎn)角度來(lái)看,調(diào)控性需求是同質(zhì)的,可以按自己喜歡的順序進(jìn)行拉動(dòng),而不需要對(duì)它們進(jìn)行排序。如果部分調(diào)控性需求仍然有可能改變,則這些需求應(yīng)該推遲到項(xiàng)目的后期。在項(xiàng)目開(kāi)始和早期階段,應(yīng)該對(duì)需求進(jìn)行排序,并且選擇那些已知的比較穩(wěn)定的調(diào)控性需求,而推遲不穩(wěn)定的需求,直到所有不確定因素被消除。
總結(jié)
盡管使用歷史數(shù)據(jù)構(gòu)建前置時(shí)間直方圖、繪制最合適的分布曲線、預(yù)測(cè)項(xiàng)目完成進(jìn)度、建立WIP數(shù)量限制、構(gòu)造產(chǎn)能分配并將分配策略付諸實(shí)踐聽(tīng)起來(lái)都比較復(fù)雜,而且需要對(duì)統(tǒng)計(jì)學(xué)有基本的了解,但這樣進(jìn)行項(xiàng)目計(jì)劃實(shí)際上卻非常高效、簡(jiǎn)便。由于已對(duì)需求進(jìn)行評(píng)估并就風(fēng)險(xiǎn)類(lèi)別進(jìn)行了標(biāo)記,數(shù)小時(shí)之內(nèi)便可建立項(xiàng)目預(yù)測(cè)模型。即便對(duì)于周期超過(guò)1年、成本超過(guò)1000萬(wàn)美元的重大項(xiàng)目,幾個(gè)人花上不到一天的時(shí)間對(duì)必要的數(shù)據(jù)進(jìn)行收集和分析,就能構(gòu)建出可靠、高質(zhì)的預(yù)測(cè)模型。
傳統(tǒng)的決定性的計(jì)劃方式中,需要對(duì)項(xiàng)目中的工作項(xiàng)逐一評(píng)估。相比之下,用本文所介紹的方式做出的概率預(yù)測(cè),通常要準(zhǔn)確得多(與實(shí)際結(jié)果更加接近),同時(shí)構(gòu)建起來(lái)也快得多,成本也大幅減少。概率預(yù)測(cè)的一大好處是,不需要讓專(zhuān)注于客戶所關(guān)心的工作的員工停下來(lái),對(duì)未來(lái)的(經(jīng)常是帶推斷意味的)工作進(jìn)行估算。打斷工作是對(duì)資源的浪費(fèi)。許多看板案例研究都顯示,消除這種打擾之后,項(xiàng)目的交付速度、前置時(shí)間、可預(yù)測(cè)性和質(zhì)量等方面都有大幅改觀。
本文介紹了具有三個(gè)階段的預(yù)測(cè)模型(所謂“Z型曲線”模型)。如果使用LeanKit或者Swift Kanban產(chǎn)品,還可借助蒙特卡羅模擬功能,對(duì)項(xiàng)目的結(jié)果做出更加靠譜的預(yù)測(cè)。預(yù)測(cè)效率更高、成本更低,結(jié)果通常也較傳統(tǒng)的估算、計(jì)劃方法準(zhǔn)確得多??窗逑到y(tǒng)讓預(yù)測(cè)能更廣泛地用于項(xiàng)目風(fēng)險(xiǎn)管理,同時(shí)也讓進(jìn)度管理和產(chǎn)能分配相關(guān)的策略更加清晰,從而確保能較好地把控項(xiàng)目。
四、風(fēng)險(xiǎn)審查與阻礙集群
本部分闡述了項(xiàng)目經(jīng)理如何促進(jìn)風(fēng)險(xiǎn)管理并對(duì)平均前置時(shí)間與前置時(shí)間分布進(jìn)行控制。其重要之處在于確保在第3部分中所描述的預(yù)測(cè)在整個(gè)項(xiàng)目周期內(nèi)是準(zhǔn)確、可信的。以及描述的阻塞項(xiàng)歸類(lèi)技術(shù)最早由Klaus Leopold提出,不僅可以用于管理項(xiàng)目風(fēng)險(xiǎn),還可用于促進(jìn)過(guò)程改進(jìn)。
歸類(lèi)阻塞項(xiàng)(Blockering Clustering)
上圖中的例子是某次阻塞項(xiàng)歸類(lèi)實(shí)踐的輸出。其中這些便簽在使用看板過(guò)程中收集到的一個(gè)月內(nèi)的阻塞項(xiàng)。每個(gè)便簽都記錄了阻塞原因和阻塞天數(shù)。本例中,我們把阻塞歸為外部阻塞和內(nèi)部阻塞,然后再根據(jù)根因做進(jìn)一步歸類(lèi)。
事件風(fēng)險(xiǎn)分析
風(fēng)險(xiǎn) = 可能性 × 影響
上面這個(gè)計(jì)算公式大家一定很熟悉,它屬于經(jīng)典的項(xiàng)目管理知識(shí)。目的是計(jì)算給定的風(fēng)險(xiǎn)事件發(fā)生的嚴(yán)重性。通過(guò)對(duì)阻塞項(xiàng)加以歸類(lèi),我們就能夠得到代入公式所需的信息。如果仔細(xì)查看圖片,你就會(huì)發(fā)現(xiàn),“客戶”(德語(yǔ)為\”kunde\”)這個(gè)阻塞歸類(lèi)影響共130天(德語(yǔ)為\”tage\”),若我們準(zhǔn)確地知道這個(gè)歸類(lèi)的阻塞項(xiàng)總數(shù)(這里貌似有13個(gè)便簽),就能推斷出,由于等待客戶響應(yīng),會(huì)造成平均每個(gè)為此而阻塞的工作所受到的阻塞影響為10天。因此我們就可以知道,風(fēng)險(xiǎn)(顧客拖延)平均對(duì)每個(gè)阻塞項(xiàng)的影響為10天。如果在這段時(shí)間內(nèi),所有我們處理的便簽共有65張,則由于某客戶而導(dǎo)致某便簽被阻塞的可能性為13除以65,即1/5或20%。
客戶拖延的風(fēng)險(xiǎn) = 20% × 10天
因此,阻塞項(xiàng)歸并實(shí)踐使用直接從看板墻上收集到的便簽,便可以直接得到項(xiàng)目的風(fēng)險(xiǎn)計(jì)劃。
風(fēng)險(xiǎn)審查會(huì)議
看板方法第5個(gè)主要實(shí)踐是“實(shí)現(xiàn)反饋循環(huán)”。目前只有三種具體實(shí)踐:每日站會(huì)、服務(wù)交付評(píng)審會(huì)議和運(yùn)營(yíng)回顧會(huì)議。在精益看板《現(xiàn)代管理框架中》,我們?cè)黾恿说谒膫€(gè)具體的反饋循環(huán)實(shí)踐,即:風(fēng)險(xiǎn)審查會(huì)議。而阻塞項(xiàng)歸并則是風(fēng)險(xiǎn)審查會(huì)議中關(guān)鍵的協(xié)作活動(dòng)之一。
過(guò)程改進(jìn)
阻塞項(xiàng)歸類(lèi)的輸出不僅可以預(yù)示出項(xiàng)目風(fēng)險(xiǎn)計(jì)劃,還可以用來(lái)促進(jìn)過(guò)程改進(jìn)。我們可以有針對(duì)性地對(duì)影響更大的延遲源有針對(duì)性地采取風(fēng)險(xiǎn)降低和緩解措施,以圖消除延遲源或顯著降低發(fā)生延遲的可能性及影響。從這個(gè)角度來(lái)說(shuō),阻塞項(xiàng)歸類(lèi)能夠在組織內(nèi)形成某種模型驅(qū)動(dòng)的改進(jìn)和不斷改進(jìn)服務(wù)交付的進(jìn)化過(guò)程。
作者介紹:David Anderson,軟件看板之父,管理咨詢公司 DJAA 的 CEO,國(guó)際看板認(rèn)證機(jī)構(gòu) Lean Kanban University 的核心創(chuàng)始人。擁有近30年的軟件開(kāi)發(fā)行業(yè)經(jīng)驗(yàn),曾在Sprint、摩托羅拉、微軟、Corbis等公司從事軟件開(kāi)發(fā)管理工作,倡導(dǎo)以敏捷方法進(jìn)行項(xiàng)目開(kāi)發(fā)。2005年,他將Kanban方法引入軟件開(kāi)發(fā)流程并取得顯著成效,之后,他將精益與敏捷思想與實(shí)踐更深入地應(yīng)用于IT交付、技術(shù)創(chuàng)新、產(chǎn)品運(yùn)營(yíng)等領(lǐng)域,在深層次催化組織的漸進(jìn)式變革。曾任全球精益Kanban大會(huì)的主席,經(jīng)常應(yīng)邀在知名的國(guó)際會(huì)議上演講。著作包括:《Lessons in Agile Management》、《Kanban》、《Agile Management for Software Engineering》等書(shū)籍。
(責(zé)編/錢(qián)曙光)
友情提醒:David Anderson將于2015年12月21-23日來(lái)華,坐標(biāo)深圳,帶來(lái)\”項(xiàng)目管理進(jìn)階\”的課程,為期三天,由David Anderson和軟件工程與管理專(zhuān)家、中國(guó)第一位KCP與AKT吳穹博士聯(lián)合授課。