?市占率遙遙領(lǐng)先的SAFe一直以來飽受爭議磁浇。本文試著把對SAFe的批評聲分類辨析髓棋,尋找對轉(zhuǎn)型實施的啟示翻默。
1????批判之:SAFe不是敏捷
典型代表:SteveDenning的UnderstandingFake Agile辆童。Denning此文提出了一個“敏捷三定律”:
1-客戶法則:專注于為客戶提供價值是組織的全部目標隧期。
2-小團隊法則:假設(shè)所有工作都由小型自組織團隊進行飒责。
3-網(wǎng)絡(luò)法則:努力消除官僚主義和等級制度,使公司作為一個互動網(wǎng)絡(luò)運作仆潮。
定律2宏蛉,3結(jié)合在一起,形成一個業(yè)內(nèi)很有影響的一個觀點:規(guī)男灾茫化的挑戰(zhàn)在于如何將大型系統(tǒng)/組織”去規(guī)氖安ⅲ化”,以使小型自組織鹏浅、以客戶中心的團隊可以駕馭嗅义;而非“規(guī)模化敏捷性”篡石。這實質(zhì)與LeSS所提倡的“去規(guī)慕胬化”類似,也是SAFe與LeSS在在規(guī)幕巳化道路上分道揚鑣的一個基本點:SAFe的設(shè)計則是為大型復雜組織而生继控,并不強調(diào)”去規(guī)模化“胖眷,而是設(shè)計了一系列適應(yīng)不同復雜程度的體系(4種配置方案)來適應(yīng)組織需求武通,與Denning的敏捷三定律不是一種思路。
這里選取一些與小團隊法則/網(wǎng)絡(luò)法則一致的一些具體的批評聲音珊搀。
Ron Jeffries:
SAFe過于強調(diào)Topdown冶忱。重要的東西在Portfolio層面搞清,features在Program層面定義…
Marty Cargen:SAFe是自上而下的管控境析。上層的人(產(chǎn)品經(jīng)理囚枪、架構(gòu)師…) 做所有的關(guān)鍵決策,然后產(chǎn)品負責人給工程師團隊分配工作… 團隊只負責執(zhí)行
Chris Matts:
?- Epic-Story的結(jié)構(gòu)適應(yīng)并固化了組件型團隊, 以及自上而下的“計劃者”和“執(zhí)行者”的分離劳淆。
這部分批評中链沼,ChrisMatts的“Epic-Story的結(jié)構(gòu)適應(yīng)并固化了組件型團隊”所描述的情形并不符合SAFe的設(shè)計(Story的定義需基于客戶價值),這里不作進一步討論沛鸵;其他的幾條類似括勺,都是批評SAFe有自上而下的結(jié)構(gòu)缆八,這與傳統(tǒng)敏捷愛好者“所有工作都由小型自組織團隊進行”的期望不符。
Chris Matts:
?- SAFe聚焦于識別疾捍、計劃工作并適應(yīng)現(xiàn)存依賴奈辰。Agile方式則是組織團隊和工作、最大程度避免依賴乱豆。
?- ART提倡同步奖恰、標準化、一致性…適配其共同開發(fā)宛裕、發(fā)布的需要房官;而這種需要又增加了協(xié)調(diào)工作量…大規(guī)模系統(tǒng)應(yīng)依賴異步性…向每個團隊獨立發(fā)布的方向演進
Ron Jeffries:
- 單個團隊成為真正敏捷團隊、具備良好工程實踐之前续滋,不是引入這套復雜流程的時候(US DoD, James Grenning有相似評論)
這部分批評大致集中于SAFe的協(xié)調(diào)孵奶、同步機制立足點是管理依賴和同步疲酌,而并未強調(diào)去規(guī)模化思想所期望的消除依賴了袁。
以上批評聲音對大型組織敏捷化的期望可以歸結(jié)為:轉(zhuǎn)型應(yīng)該聚焦于使敏捷團隊能夠獨立自主交付客戶價值朗恳,這樣就不太需要自上而下的管理結(jié)構(gòu),也不會有太多的協(xié)調(diào)需求载绿;那么SAFe這種較重的機制設(shè)計就不需要了粥诫。
網(wǎng)狀結(jié)構(gòu)組織的本質(zhì)是去中心化的大規(guī)模自組織,一個個能夠獨立交付的自組織團隊成為互聯(lián)的節(jié)點崭庸,因為自主所以擅長捕捉機會并把信息傳遞給網(wǎng)絡(luò)的其他部分怀浆、從而使整個組織能夠靈活應(yīng)對變化,這是一種激動人心的組織形式怕享。但是执赡,大產(chǎn)品開發(fā)是否能全面地去規(guī)模化到小型自組織團隊可以獨立承擔價值交付函筋?大型網(wǎng)狀組織的成功案例沙合,比如美國的Morning Star, 荷蘭的Buurtzorg,讀來令人激賞跌帐,但其所需的協(xié)作緊密程度與復雜軟件是不同的首懈。這種結(jié)構(gòu)需要哪些前提,以及這些前提在大型軟件產(chǎn)品中是否普遍可得谨敛,還需要更多觀察和研究究履;這個方向值得多嘗試,但把它作為唯一答案佣盒,至少是為時尚早挎袜。為什么呢?
小團隊法則所推薦的團隊組織形式可以看作一種“逆分工化”。社會化分工伴隨工業(yè)革命而來盯仪,分工帶來的效率提高促進了工業(yè)發(fā)展紊搪,這使“分工化”成為一種思維定式,軟件產(chǎn)業(yè)也深受其影響全景。然而分工同時也帶來了整合成本的提高耀石,這在軟件產(chǎn)品中尤其突出——傳統(tǒng)的分工思維通常導致軟件產(chǎn)品中的分工過度。我們用一個簡單的系統(tǒng)動態(tài)表達爸黄。
圖1 分工的兩個影響
所以滞伟,跨職能團隊實質(zhì)上是對分工過度的一種糾正。
然而跨職能團隊是否應(yīng)該做到端到端全覆蓋炕贵?延續(xù)上面動態(tài)圖梆奈,我們用下圖來分析分工粒度與成本之間的關(guān)系。一般而言称开,分工細致程度帶來的領(lǐng)域內(nèi)效率提升(也即成本降低)有其極限亩钟,如下圖中藍色曲線所示:但它所帶來的整合成本趨向于以指數(shù)形式增加,因為溝通渠道以指數(shù)級數(shù)增長(圖中黃線)鳖轰。那么分工細致程度與總的人力成本之間關(guān)系如下圖中紅線所示清酥。
所以,分工粒度有其甜區(qū)蕴侣,而不一定是“全棧團隊”(除非是中小型焰轻、人員較穩(wěn)定的產(chǎn)品,模塊生產(chǎn)成本可以大致拉平)昆雀;客戶需求往往還是需要多個團隊的協(xié)調(diào)一致辱志,多團隊的統(tǒng)一優(yōu)先級管理仍屬必要。
圖2 分工粒度與成本關(guān)系
關(guān)于網(wǎng)絡(luò)法則狞膘,JohnKotter認為荸频,成功的初創(chuàng)公司天生更接近網(wǎng)絡(luò)結(jié)構(gòu)。然而公司一旦渡過初創(chuàng)階段客冈,總是會為效率優(yōu)化旭从,為效率優(yōu)化的結(jié)果是產(chǎn)生層級結(jié)構(gòu)(另文分析此問題:驅(qū)動組織演進的心智模式)。
Kotter認為層級結(jié)構(gòu)有其價值场仲,全部去除未必理智和悦,于是提出了“第二操作系統(tǒng)”的概念:保留層級結(jié)構(gòu)的同時,引入一個善于創(chuàng)新渠缕、善于捕捉戰(zhàn)略機會的網(wǎng)狀結(jié)構(gòu)鸽素。
SAFe借鑒了這種思路,把基于價值流組織的產(chǎn)品研發(fā)體系作為“第二操作系統(tǒng)”亦鳞,因為背后的管理層級無需改變馍忽,所以第二操作系統(tǒng)可以按照業(yè)務(wù)需求迅速重組棒坏。
SAFe的第二操作系統(tǒng)并沒有革傳統(tǒng)組織的命,然而對大型組織而言它往往是一種簡化遭笋。例如坝冕,我做過的一個SAFe案例,敏捷發(fā)布火車獲得了比傳統(tǒng)團隊大得多的獨立性瓦呼,產(chǎn)品經(jīng)理對能夠直接驅(qū)動團隊很滿意喂窟,因為之前優(yōu)先級的確定往往需要在業(yè)務(wù)側(cè)經(jīng)歷費時費力的流程,現(xiàn)在產(chǎn)品經(jīng)理可以自己決定央串。
第二操作系統(tǒng)的概念并不意味著層級權(quán)力結(jié)構(gòu)不做任何調(diào)整磨澡,否則“第二操作系統(tǒng)”的運作可能受到比較大的制約,極端情況甚至會是完全的新瓶裝舊酒(比如质和,原先的組件組織重命名為敏捷發(fā)布火車)稳摄。但公平地講,這種“假轉(zhuǎn)型”無關(guān)你選擇了什么框架饲宿,而在于組織是否有變革的決心秩命、變革推動者是否理解轉(zhuǎn)型的目的。
我想褒傅,組織變革跟產(chǎn)品研發(fā)有一點相似之處:都要追求效費比。如果能以不是太大的投入袄友、基本可控的風險換取比較明顯的效果殿托,這會是一個顯著優(yōu)勢。我認為這正是SAFe的特點:它是實用品而非藝術(shù)品剧蚣,其優(yōu)先關(guān)注點是企業(yè)的現(xiàn)實問題而不是“敏捷”本身支竹。傳統(tǒng)敏捷愛好者期望的去規(guī)模化網(wǎng)狀組織是路途遙遠的遠方鸠按,路上風險難以逆料礼搁。SAFe則更看重提供一個基于企業(yè)現(xiàn)狀的、相對簡化的目尖、現(xiàn)在就可以見到效果的機制馒吴,是一種改良而非革命。
2????批判之:SAFe過于繁重
先看一些批評的聲音瑟曲。
Al Shalloway:SAFe的復雜已經(jīng)遠超所需饮戳。。洞拨。
Mike Cohn 做了個“l(fā)afable”網(wǎng)站扯罐,嘲笑SAFe的復雜
Bob Galen: SAFe太龐大、遠離了simplicity烦衣;太多角色歹河、層次掩浙、flow …
Luca Minudel: 所有敏捷框架都“故意不完整”并提供通用指導,以促進進化秸歧。SAFe則太預定厨姚、標準化、強制化寥茫。
Ron Jeffries: 2天的會議定10周的計劃是BPUF (Big Plan Up Front)
這些批評背后是一種特別多人認可的理念:框架要盡量簡單通用遣蚀,并提供原則讓用戶去演進他們的方案。我們可以看到這里面有一種對優(yōu)雅的追求纱耻。
SAFe則是一種不同的范式芭梯,它試圖為盡可能多的常見問題提供具體的答案——這仍然體現(xiàn)了它作為實用品的特點。比如ART層的角色弄喘、職責玖喘、活動設(shè)計,需求管理層級結(jié)構(gòu)蘑志,等等累奈,都提供了具體、細致的定義急但。
實際上澎媒,我認為提供完整的指導和工具箱正是SAFe成功的原因之一。這有點像實例化需求中的一個實例波桩,具體而容易把握戒努。針對你的場景而言,SAFe提供的答案很可能不是最好或者不完善镐躲,但這些參考答案有兩個很重要的價值:
第一储玫,?你知道了有哪些問題需要回答。有時候這比答案本身更重要萤皂。
第二撒穷,?有了參考答案,你能更快地找到更好的答案裆熙。
沒有參考答案, 你自己也可能琢磨出來端礼,學習效果還更好,只是要花費更多時間成本入录。而時間是最貴的齐媒。
前文提到對SAFe有很多批評的Steve Denning前些天發(fā)了一篇對VOLVO的訪談,從中摘取部分問答:
Denning: “批評者認為SAFe有自上而下纷跛、命令與控制的特質(zhì)喻括,其實施與敏捷心態(tài)很難合拍。但從你的描述來看贫奠,沃爾沃汽車對SAFe的體驗很好唬血?”
VOLVO: “…規(guī)耐化環(huán)境下實施敏捷需要很多的系統(tǒng)性思考和紀律…如果沒有某種框架和層級結(jié)構(gòu)來輔助我們做決定、輔助我們排序優(yōu)先級拷恨,老實說脖律,我不知道怎么實施規(guī)模化敏捷腕侄。重要的是小泉,我們的方式是開放、透明的冕杠,環(huán)境是信任微姊、協(xié)作的,每個人都有機會提出問題分预、給出輸入兢交,從中可以識別依賴,并能看到我們是否有足夠的資源完成承諾笼痹,等等配喳。”
從VOLVO的回答可以看到SAFe設(shè)計所提供的參考價值凳干。從實踐而言晴裹,我們往往會基于SAFe提供的參考答案去尋找自己的答案,這里不再贅述救赐,有興趣的朋友可以看這兩篇文章:PI計劃與漸進計劃(如需要可以留言索要PDF格式文件)涧团;SAFe如何應(yīng)對陣地戰(zhàn)。
3????批判之:SAFe違背Scrum設(shè)計
Jeff Sutherland說净响,“...frameworkslike SAFe ... are inconsistent with the Scrum guide and codify disfunction thatcan cripple teams for years.”
一些Scrum支持者認為SAFe中的Scrum偏離Scrum原本的設(shè)計,認為這誤導了公眾對Scrum的理解喳瓣,因此要求SAFe去掉對Scrum的引用馋贤,其活動網(wǎng)站在此:Remove ReferencesTo Scrum From SAFe。下面探討的內(nèi)容主要來自于此網(wǎng)站畏陕,也有部分信息來源于我平時的見聞配乓。
3.1???Scrum Master角色的背離
可以歸為兩條:
一是:SAFe SM 被限制在一個“小角色”上,與組織變革無關(guān)惠毁。
二是:SAFe SM 被定義為一個溝通協(xié)調(diào)角色犹芹,職責中定義了很多本屬于其他角色的活(比如跟其他團隊協(xié)調(diào), 向管理層溝通狀態(tài), 等等)。
SAFe Scrum Master的職責沒有定義任何關(guān)于組織教練鞠绰、組織變革的內(nèi)容腰埂;而Scrum Guide中明確定義了Scrum Master要領(lǐng)導和計劃Scrum導入、教練組織蜈膨。
這個批評是有見地的屿笼。從一個團隊擴大到一個組織牺荠,每個角色的職責都有分散,因此SAFe中定義的Scrum Master并沒有覆蓋經(jīng)典Scrum的全部定義驴一,后者的部分職責在SAFe中給了RTE(甚至STE休雌,如果你有大型解決方案)。實際上肝断,SAFe官方就提到過杈曲,RTE相當于整個ART的Scrum Master。
這里我們?nèi)匀挥靡粋€系統(tǒng)動態(tài)來分析何以如此胸懈。
圖3 兩種解決團隊間協(xié)調(diào)問題的機制
上圖中担扑,“團隊間協(xié)調(diào)工作差距”代表規(guī)模化情勢下團隊數(shù)量箫荡、依賴程度及團隊分散程度導致的團隊之間工作需要協(xié)調(diào)的問題魁亦。(這里我把Scrum Master作為團隊一員。)
這個問題有兩個可能的解決方案:一個是增加跨團隊協(xié)調(diào)角色-這是圖中的B1環(huán)路羔挡。另一個是保持大團隊的自組織洁奈,讓團隊在工作中增強其內(nèi)在協(xié)調(diào)能力,這是圖中的B2環(huán)路绞灼。B1環(huán)路對B2環(huán)路有抑制作用利术,因為既然RTE負擔了跨團隊協(xié)調(diào)工作,那么團隊自己發(fā)展這個能力的需求就被抑制了(這是一個負擔轉(zhuǎn)移結(jié)構(gòu))低矮。
SAFe再一次體現(xiàn)了其實用主義本色印叁,簡單直接地選擇設(shè)立RTE角色。我認為這一選擇與SAFe的核心價值相關(guān)-SAFe的四條核心價值之一是“項目執(zhí)行(Program Execution)”军掂,認為“如果團隊不能有效執(zhí)行轮蜕、持續(xù)交付價值,SAFe的一切其他部分都沒有意義”蝗锥。為“whodoes what”給出一個具體跃洛、清晰的答案是為項目執(zhí)行優(yōu)化的。而如上圖所示终议,理論上汇竭,這個選擇是對團隊賦能有妨礙。
B2是更理想主義的選擇穴张,但理想主義也有其顯著代價:團隊的協(xié)調(diào)能力成長起來需要時間细燎,并且有各種制約因素。在沒有一個類似RTE角色的情況下皂甘,團隊可能經(jīng)歷很長時間的混亂無序(甚至玻驻,這個坑你不一定爬得出來)。
我們只能二選一嗎偿枕?其實上述環(huán)路蘊藏了其他動態(tài)击狮,我們用下圖表示中橙色鏈路表示佛析。團隊間協(xié)調(diào)工作量越多,RTE符合就越大彪蓬,那么RTE就越傾向于賦能團隊寸莫。
圖4 團隊間協(xié)調(diào)問題的延伸動態(tài)
這給我們什么啟發(fā)?破解之道就在于此档冬。
RTE 與SM可以作為一個虛擬團隊工作膘茎,SM分擔RTE的負荷并在需要時作為RTE的備份。我們可以在組織設(shè)計中明確RTE作為資深的Scrum Master身份出現(xiàn)酷誓。這事實也為Scrum Master建立了一個職業(yè)路徑披坏。
那么,理想的RTE候選人應(yīng)該兼具教練屬性和執(zhí)行能力盐数。日常的工作可以授權(quán)給Scrum Master和團隊棒拂,自己作為守住底線的那個人。所以你就知道玫氢,如果RTE整天忙碌不堪帚屉,那說明要么是她還很需要改進(有沒有意識到RTE的教練屬性),要么是她所屬的組織還很需要改進(是否支持RTE的教練屬性)漾峡。
3.2???PO/Team角色的背離
關(guān)于PO和團隊攻旦,主要有三個批評點。
第一個是SAFe里的多份待辦事項列表會導致團隊的倉筒化生逸。
這個評論不完全來自于上述網(wǎng)站牢屋,也來自于一些日常的討論。在我看來槽袄,這個觀點并不成立烙无,只要產(chǎn)品經(jīng)理堅持產(chǎn)品待辦事項列表(ProgramBacklog)優(yōu)先級順序保持客戶價值導向,而非團隊專業(yè)能力導向——也即當團隊能力與優(yōu)先級要求不一致時遍尺,調(diào)整團隊使能力適應(yīng)工作截酷,而非調(diào)整優(yōu)先級使工作適應(yīng)能力——即可在利用團隊的專業(yè)化提升效率的同時,消除專業(yè)化倉筒狮鸭。實際上合搅,SAFe的基本機制支持這一點(因為產(chǎn)品經(jīng)理無需關(guān)心團隊Backlog的內(nèi)容)多搀。具體分析我另有專文歧蕉,這里不再展開,有興趣的朋友請轉(zhuǎn)此處:待辦事項列表數(shù)量與團隊倉筒化風險
第二個是PO 負責決定故事是否達到完成(Done)的狀態(tài)康铭,這使得PO位置高于團隊惯退,從而導致“合同游戲”。
我認為這是個無可厚非的選擇从藤。換一種做法催跪,比如團隊決定Done锁蠕,那么PO可不可以代表客戶拒絕接受?很難說哪種做法就一定更好懊蒸。
第三個批評是荣倾,組織中的高層角色拿走了團隊的職責,損害團隊自主骑丸,從而導致動力缺失舌仍。
這一條其實跟本文第一部分中Denning的小團隊法則的批評是一類的。實際上通危,規(guī)闹恚化中團隊的部分責任讓渡到組織中的其他部分是難以避免的。但這條批評我認為不應(yīng)該完全忽略菊碟,實踐中至少如下可以嘗試:
一节芥,系統(tǒng)架構(gòu)師的角色由團隊成員充當。個別專職的System Arch可能是必要的逆害,比如一列較大的火車或許保留一個專職的系統(tǒng)架構(gòu)師, 其他兼任头镊;小的火車甚至考慮架構(gòu)師作為團隊成員。因為架構(gòu)師會參與早期需求活動忍燥,作為團隊成員就可以起到橋梁作用拧晕。
二,團隊參與”高層”需求過程梅垄。
有的公司實踐中厂捞,需求一旦進入研發(fā)評估,團隊就會開始跟進队丝。大需求(Epic)潛在需要多個團隊靡馁,所以也需要控制此時的成本投入(比如同一領(lǐng)域的多個團隊可以只出一個代表)。
但是這里有一個前提机久,即我們需要大致知道哪些團隊會承擔哪些需求臭墨。這涉及團隊的專業(yè)化程度的的取舍。
三膘盖,團隊PO直接面向客戶胧弛。
PdM和PO可以作為一個團隊運作;PdM依然負責產(chǎn)品Backlog侠畔,但PO在其重點關(guān)注的領(lǐng)域內(nèi)直接面對客戶需求往往是可能的结缚。PdM的重點是產(chǎn)品級的優(yōu)先級排列、優(yōu)先級沖突解決软棺。
4????總結(jié):為什么這么多組織選用SAFe红竭?
以我的觀察,用它與罵它,常常是同樣的設(shè)計茵宪。
警告:以下具有強烈的個人偏見最冰,僅供參考。
第一:SAFe草根氣質(zhì)很重稀火,它的首要著眼點是大型組織的當前需求暖哨,而非敏捷本身。不是不要詩和遠方凰狞,但是更關(guān)心糧食和蔬菜鹿蜀。
第二:SAFe是一套完整的、照顧到各層級基本需求的可參照解決方案和工具索引服球,框架的參照價值較大茴恰。
第三:雖然被罵繁重,但SAFe的設(shè)計對大型組織通常是一種簡化斩熊,?對一些管理混亂的組織則提供了秩序往枣。
第四:SAFe的內(nèi)核是精益;精益的一些思想粉渠、工具和方法(相對)易用分冈、易見效(不要誤解-建立精益內(nèi)核很難。但用好皮毛也能使組織受益不淺霸株。)
第五:SAFe的路徑是改良而非革命雕沉;現(xiàn)有組織能支撐它的“第二操作系統(tǒng)”就好 - 這不僅是為減少抵觸,也利于避免重大風險去件。(這是雙刃劍 – 可能導致止于名義的改變 – 但這點取決于人而非框架坡椒。)
5????最后的啟示
我傾向于認為,規(guī)挠攘铮化和去規(guī)木蟮穑化是同一件事情的兩面:規(guī)模化圖生存宫莱,去規(guī)恼稍埽化圖發(fā)展。這兩者合在一起才是規(guī)氖诎裕化敏捷的全貌巡验。SAFe優(yōu)先考慮的是生存問題,關(guān)于SAFe的批評中我認為最需要警惕的一條恰恰與此相關(guān)碘耳,所以留到最后显设。
這個批評來自于Ron Jeffries,我們前面已經(jīng)看到了他的很多批評藏畅;如果你留意了你可能會發(fā)現(xiàn)Jeffries的批評往往特別具體敷硅、特別言之有物。這不是偶然的愉阎。作為敏捷宣言簽署者之一绞蹦、極限編程的主要創(chuàng)始人之一,Ron Jeffries為了了解SAFe榜旦,是親自參加過SPC培訓的幽七。
他說:
“…It provides some benefit, but endangers an organization's progresstoward really high functioning.” (翻譯:“它提供了一些好處,但危及組織向高效運轉(zhuǎn)狀態(tài)發(fā)展溅呢≡杪牛”)
基于價值流建立第二操作系統(tǒng),組織從中得到好處咐旧,這很好驶鹉。但是,這里的風險是就此止步铣墨。不少組織把SAFe轉(zhuǎn)型當做一個項目運作室埋,項目基于問題(痛點)啟動,項目結(jié)束伊约,問題解決了——繼續(xù)演進的動力隨之消失了姚淆。所以,SAFe轉(zhuǎn)型實際上有兩個難點:第一個是如何取得成效屡律,第二個是取得成效之后如何繼續(xù)進化腌逢。不過,不能認為其他框架就沒有這個問題– 只要組織把敏捷轉(zhuǎn)型當做一個一次性的項目超埋,那么無論用什么方式搏讶,都會有這個風險;SAFe尤其需要注意這點霍殴,一是因為SAFe定義得具體細致(定義越多窍蓝,越有成品感),二是因為SAFe轉(zhuǎn)型的實施路線圖可能給人項目化的暗示繁成。
第二個難點如何克服吓笙,取決于轉(zhuǎn)型的過程中能否讓精益敏捷的理念深入人心,尤其是深入領(lǐng)導者的人心巾腕。這是對轉(zhuǎn)型推動者的最大考驗面睛。