【本文翻譯自infoq.com】
敏捷宣言是錯(cuò)誤的军援。
沒錯(cuò)织鲸,InfoQ上有一篇文章說敏捷宣言是錯(cuò)誤的包斑。但是請先別著急浮入。我喜歡宣言党瓮,但12項(xiàng)原則之一是錯(cuò)誤的:
可工作的軟件是進(jìn)度的主要衡量指標(biāo)匠童。
Working software is the primary measure of progress.
敏捷宣言袖订,2001
這是錯(cuò)誤的堤器。這種觀點(diǎn)現(xiàn)在是錯(cuò)誤的颖御,在2001年也是錯(cuò)誤的银酬。進(jìn)度的主要度量指標(biāo)應(yīng)該是業(yè)務(wù)結(jié)果嘲更,而不僅僅是可工作的軟件。
順便說一句揩瞪,這條原則與第1條原則相沖突:
我們的首要任務(wù)是通過盡早并持續(xù)交付有價(jià)值的軟件來滿足客戶赋朦。
Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
因此,我們不應(yīng)該評估工作的(working)
軟件李破,而要有價(jià)值的(valuable)
軟件宠哄。這是100%正確的。但是什么是有價(jià)值的(valuable)
嗤攻?我們?nèi)绾味x價(jià)值(value)
毛嫉?
價(jià)值對于不同的人意味著不同的東西,這取決于他們的觀點(diǎn)妇菱。在敏捷項(xiàng)目中承粤,有幾種處理業(yè)務(wù)價(jià)值的技術(shù),包括價(jià)值點(diǎn)(Value Points)闯团,業(yè)務(wù)價(jià)值建模(Business Value Modeling)等辛臊。
但是其中大多數(shù)只是估算,而不是真正的價(jià)值度量標(biāo)準(zhǔn)偷俭,只有在功能發(fā)布之后才能度量浪讳。
2015年1月,Ken Schwaber在描述Nexus時(shí)介紹了他的規(guī)挠坑化敏捷框架:
在我們的案例中淹遵,Nexus是3-9個(gè)Scrum團(tuán)隊(duì),他們基于唯一的產(chǎn)品待辦事項(xiàng)列表工作负溪,以構(gòu)建滿足
目標(biāo)
的集成增量透揣。
In our case, a Nexus is 3-9 Scrum Teams that are working on a single Product Backlog to build an integrated increment that meets agoal
.
但是對于什么是目標(biāo)
以及如何定義目標(biāo)
卻只字未提。
我們需要一種設(shè)定清晰的目標(biāo)的方法川抡,供不同的利益相關(guān)者和團(tuán)隊(duì)共享辐真。
目標(biāo)設(shè)定有什么問題(What is wrong with Goal Setting)
靜態(tài)規(guī)劃(Static Planning)
须尚。這就是我所說的傳統(tǒng)的年度計(jì)劃流程。大家都知道這是怎么回事:公司高管在一個(gè)度假村里進(jìn)行“戰(zhàn)略思考(strategic thinking)”侍咱,并確定了該年度的公司目標(biāo)耐床。然后在接下來的幾周內(nèi),這些目標(biāo)在整個(gè)組織中“串聯(lián)”起來楔脯,為公司制定一個(gè)詳細(xì)而固定的年度計(jì)劃撩轰。
靜態(tài)模型(static model)的假設(shè)是:
- 可以預(yù)先詳細(xì)定義計(jì)劃的所有步驟;
- 絕大多數(shù)計(jì)劃是正確的昧廷;
- 市場情況將基本保持不變堪嫂;
- 計(jì)劃中的變更很小,可能在年中進(jìn)行一次審查木柬,屆時(shí)將創(chuàng)建一個(gè)新的詳細(xì)的靜態(tài)計(jì)劃皆串。
級聯(lián)的比喻本身從字面上指的是一種單向自上而下的現(xiàn)象——瀑布。
相反眉枕,動態(tài)計(jì)劃(dynamic planning)
包含變化恶复,并在增量的、迭代的模型中以較小的計(jì)劃周期工作齐遵。動態(tài)計(jì)劃假設(shè)市場條件和計(jì)劃本身都將發(fā)生變化寂玲。
《黑天鵝》的作者納西姆·塔勒布(Nassim Taleb)喜歡將靜態(tài)模型與克里姆林宮的中央計(jì)劃者進(jìn)行比較,后者制定了自上而下的5年計(jì)劃梗摇,認(rèn)為他們可以預(yù)測未來拓哟。
如果您的團(tuán)隊(duì)正在進(jìn)行一到四周的迭代(或沖刺),離開辦公室與客戶交談伶授,通過經(jīng)過驗(yàn)證的學(xué)習(xí)測試假設(shè)断序,那么您如何才能使用由克林姆林宮設(shè)計(jì)的年度瀑布流程中定義的一組靜態(tài)目標(biāo)呢?
答案是,你不能糜烹。
一定有別的辦法违诗。
Keith R. McFarland在他的MITSloan管理評論文章“ 您應(yīng)該像構(gòu)建軟件一樣構(gòu)建戰(zhàn)略嗎?(Should You Build Strategy Like You Build Software?) ”中寫道:
由于
戰(zhàn)略(strategy)
只能在給定的時(shí)間點(diǎn)上捕獲公司的最佳思想疮蹦,因此诸迟,隨著人們獲得并分配新的經(jīng)驗(yàn)和知識,需要對戰(zhàn)略(如同軟件程序一樣)進(jìn)行完善和改進(jìn)愕乎。
考慮到這一現(xiàn)實(shí)阵苇,完善的戰(zhàn)略制定流程應(yīng)使公司能夠快速、迭代地創(chuàng)建和調(diào)整戰(zhàn)略……并在不斷變化的環(huán)境中分配資源感论。
因此绅项,盡管我們一直在戰(zhàn)術(shù)(tactically)上使用敏捷/精益的思維方式和流程,但我們?nèi)栽谑褂闷俨际降乃季S方式和流程來設(shè)定目標(biāo)比肄。這種情況需要改變快耿。
但我們?nèi)绾尾拍軐?shí)施一種新的方法呢囊陡?McFarland提到了“戰(zhàn)略Scrums(strategy scrums)
”的使用,但是仍然缺少一個(gè)更正式的框架掀亥。讓我們進(jìn)入OKR吧撞反。
OKR:敏捷目標(biāo)設(shè)定框架(OKR: an Agile Goal Setting Framework)
OKR(目標(biāo)和關(guān)鍵結(jié)果)是由英特爾創(chuàng)建并被多家硅谷公司采用的目標(biāo)設(shè)定框架。Google是最著名的案例铺浇,它在創(chuàng)辦第一年就采用了OKR痢畜。Twitter,LinkedIn鳍侣,Dropbox和Oracle等公司也采用了這種技術(shù)。
將Google引入OKR的全明星風(fēng)險(xiǎn)投資家John Doerr提供了設(shè)定目標(biāo)的絕妙方法:
我將完成可供____________衡量的________吼拥。
I will ________ as measured by ____________.
因此倚聚,OKR可以認(rèn)為是一項(xiàng)承諾:
我將完成可供
(這組關(guān)鍵結(jié)果)
衡量的(目標(biāo))
。
I will(Objective)
as measured by(this set of Key Results)
.
因此凿可,一個(gè)OKR包含兩個(gè)組成部分:目標(biāo)(我們要實(shí)現(xiàn)的目標(biāo))和一組關(guān)鍵結(jié)果(我們?nèi)绾沃牢覀兪欠襁_(dá)到了目標(biāo)):
目標(biāo)(Objective)
- 我們想要實(shí)現(xiàn)的目標(biāo)惑折。
- 定性的(Qualitative)。
強(qiáng)烈建議使用能鼓舞人心的目標(biāo)枯跑。沒有人會為了“提高10%的轉(zhuǎn)化率”而興奮的起床惨驶。
關(guān)鍵結(jié)果Key Results(每個(gè)目標(biāo)各一套a small set per Objective)
- 我們?nèi)绾沃牢覀兪欠駥?shí)現(xiàn)了目標(biāo)。
- 定量的(Quantitative)敛助。
- 顯示我們是否在進(jìn)步的成功標(biāo)準(zhǔn)粗卜。
- 度量指標(biāo)或里程碑。
例如纳击,假設(shè)有一家技術(shù)公司希望提高客戶參與度和滿意度续扔,那么他可以制定如下OKR:
目標(biāo):使我們的客戶高興。
關(guān)鍵結(jié)果:
- 重復(fù)訪問:每周每位活躍用戶平均訪問3次焕数。
- 凈發(fā)起人得分達(dá)到90%纱昧。
- 80%的非付費(fèi)(有機(jī))流量。
- 參與度:75%的用戶完成了完整的個(gè)人資料堡赔。
OKR有什么獨(dú)特之處识脆?(What's unique about OKR?)
- 簡潔:為了實(shí)現(xiàn)頻繁的設(shè)定目標(biāo)(英特爾每月設(shè)定一次OKR ),該過程非常簡單善已。OKR本身應(yīng)該是簡單易懂的灼捂。
- 節(jié)奏更短: OKR不使用年度靜態(tài)計(jì)劃流程,而是使用更短的目標(biāo)設(shè)定周期(通常是每個(gè)季度)雕拼,從而實(shí)現(xiàn)動態(tài)計(jì)劃并更快地適應(yīng)變化纵东。
- 開源: OKR是一個(gè)開源框架,公司可以根據(jù)不同的文化和環(huán)境對其進(jìn)行調(diào)整啥寇,從而創(chuàng)建不同的版本偎球。這是一個(gè)很大的好處洒扎,因?yàn)镺KR很容易適應(yīng)。但這一點(diǎn)可能會誤導(dǎo)那些尋找循序漸進(jìn)配方的人衰絮。
- 延伸目標(biāo):將團(tuán)隊(duì)帶出舒適區(qū)域并讓他們重新思考工作方式袍冷,以達(dá)到最高績效的目標(biāo)(了解更多信息)。
- 與薪酬和評估相分離:將目標(biāo)與薪資和晉升脫鉤是關(guān)鍵猫牡,這樣團(tuán)隊(duì)才可能追求艱巨的胡诗、有抱負(fù)的目標(biāo)(閱讀更多內(nèi)容)。
OKR的實(shí)踐(The Practice of OKR)
OKR的主要目標(biāo)是在組織中建立一致性淌友。為此煌恢,透明度是關(guān)鍵。OKR對公司所有級別的人都是公開的——每個(gè)人都可以訪問其他人的OKR震庭。所有的OKR瑰抵,包括CEO的,通常都可以在內(nèi)聯(lián)網(wǎng)上找到器联。
OKR的存在是為了設(shè)定明確的優(yōu)先級并使組織專注二汛。為此,您應(yīng)該沒有幾個(gè)OKR拨拓。每個(gè)個(gè)人或團(tuán)隊(duì)最多只有5個(gè)目標(biāo)肴颊,每個(gè)目標(biāo)最多只有5個(gè)關(guān)鍵結(jié)果——少即是多。
增量渣磷,自適應(yīng)的目標(biāo)設(shè)定(Incremental, Adaptive Goal Setting)
OKR通常具有雙重節(jié)奏:
- 公司的高層目標(biāo)是每年設(shè)定的婿着。
- 團(tuán)隊(duì)和個(gè)人的詳細(xì)增量目標(biāo)設(shè)定為較短的目標(biāo)周期(迭代),通常持續(xù)一個(gè)季度幸海,但也可以只持續(xù)30或45天祟身。
在年初,公司會定義一組高層級OKR(最好是在團(tuán)隊(duì)的幫助下)物独,而無需設(shè)置整個(gè)年度的詳細(xì)計(jì)劃袜硫。
在目標(biāo)周期(goal cycle)
的開始階段,每個(gè)團(tuán)隊(duì)都要回顧上一個(gè)迭代(previous iteration)
的結(jié)果挡篓,然后為下一個(gè)目標(biāo)周期設(shè)置詳細(xì)的目標(biāo)婉陷。在并行過程中,個(gè)人和團(tuán)隊(duì)定義與組織目標(biāo)(organization objectives)
相關(guān)聯(lián)的目標(biāo)(goals)
官研,并由管理者在自底向上和自頂向下的系統(tǒng)中進(jìn)行驗(yàn)證秽澳。
團(tuán)隊(duì)可以從公司的OKRs獲得明確的指導(dǎo),并了解他們?nèi)绾螢閷?shí)現(xiàn)這些目標(biāo)做出貢獻(xiàn)戏羽。約60%的OKRs應(yīng)該由團(tuán)隊(duì)定義担神。
重新評估上一個(gè)循環(huán)中未實(shí)現(xiàn)的目標(biāo),以便將其包含在下一個(gè)循環(huán)中始花,或者如有必要妄讯,將其丟棄孩锡。
水平對齊(Horizontal Alignment)
為了確定OKRs,個(gè)人和團(tuán)隊(duì)互相討論以解決相互依賴關(guān)系并建立水平一致性亥贸。如果團(tuán)隊(duì)需要其他領(lǐng)域的東西躬窜,他們可以討論并設(shè)定共同的優(yōu)先級,甚至可以將計(jì)劃推遲到下一個(gè)目標(biāo)周期炕置。
由于OKR是透明的荣挨,因此如果業(yè)務(wù)的某個(gè)領(lǐng)域與其他領(lǐng)域不一致,則其他團(tuán)隊(duì)可以迅速注意到并修復(fù)該問題朴摊。
加強(qiáng)一致性:共享的OKRs(Reinforcing Alignment: Shared OKRs)
為了加強(qiáng)一致性默垄,可以在不同團(tuán)隊(duì)之間創(chuàng)建共享的OKRs,從而在他們之間創(chuàng)建共享的成功標(biāo)準(zhǔn)甚纲。因此厕倍,與其在團(tuán)隊(duì)之間分配一個(gè)單獨(dú)的計(jì)劃、設(shè)置單獨(dú)的目標(biāo)——這可能導(dǎo)致團(tuán)隊(duì)忽略實(shí)際目標(biāo)——不如在團(tuán)隊(duì)之間創(chuàng)建一個(gè)共享的OKR贩疙。
例如,假設(shè)一個(gè)產(chǎn)品團(tuán)隊(duì)想要發(fā)布一個(gè)新產(chǎn)品况既,他有可能需要平臺團(tuán)隊(duì)開發(fā)新功能这溅,同時(shí)需要業(yè)務(wù)開發(fā)團(tuán)隊(duì)與合作伙伴簽署內(nèi)容協(xié)議。
目標(biāo):成功推出Acme產(chǎn)品
關(guān)鍵結(jié)果:
- 免費(fèi)版本的每日活躍用戶500.000棒仍。
- 從免費(fèi)客戶到付費(fèi)客戶的轉(zhuǎn)化率為8%悲靴。
- 凈發(fā)起人得分為75%。
- 少于5個(gè)嚴(yán)重或阻礙型bug被用戶報(bào)告莫其。
- 與5個(gè)目標(biāo)內(nèi)容合作伙伴取得至少40%的收入份額癞尚。
在團(tuán)隊(duì)之間共享這個(gè)單一的OKR,而不是在沒有期望業(yè)務(wù)成果的情況下單獨(dú)實(shí)現(xiàn)3個(gè)不同的目標(biāo)乱陡。每個(gè)團(tuán)隊(duì)都有不同的任務(wù)浇揩,但具有相同的OKR——相同的成功定義。
在本OKR期間憨颠,將把三個(gè)不同領(lǐng)域的團(tuán)隊(duì)組建為一個(gè)虛擬團(tuán)隊(duì)胳徽,他們將定期開會跟蹤進(jìn)度。
OKR如何補(bǔ)充精益和敏捷(How OKR complements Lean and Agile)
OKR為有效的學(xué)習(xí)帶來了原則(OKR brings discipline to validated learning)
Steve Blank在他的文章中寫道:
使用
商業(yè)模式畫布(Business Model Canvas)
來構(gòu)架假設(shè)爽彤,讓客戶開發(fā)人員走出辦公室來測試假設(shè)养盗,并使用敏捷工程來迭代和增量地構(gòu)建產(chǎn)品。
但是适篙,您如何知道自己是否成功往核?我們認(rèn)為什么是“經(jīng)過驗(yàn)證的假設(shè)(validated hypothesis)
”?我們需要明確的嚷节、共享的成功標(biāo)準(zhǔn)來進(jìn)行有效的學(xué)習(xí)聂儒。所以我要補(bǔ)充:
… 和OKR用來跟蹤您的方向是否正確虎锚。
…and OKR to track if you are going in the right direction.
OKR定義了超越功能的成功標(biāo)準(zhǔn)(OKR defines Success Criteria beyond features)
敏捷項(xiàng)目通常通過其交付功能(帶有“質(zhì)量”)的速率來評估。但是薄货,提供功能但未能實(shí)現(xiàn)預(yù)期業(yè)務(wù)成果的團(tuán)隊(duì)永遠(yuǎn)不會被視為成功翁都。
OKR教練Christina Wodtke關(guān)于“成功”的推文很棒:
成功不是打勾。Success is not checking a box.
成功就是有影響力谅猾。Success is having an impact.
如果你完成了所有的任務(wù)柄慰,卻沒有任何進(jìn)展,那就不是成功税娜。If you complete all tasks and nothing ever gets better, that's not success.
實(shí)際上坐搔,提供不會對所選指標(biāo)產(chǎn)生積極影響的功能(OKR話語中的“關(guān)鍵結(jié)果(Key Results)
”)可能會產(chǎn)生負(fù)收益
:新代碼可能存在錯(cuò)誤,必須加以維護(hù)敬矩,并且產(chǎn)品本身將變得更加復(fù)雜概行。
Marty Cagan對此主題(以及其他幾個(gè)主題)都有一些不可不讀的文章。如果您尚未閱讀他的書和博客弧岳,可以先看看摘要:
這就是為什么我很高興看到OKR的興起凳忙。如果使用得當(dāng),它們可以將這種情況從
輸出(路線圖上的功能)[output (features on roadmaps) ]
轉(zhuǎn)變?yōu)?code>結(jié)果(業(yè)務(wù)結(jié)果)[outcome (business results)]禽炬。
OKR有助于避免“淋浴溫度”問題(OKR helps avoid the “shower temperature” problem)
如果你不停地轉(zhuǎn)動淋浴龍頭涧卵,水永遠(yuǎn)不會達(dá)到你想要的溫度。創(chuàng)新也是一樣腹尖,如果你一直在調(diào)轉(zhuǎn)方向柳恐,你永遠(yuǎn)都不會到達(dá)你想去的地方。
使用較短的目標(biāo)周期(goal cycles)
可以幫助避免該問題热幔。當(dāng)然還是可能會出錯(cuò)乐设,但是正如Zynga前高級產(chǎn)品副總裁Jon Tien在關(guān)于OKR的精彩視頻中所說:
臭狗屎也會有粉絲,但這并不意味著您不應(yīng)該使用相同的原則绎巨。
OKR支持自組織團(tuán)隊(duì)(OKR enables self-organizing teams)
最好的體系結(jié)構(gòu)近尚,需求和設(shè)計(jì)來自自組織團(tuán)隊(duì)。
但是认烁,如何真正實(shí)現(xiàn)自組織團(tuán)隊(duì)呢?
為了擁有一個(gè)由自我管理的團(tuán)隊(duì)組成的扁平的肿男、高度一致的、高度自治的組織却嗡,您必須為組織設(shè)置一個(gè)“正確的方向(True North)
”舶沛。你必須給團(tuán)隊(duì)明確的方向(clear direction)
。
給團(tuán)隊(duì)賦予一組OKR可以做到這一點(diǎn)窗价。
OKR將團(tuán)隊(duì)與企業(yè)及其客戶聯(lián)系起來(OKR connects the team with the business and it's customers)
對于團(tuán)隊(duì)來說如庭,他們很容易迷失在編寫代碼和設(shè)計(jì)的技術(shù)細(xì)節(jié)中。但是,當(dāng)您開始在自底向上的流程中討論業(yè)務(wù)成果(business results)
時(shí)坪它,您會讓團(tuán)隊(duì)成員開始詢問他們?yōu)槭裁匆@樣做骤竹。
如果您一直在談?wù)?code>交付功能(delivering features),您希望團(tuán)隊(duì)如何考慮用戶往毡?或者業(yè)務(wù)蒙揣?
OKR如何補(bǔ)充Scrum(How OKR complements Scrum)
OKR賦予團(tuán)隊(duì)自治權(quán)(OKR gives autonomy to the team)
在一些公司中,產(chǎn)品負(fù)責(zé)人(Product Owner)
被稱為“代理負(fù)責(zé)人(Proxy Owner)
”开瞭,因?yàn)樗?他只是將高層管理人員優(yōu)先考慮的功能列表來回傳達(dá)懒震。您如何賦予他/他管理產(chǎn)品的授權(quán)?您如何確保團(tuán)隊(duì)具有自治權(quán)嗤详?
如果團(tuán)隊(duì)的角色是“交付客戶/管理人員想要的功能”个扰,那將永遠(yuǎn)不會發(fā)生。心態(tài)必須是“團(tuán)隊(duì)的角色是實(shí)現(xiàn)關(guān)鍵結(jié)果中描述的成功標(biāo)準(zhǔn)葱色,并與客戶/管理層達(dá)成一致递宅。讓我們給他們這樣做的自主權(quán)〔哉”
OKR幫助確定產(chǎn)品待辦列表的優(yōu)先級(OKR helps prioritize the product backlog)
即使您必須專注于交付業(yè)務(wù)結(jié)果而不是功能办龄,您仍然必須優(yōu)先考慮產(chǎn)品待辦列表。
但是產(chǎn)品負(fù)責(zé)人/產(chǎn)品經(jīng)理應(yīng)該怎么做呢淋昭?她/他應(yīng)該使用“感知價(jià)值”作為標(biāo)準(zhǔn)土榴,但這仍然是主觀的。OKR可以作為缺失的部分响牛,一個(gè)簡單,清晰的框架來決定要開發(fā)的功能赫段。
正如Cagan關(guān)于產(chǎn)品記分卡(product scorecards)(現(xiàn)在已由OKR取代)寫的那樣:
關(guān)于產(chǎn)品記分卡呀打,我最喜歡的好處之一是,它們通撑大希可以幫助您消除待辦事項(xiàng)列表/路線圖的很大一部分贬丛。如果某個(gè)功能構(gòu)想沒有直接與
產(chǎn)品記分卡(product scorecards)[OKRs]
上最重要的KPI[關(guān)鍵結(jié)果(Key Results)]
聯(lián)系起來,那么它通常不會出現(xiàn)在列表中给涕。
結(jié)論(Conclusion)
我希望這篇文章能夠說明OKR是一個(gè)很好的框架豺憔,可以在多個(gè)方面補(bǔ)充精益和敏捷,從而在團(tuán)隊(duì)之間建立一致并改善溝通够庙。這是一個(gè)輕松恭应、簡單和直接的技巧,只需進(jìn)行一些結(jié)構(gòu)化的對話即可設(shè)定目標(biāo)耘眨。