
作者:Patrick Kua ?領(lǐng)導(dǎo)開發(fā)團(tuán)隊(duì)利用敏捷方法為客戶提供有價值的軟件,他是《回顧手冊:敏捷團(tuán)隊(duì)指南》的作者原文:https://martinfowler.com/articles/useOfMetrics.html
管理層都喜歡指標(biāo),是基于這樣的出發(fā)點(diǎn),“我們需要一個數(shù)字來衡量我們的表現(xiàn)。數(shù)字會關(guān)注人并幫助我們衡量成功?!?雖然本意是好的,但數(shù)字管理會不自覺地導(dǎo)致有問題的行為,并最終有損于更廣泛的項(xiàng)目和組織目標(biāo)。指標(biāo)本質(zhì)上并不是一件壞事,只是經(jīng)常不恰當(dāng)?shù)乇皇褂谩?span style="font-size: 15px;color: rgb(243, 172, 60);">這篇文章展示了管理層對指標(biāo)的傳統(tǒng)使用所引起的許多問題,并提供了解決這些功能障礙的替代方法。
告訴我你如何衡量我,我會告訴你我的行為方式。
——埃利亞胡·戈德拉特
從數(shù)字管理角度查看指標(biāo)的組織遵循如下流程:
- 管理層為從事工作的人制定了一個長期(3-6 個月到1年)的目標(biāo);
- 管理層只傳達(dá)目標(biāo)(根據(jù)商定的指標(biāo));
- 從事工作的人盡其所能達(dá)到目標(biāo)人數(shù)。
這一過程鼓勵出于以下目的對指標(biāo)進(jìn)行裝載:- 指標(biāo)作為目標(biāo)——數(shù)字的指標(biāo)使人們特別容易將其用作傳達(dá)目標(biāo)的唯一手段。告訴人們一個尺度和一個數(shù)字通常比解釋一個復(fù)雜得多的目標(biāo)要容易得多。目標(biāo)通常是一個拍腦門的數(shù)字,一些組織甚至花費(fèi)大量時間來確定該數(shù)字應(yīng)該是多少。
- 指標(biāo)作為績效——有了一個既定的數(shù)字而不是一個明確的目標(biāo),管理人員現(xiàn)在很容易使用相同的衡量標(biāo)準(zhǔn)來跟蹤人們朝著目標(biāo)前進(jìn)的速度。許多組織將這些數(shù)字與個人績效目標(biāo)聯(lián)系起來。
- 指標(biāo)作為最佳實(shí)踐——將指標(biāo)同時用作目標(biāo)和績效衡量標(biāo)準(zhǔn)會導(dǎo)致意想不到的副作用——這意味著該指標(biāo)是實(shí)現(xiàn)目標(biāo)的最佳方法。當(dāng)一個獨(dú)立的團(tuán)體使用數(shù)字目標(biāo)來衡量其他人時,它會對從事工作的人施加更大的壓力,以達(dá)到既定的數(shù)字。由于他們僅根據(jù)該指標(biāo)的績效進(jìn)行衡量,因此他們會盡其所能來實(shí)現(xiàn)該特定指標(biāo)。這意味著沒有其他方法最適合實(shí)現(xiàn)最終目標(biāo)。
裝載具有多種用途的單一指標(biāo)會導(dǎo)致許多問題,尤其是在處理軟件等知識工作時。度量是對一個復(fù)雜得多的屬性的一種簡化,簡化復(fù)雜性的是以忽視真正的最終目標(biāo)為代價的,并以次優(yōu)結(jié)果告終。一位測試經(jīng)理,我們稱她為Mary,每周都會與開發(fā)主管Dan舉行會議?!拔覀兊腻e誤數(shù)量如何了?” 她問他們最近的一次迭代。丹回答說:“我們清除了三個優(yōu)先級為一級的錯誤,修復(fù)了四個優(yōu)先級為二級的錯誤并清除了創(chuàng)紀(jì)錄的十二個優(yōu)先級為三級的錯誤。這周還不錯吧?”瑪麗看著開發(fā)負(fù)責(zé)人,微微搖頭,“很遺憾,我們的客戶報告了五個一級錯誤,六個二級錯誤和十五個三級錯誤。下周你需要更加努力?!?因錯過目標(biāo)而感到憤怒和不知所措的丹離開了會議,想著讓他的團(tuán)隊(duì)再工作一個周末。
在這個非常簡單的故事中,所選擇的指標(biāo)達(dá)到了使會議快速進(jìn)行的好處:在丹報告他的結(jié)果和瑪麗回應(yīng)后,兩個人都很快了解了進(jìn)展。不幸的是,交付有用軟件的隱含目標(biāo)被遺漏了,丹離開會議時提出了一個更可能導(dǎo)致進(jìn)一步軟件問題并拖累軟件質(zhì)量的解決方案。瑪麗陳述她的目標(biāo)的方式給丹施加了壓力,要求他減少錯誤的數(shù)量,這似乎是一個值得欽佩的目標(biāo)。雖然減少錯誤的數(shù)量是一個很好的目標(biāo),但它也導(dǎo)致了一個非常被動的解決方案,丹離開會議時想著該要多努力工作。Mary 提出的問題忽視了更廣泛的目標(biāo),也沒有提出關(guān)鍵問題來幫助指導(dǎo) Dan 和他的團(tuán)隊(duì)解決錯誤存在的根本原因。如果不解決這個根本原因,Dan 和他的團(tuán)隊(duì)注定要終身修復(fù)錯誤。Dan 正在經(jīng)歷單循環(huán)學(xué)習(xí)[1]。單循環(huán)學(xué)習(xí)是對同一問題的重復(fù)嘗試,方法沒有變化,也從不質(zhì)疑目標(biāo)。如果Dan希望擺脫這種惡性循環(huán),他需要做一些不一樣的事情。軟件的不當(dāng)使用使 Dan 偏離了交付有用軟件和提高整體軟件質(zhì)量的最終目標(biāo)。愛因斯坦對精神錯亂的定義似乎很適合這里:“一遍又一遍地做同樣的事情,卻期待不同的結(jié)果。”組織喜歡指標(biāo),因?yàn)樗乖O(shè)定目標(biāo)更容易,并阻止人們質(zhì)疑目標(biāo)背后的目標(biāo)。這導(dǎo)致管理者對組織效率產(chǎn)生錯誤的認(rèn)識。與強(qiáng)大指標(biāo)相關(guān)的強(qiáng)大激勵迫使人們只專注于工作的一部分,而忽略了可能使目標(biāo)更加成功的其他促成因素。組織必須警惕這種積極的破壞性焦點(diǎn),它會導(dǎo)致人們忽視其他重要因素。
即使是敏捷技術(shù)也不能保護(hù)團(tuán)隊(duì)免受因測量和跟蹤錯誤數(shù)字而導(dǎo)致的不良行為的影響。例如,敏捷團(tuán)隊(duì)經(jīng)常使用故事卡[2] 進(jìn)行開發(fā)工作。團(tuán)隊(duì)經(jīng)常在其組織的軟件生命周期中將這些小的工作增量可視化。一個典型的流程可能看起來像這樣,理想的故事流從左到右移動:管理人員和產(chǎn)品管理人員經(jīng)常會問這樣一個問題:“該功能多久可以完成?” 團(tuán)隊(duì)通常選擇將其解釋為編碼完成時,屈服于測試和生產(chǎn)路徑是軟件過程中微不足道和無關(guān)緊要的部分的想法。項(xiàng)目管理則通過提出下述問題進(jìn)一步強(qiáng)化了這種看法:“我們這周完成了多少個故事?” 而不是更好的問題,“我們有信心向最終用戶發(fā)布多少故事?” 或者更好的是,“我們向最終用戶發(fā)布了多少故事?” 再好一些的問題是,“我們的用戶從我們最近的版本中發(fā)現(xiàn)了多少價值?”團(tuán)隊(duì)希望做正確的事情,因此這些問題和指標(biāo)促使開發(fā)人員專注于讓故事開發(fā)完成。讓我們看看過度專注于這個次優(yōu)目標(biāo)的后果:Malcolm 是營銷代表,他總是對開發(fā)人員為他構(gòu)建的產(chǎn)品非常感興趣,因此他會盡可能頻繁地到訪團(tuán)隊(duì)。他經(jīng)常與開發(fā)人員 Dan 交談,詢問他的功能何時完成。Dan,不想讓馬爾科姆失望,他努力專注于完成馬爾科姆提出的任何要求,他知道離Malcolm回來詢問進(jìn)展不遠(yuǎn)了。Dan經(jīng)常對自己說,“這個功能一定非常重要?!?Tim 是團(tuán)隊(duì)的最新的測試人員,經(jīng)常需要與 Dan 等開發(fā)人員聯(lián)系,以了解如何觸發(fā)新開發(fā)的功能。有一天,蒂姆走近丹,“嗨丹!我真的需要你的幫助來了解如何測試你上周完成的這個功能?!?丹,在提供快照的壓力下,“你不能自己做任何事情嗎?我需要完成這個功能,這樣馬爾科姆才能擺脫我的支持。” 對丹的回應(yīng)感到震驚,蒂姆回到他的辦公桌前,等待著。他心想:“除非丹幫我,否則我什么也做不了。”每周都會發(fā)生這種情況,隨著時間的推移,等待測試的故事會越來越多。最終,馬爾科姆召集團(tuán)隊(duì)開會,關(guān)心他兩個月前要求的功能在生產(chǎn)中仍然未能看到。令人驚訝的是,丹說他一個多月前就完成了。蒂姆害羞地回答說:“我無法測試那個故事,因?yàn)槲倚枰さ膸椭?,而他一直忙于其他工作。我不想打斷他?!?/span>
我們可以從這個故事中學(xué)到什么?首先,對 Malcolm 來說重要的是工作流程已經(jīng)完成。盡管馬爾科姆問什么時候可以完成,但他真正想要的是能夠在生產(chǎn)中使用它。我們知道蒂姆沒有完成任務(wù)所需的知識,他的工作以及丹完成更多工作的壓力阻止蒂姆獲得更多知識。最終的結(jié)果是在測試過程中形成了一個惡性循環(huán),一直沒有發(fā)布,而且 Malcolm 不明白為什么他沒有收到他要求的功能。這就是為什么像看板軟件開發(fā)這樣的方法鼓勵 明確的正在進(jìn)行的工作 限制。當(dāng)瓶頸出現(xiàn)時,這些限制迫使人們幫助他人。這些 WIP 限制有助于克服當(dāng)人們用錯誤的個人生產(chǎn)力指標(biāo)而不是交付的整體價值來衡量時出現(xiàn)的不良行為。《精益軟件開發(fā)》一書,強(qiáng)調(diào)衡量端到端結(jié)果的重要性,而不僅僅是過程的一小部分,并提出稱之為“優(yōu)化整體”的原則。優(yōu)化整體意味著確保使用的指標(biāo)不會推動次優(yōu)行為實(shí)現(xiàn)交付有用軟件的真正目標(biāo)。三、更恰當(dāng)?shù)厥褂弥笜?biāo)的指南
鑒于因指標(biāo)使用不當(dāng)而出現(xiàn)的不良行為,這是否就意味著它們沒有立足之地?度量指標(biāo)當(dāng)然有其發(fā)揮空間,只是需要一種不同的方法。使用以下指南可引導(dǎo)你更恰當(dāng)?shù)厥褂弥笜?biāo):
- 明確地將指標(biāo)與目標(biāo)聯(lián)系起來;
- 當(dāng)指標(biāo)停止推動變革時改變指標(biāo)。
3.1 明確地將指標(biāo)與目標(biāo)聯(lián)系起來在傳統(tǒng)風(fēng)格中,管理層決定實(shí)現(xiàn)特定目標(biāo)的最佳措施是什么;然后,管理層根據(jù)該措施設(shè)定目標(biāo);然后,管理層只向從事工作的人闡明這個目標(biāo),通常是用數(shù)字表示。為監(jiān)控目標(biāo)進(jìn)展而選擇的措施與實(shí)際目標(biāo)本身之間的界限很模糊。隨著時間的推移,衡量背后的原因消失了。即便是該指標(biāo)與最終目標(biāo)不再相關(guān),人們卻依然專注于實(shí)現(xiàn)指標(biāo)。度量的一個更合適的用途是確保所選的進(jìn)度度量(指標(biāo)),始終與其目的(目標(biāo))相關(guān)。例如,在軟件開發(fā)的場景中,您可能會看到如下定義的指標(biāo):- 方法必須少于 15 行,一個方法的參數(shù)不能超過 4 個,方法圈復(fù)雜度不得超過 20。
適當(dāng)?shù)厥褂枚攘繕?biāo)準(zhǔn),每一項(xiàng)措施都應(yīng)與其最初的目的明確聯(lián)系起來。當(dāng)前的跟蹤和監(jiān)控機(jī)制必須與其目標(biāo)解耦,并明確目標(biāo)以便幫助人們更好地理解指標(biāo)的意圖。存在于更豐富的上下文中的度量將指導(dǎo)人們?yōu)閷?shí)現(xiàn)目標(biāo)做出更合適、更務(wù)實(shí)并且更有用的決策。缺乏目的,付出的努力意味著人們想方設(shè)法創(chuàng)造性地和系統(tǒng)做游戲,最終將偏離真正的目標(biāo)。- 我們希望我們的代碼不那么復(fù)雜并且更容易改變。因此,我們的目標(biāo)應(yīng)該是編寫具有低圈復(fù)雜度(小于 20 行)的短方法(少于 15 行)。我們還應(yīng)該瞄準(zhǔn)少數(shù)參數(shù)(最多四個),以便方法盡可能保持專注。
將指標(biāo)與目標(biāo)明確聯(lián)系起來,可以讓人們更好地挑戰(zhàn)其相關(guān)性,找到滿足需求的其他方法,并幫助人們理解數(shù)字背后的意圖。如果沒有明確的目的,人們可能會想方設(shè)法,卻無意中違背了隱含的目標(biāo)。例如,許多技術(shù)可能都有助于減少方法長度,但如果不以正確的意圖應(yīng)用則更難閱讀,從而增加整體復(fù)雜性。軟件開發(fā)的本質(zhì)意味著大多數(shù)工作是知識工作,因此很難觀察。監(jiān)控活動(他們坐在電腦前的時間)很容易,但很難觀察他們產(chǎn)生的價值(滿足實(shí)際需求的有用軟件)。人們越遠(yuǎn)離代碼,他們就越難理解所涉及的復(fù)雜性。這意味著,對于離工作最遠(yuǎn)的人來說,要真正了解監(jiān)控目標(biāo)進(jìn)展的最佳措施,即使不是不可能,也是非常困難的。轉(zhuǎn)向更恰當(dāng)?shù)厥褂弥笜?biāo)意味著管理層不能孤立地提出措施。他們不能再自欺欺人地認(rèn)為自己知道監(jiān)控進(jìn)度的最佳方法,并停止執(zhí)行可能與目標(biāo)最相關(guān)也可能毫不相關(guān)的措施。相反,管理層負(fù)責(zé)確保始終保持最終目標(biāo),與最了解系統(tǒng)的人合作,提出最有意義的措施來監(jiān)控進(jìn)度。管理層對于指標(biāo)難以抗拒,因?yàn)樗鼘⒔M織的復(fù)雜性提煉為每個人都能理解的東西,一個數(shù)字。很容易看出一個數(shù)字比另一個更大或更小,或者一個數(shù)字與另一個數(shù)字的距離有多遠(yuǎn)。但是很難看出這個數(shù)字是否仍然相關(guān)。傳統(tǒng)的管理方法喜歡使用這些指標(biāo),因?yàn)樗梢栽趯?shí)現(xiàn)目標(biāo)時輕松溝通?!爸灰_(dá)到這個數(shù)字,我們就會沒事的”。當(dāng)你將一個定性的和高度解釋性的問題(想想生產(chǎn)力、質(zhì)量和可用性)轉(zhuǎn)化為一個數(shù)字時,任何數(shù)字都是相對的和隨意的。5% 和 95% 的代碼覆蓋率可能存在顯著差異,但 94% 和 95% 之間真的存在顯著差異嗎?選擇 95% 作為目標(biāo)有助于人們了解何時停止,但如果需要付出一個數(shù)量級的努力才能獲得最后的 1%,這真的值得嗎?這只是人們必須在他們自己的組織環(huán)境中主觀解決的事情。與目標(biāo)是否實(shí)現(xiàn)相比,查看趨勢提供了更有趣的信息。確定是否達(dá)到目標(biāo)很容易,難的是,管理人員必須與有技能的人一起來完成觀察趨勢的工作,看看他們是否朝著期望的方向和是否以足夠快的速度前進(jìn)。趨勢為隨組織復(fù)雜性而來的績效提供了領(lǐng)先指標(biāo)。當(dāng)趨勢越來越遠(yuǎn)離理想狀態(tài)時,關(guān)注數(shù)字的差距顯然毫無意義。關(guān)注趨勢很重要,因?yàn)樗鼤鶕?jù)有關(guān)實(shí)施的任何更改的真實(shí)數(shù)據(jù)提供反饋,并為組織做出更多反應(yīng)選擇。例如,如果團(tuán)隊(duì)正在遠(yuǎn)離理想狀態(tài),他們可以問問自己是什么導(dǎo)致他們偏離目標(biāo),以及他們可以做些什么。它比簡單地在計(jì)算出數(shù)字之前盡可能多地采取行動要早得多。如果一個團(tuán)隊(duì)發(fā)現(xiàn)自己趨向于理想狀態(tài),他們可以問問自己是什么在幫助他們朝著目標(biāo)前進(jìn),還有什么可以做來加快這個速度。測量團(tuán)隊(duì)鼓勵人們進(jìn)行更多的實(shí)驗(yàn),調(diào)整一件事并觀察它對趨勢的影響,任意的絕對數(shù)字也會造成無助感,尤其是當(dāng)實(shí)現(xiàn)目標(biāo)的進(jìn)展緩慢并且對其他部門或團(tuán)隊(duì)控制之外的公司政策的依賴阻礙了更多進(jìn)展時。趨勢有助于將人們的努力集中在朝著正確的方向前進(jìn),而不是在看似無法解決的差距之間陷入癱瘓。更恰當(dāng)?shù)厥褂弥笜?biāo)需要管理層更多地參與報告和記錄趨勢的變動,因?yàn)閲@團(tuán)隊(duì)建立生態(tài)系統(tǒng)是管理層的責(zé)任。這個生態(tài)系統(tǒng)包括組織的政策、工作安排或計(jì)劃的方式以及團(tuán)隊(duì)和人員的組織方式。這種生態(tài)系統(tǒng)通常對個人付出的努力對趨勢的影響要大得多。管理層應(yīng)該對趨勢感興趣,以觀察變化對這個生態(tài)系統(tǒng)的影響。適當(dāng)使用指標(biāo)會發(fā)現(xiàn)趨勢比絕對數(shù)字更有用。如果沒有正確的趨勢,任意給出的目標(biāo)就沒有多大意義,當(dāng)考慮影響趨勢的因素以及可以采取哪些措施來影響趨勢時,更好的問題會浮現(xiàn),而不是隨意的指出數(shù)字與現(xiàn)實(shí)之間的差距。Thoughtworks 經(jīng)常被要求拯救每次更改需要太長時間的軟件項(xiàng)目。被認(rèn)為很小的改變通常需要一個月以上的時間才能真正完成。這些類型的項(xiàng)目具有一個非常共同的特征——代碼質(zhì)量被視為事后考慮項(xiàng),并且已經(jīng)產(chǎn)生了大量的技術(shù)債務(wù)。典型救援項(xiàng)目的代碼庫充滿了大量代碼異味。在許多領(lǐng)域(如許多并行繼承層次結(jié)構(gòu))中都彌漫著單一的代碼味道的出現(xiàn)頻率很高;其他情況,代碼味道很大,例如一個過大的方法;最壞的情況,代碼異味的出現(xiàn)頻率和程度都很大。解決這些問題中的任何一個一開始似乎都是不可能的,因?yàn)榻鉀Q一個問題的努力是壓倒性的。始終如一地解決單一代碼異味很困難,因?yàn)樗枰⒓赐V菇桓对隽繕I(yè)務(wù)價值。扭轉(zhuǎn)低質(zhì)量的趨勢是唯一的出路,通過棘輪機(jī)制使其成為可能,我的同事 Chris Stevenson 在他的博客文章“使用棘輪機(jī)制修復(fù)損壞的 Windows ”中提到了這個詞。棘輪機(jī)制涉及將代碼分析工具添加到持續(xù)集成的構(gòu)建中,當(dāng)某個指標(biāo)超過某個值時,CI就會失敗。團(tuán)隊(duì)通常都以這種方式作為開始,將其添加到持續(xù)集成構(gòu)建中,以免進(jìn)一步朝著錯誤的方向發(fā)展。在交付其他功能和業(yè)務(wù)價值的同時,逐步解決所選代碼異味的問題,一次一小步。在每次小的改進(jìn)上,團(tuán)隊(duì)都會向下修改指標(biāo)的當(dāng)前值。似乎是一個無法解決的問題,一次被拆成一小塊。棘輪到位以防止向后移動,每一個小的改進(jìn)都會將趨勢推向正確的方向。許多組織使用指標(biāo)來設(shè)定很長一段時間的目標(biāo),通常是 3-6 個月,甚至長達(dá)一年或更長時間。管理人員制定了這個目標(biāo),負(fù)責(zé)工作的人有責(zé)任盡他們所能來實(shí)現(xiàn)這個目標(biāo)。管理層在期末重新審視這一目標(biāo),以評估從事工作的人員。在這個系統(tǒng)中,管理層和員工之間的關(guān)系,說得好聽點(diǎn),可以描述為對抗性的。員工盡其所能實(shí)現(xiàn)目標(biāo),而這隱含的想法是管理層沒有任何的責(zé)任。長時間之后重新審視指標(biāo)的結(jié)果是,未能達(dá)到管理層的目標(biāo)變得越來越不可接受。我聽過經(jīng)理這樣說,“你有整整一年的時間來實(shí)現(xiàn)你的目標(biāo),但你錯過了它?!?跟蹤期越長,失敗的風(fēng)險和成本就會增加。敏捷方法更喜歡較短的審查時間,因?yàn)槿魏涡阅懿罹嗟某杀径驾^低。一周內(nèi)沒有取得足夠的進(jìn)步遠(yuǎn)不如一整年沒有取得足夠的進(jìn)步重要。每周回顧進(jìn)展比一年后回顧進(jìn)展產(chǎn)生更多的選擇,僅僅是因?yàn)橛懈嗟臋C(jī)會做出反應(yīng)和改變。在短短的一段時間(例如一周)之后,你還會獲得更多關(guān)于實(shí)際發(fā)生的事情而不是計(jì)劃內(nèi)容的數(shù)據(jù),這應(yīng)該用于通過使用它來推動變革來影響結(jié)果。組織可以從使用較短的跟蹤周期中受益,因?yàn)樗鼮橹匦乱?guī)劃創(chuàng)造了更多機(jī)會,從而實(shí)現(xiàn)了最大價值。我與一個團(tuán)隊(duì)合作,該團(tuán)隊(duì)每兩周將軟件發(fā)布到生產(chǎn)環(huán)境中。該企業(yè)喜歡定期發(fā)布,因?yàn)檫@樣他們幾乎可以立即使用該軟件。在使用最新版本之后部署的軟件時,該企業(yè)發(fā)現(xiàn)他們擁有足夠的功能,幾乎可以完成新營銷計(jì)劃所需的一切,而這只是他們最初需求的一小部分。與開發(fā)團(tuán)隊(duì)編寫可能永遠(yuǎn)不會使用的功能不同,業(yè)務(wù)選擇了剩余故事的一小部分并開始著手下一個計(jì)劃。適當(dāng)使用指標(biāo)可以在較小的周期內(nèi)跟蹤進(jìn)度,因?yàn)樗峁┝烁嚓P(guān)于項(xiàng)目將來可能會在哪里結(jié)束的信息。跟蹤較小的周期有助于識別趨勢,暫停使組織能夠更明智地識別影響環(huán)境和趨勢的速率/方向。跟蹤更短的周期還可以實(shí)現(xiàn)更多的協(xié)作,因?yàn)樗鼮楣芾韺犹峁┝烁鄥⑴c的機(jī)會。不是簡單地在較大周期結(jié)束時評估人們,而是跟蹤較小周期提供有關(guān)影響趨勢的實(shí)際情況的更多數(shù)據(jù)。3.5 當(dāng)指標(biāo)停止推動變革時改變指標(biāo)如果組織能夠輕松實(shí)現(xiàn)目標(biāo),他們就永遠(yuǎn)不需要指標(biāo)。組織可以改變方向,可以立即達(dá)到目標(biāo)。不幸的是,這在現(xiàn)實(shí)中不會發(fā)生,這就是措施存在的原因,實(shí)現(xiàn)目標(biāo)通常需要更長的時間。正確使用指標(biāo)的第一條準(zhǔn)則將實(shí)際目標(biāo)與為監(jiān)控實(shí)現(xiàn)該目標(biāo)的進(jìn)度而選擇的措施分開。真正的目標(biāo)必須始終明確。準(zhǔn)則#2 和#3,監(jiān)控趨勢并在更短的時間內(nèi),這樣做是為了幫助組織更快地實(shí)現(xiàn)他們的目標(biāo)。它不是通過本章前面描述的單循環(huán)學(xué)習(xí)來實(shí)現(xiàn)的。組織需要的是 Argyris 所說的雙循環(huán)學(xué)習(xí)。適當(dāng)使用指標(biāo)會促使人們質(zhì)疑目標(biāo),并根據(jù)收集的真實(shí)數(shù)據(jù)實(shí)施變革以實(shí)現(xiàn)目標(biāo)。這是雙循環(huán)學(xué)習(xí)的樣子:因每周修復(fù)錯誤而沮喪的開發(fā)人員Dan考慮為什么他要不斷修復(fù)錯誤。在過去的三周里,馬爾科姆報告了許多關(guān)于事情沒有按他預(yù)期工作的問題。他退后一步思考到底發(fā)生了什么,不再關(guān)心他總是被問到的錯誤數(shù)量,而是更多地關(guān)心他為什么要開始處理這些錯誤。當(dāng)?shù)つ闷鹨粋€故事時,他經(jīng)常向馬爾科姆提出很多關(guān)于它應(yīng)該如何運(yùn)作的問題。丹知道馬爾科姆還有其它營銷活動讓他忙碌,也明白馬爾科姆不能坐在他旁邊回答他的問題。丹在交付某些東西方面承受著巨大的壓力,因此他做出了幾個假設(shè)以確保他可以交付一些東西而不是什么都沒有。看著錯誤,Dan 意識到報告的許多錯誤都是基于他不斷做出的那些小假設(shè)。交付某些東西的壓力意味著 Dan 從來沒有第一次就做出正確的東西。當(dāng)?shù)は蝰R爾科姆解釋這一點(diǎn)時,他們同意在每個新故事的開頭坐下來,以確保丹的所有問題在他開始編碼之前都得到解答。他們在第二周嘗試這個,并且報告的錯誤總數(shù)減少了。
雙循環(huán)學(xué)習(xí)需要更多關(guān)于實(shí)際情況的數(shù)據(jù)。較短的周期會產(chǎn)生更多的數(shù)據(jù)點(diǎn),從而更容易看到任何趨勢。這些趨勢提供了對系統(tǒng)當(dāng)前性能的洞察力,應(yīng)該用于引發(fā)對系統(tǒng)中更深層次潛在力量的思考和問題解決,而不僅僅是跟蹤性能測量。實(shí)施真正的變革有助于加速組織實(shí)現(xiàn)其當(dāng)前目標(biāo)。改變?nèi)藗児ぷ鞯南到y(tǒng)通常比關(guān)注個人更努力或更快工作的影響要大得多。在我們的故事中,丹本可以每周花更多時間來嘗試修復(fù)錯誤,但是通過調(diào)整信息流以及馬爾科姆和丹之間的工作關(guān)系,他們使系統(tǒng)變得更加有效。項(xiàng)目的事后分析會在項(xiàng)目完成后進(jìn)行回顧,從中汲取經(jīng)驗(yàn)教訓(xùn),希望將其應(yīng)用于未來的項(xiàng)目或在整個組織中傳播。在項(xiàng)目結(jié)束時進(jìn)行事后分析沒有機(jī)會將這些學(xué)習(xí)實(shí)際應(yīng)用于項(xiàng)目本身。敏捷回顧的意圖有所不同,他們在項(xiàng)目進(jìn)行中尋求改變,在這種情況下,行動比最終產(chǎn)生的影響更大。這些會議為團(tuán)隊(duì)尋找變革機(jī)會創(chuàng)造了機(jī)會,盡管仍然依賴人員和組織來承諾這些變革。當(dāng)組織達(dá)到其目標(biāo)時,就該返回用于實(shí)現(xiàn)目標(biāo)的指標(biāo)了。請記住,如果組織可以立即實(shí)現(xiàn)他們的目標(biāo),則永遠(yuǎn)不需要度量指標(biāo)。定義、跟蹤、監(jiān)控和解釋指標(biāo)需要時間和資源,而這些時間和資源本可以更好地用于實(shí)現(xiàn)新的目標(biāo)。適當(dāng)?shù)氖褂弥笜?biāo),組織需要隨時放棄不再相關(guān)的指標(biāo),而不是保留他們習(xí)慣收集的所有指標(biāo)。你可以通過詢問人們“為什么我們需要收集這個數(shù)字?”來尋找可能過時的指標(biāo)的一些癥狀。一個糟糕的回應(yīng)可能包括:“我們一直都是這樣做的”,或者更糟的是,“這是我們的政策?!?這個問題不一定能區(qū)分解釋不清的目標(biāo)或過時的指標(biāo),因此可能需要多挖掘一些。管理層有責(zé)任確保組織的時間不會浪費(fèi)在收集和維護(hù)不必要的指標(biāo)上。指標(biāo)在組織和團(tuán)隊(duì)中具有目的和地位,它們不能用作思考的替代品。組織也不能認(rèn)為按數(shù)字管理就足以有效地交付軟件。組織必須警惕因指標(biāo)使用不當(dāng)而出現(xiàn)的不良行為。雙循環(huán)學(xué)習(xí)幫助我們理解,在組織學(xué)會更合適地使用指標(biāo)之前,不可能存在關(guān)注個人行為的不同。
通過適當(dāng)使用指標(biāo),組織可以將每個指標(biāo)與每個人都理解的明確目標(biāo)聯(lián)系起來。選擇用于監(jiān)控進(jìn)度的措施必須與目標(biāo)脫鉤,并隨著時間的推移挑戰(zhàn)每個指標(biāo)的相關(guān)性。使用指標(biāo)的組織更恰當(dāng)?shù)乩斫庥^察趨勢的價值,在更短的時間內(nèi)進(jìn)行監(jiān)控以了解個人、管理和組織的影響。更好的使用還意味著經(jīng)常檢查和調(diào)整這些影響,以確保在不斷評估適合度的最終目標(biāo)的背景下趨勢加速、減速和逆轉(zhuǎn)。您可能會發(fā)現(xiàn)以下有關(guān)使用和誤用指標(biāo)的文章很有趣:- Esther Derby 的 Gaming Incentives - 反思人們?nèi)绾尾倏v情況以最大化他們的激勵計(jì)劃。
- Vanity Metrics vs. Actionable Metrics 作者 Eric Ries - 精益創(chuàng)業(yè)布道者,Eric Ries 描述了如何使指標(biāo)更具可操作性以及為了衡量而衡量的危險。
- 速度是殺死敏捷性的 吉姆海史密斯 - 一篇高度相關(guān)的文章,描述了公司如何將速度誤用為指標(biāo)。
- 1:Chris Arygris 和 Donald A. Sch?n 在他們的著作《組織學(xué)習(xí):行動視角理論》中描述了單循環(huán)和雙循環(huán)學(xué)習(xí)的概念。?
- 2:如應(yīng)用的用戶故事中所述:用于敏捷軟件開發(fā)。
玩樂高,學(xué)敏捷,【規(guī)?;艚萋?lián)合作戰(zhàn)沙盤之「烏托邦計(jì)劃」】,2022年3月5-6日登陸深圳,將“多團(tuán)隊(duì)敏捷協(xié)同”基因內(nèi)化在研發(fā)流程中,為規(guī)模化提升研發(fā)效能保駕護(hù)航!!???
企業(yè)組隊(duì)和個人均可報名參加,一起挑戰(zhàn)極客烏托邦