Categories
程式開發

《獨角獸項目》作者 Gene Kim訪談:五大理念,打贏組織“內戰”


本文要點

  • 《獨角獸項目》是一個虛構的故事,講的是一次與鳳凰項目同時進行的DevOps轉型。在這本小說中,Gene Kim提出了五大理念:局部性和簡單性;專注(Focus)、流(Flow)和樂趣(Joy);改善日常工作;心理安全;最後是客戶至上。
  • 這本書證明了DevOps運動的重要性,因為它是一種更好的工作方式,可以更快、更安全、更快樂地提供更多的價值。本書描繪了在擴展DevOps並提升開發人員工作效率時,所需的不可見結構和架構。
  • 五大理念共同創造了引發業務創新的合適環境。它使組織能夠保留維持盈利業務所需的結構,同時改進和打破阻礙增長和創新的結構。
  • 這五大理念可以用作Geoffrey Moore所提出的三大層面商業模式的藍圖。第一層面是核心業務,穩定、可預測且官僚化。第二層面是規模較小的業務,它們會帶來新的客戶、新的功能和新的市場。第三層面中的業務是高度創新的組織,致力於探索全新的、破壞性的和高風險的想法。

《獨角獸項目是一個虛構的故事,講述了一次與鳳凰項目同時進行的DevOps轉型。在這本小說中,Gene Kim介紹了五大理念:局部性和簡單性;專注(Focus)、流(Flow)和樂趣(Joy);改善日常工作;心理安全;最後是客戶至上。

小說中的關鍵人物Maxine是一位才華橫溢的首席開發人員和架構師,她被當作是一次宕機事故的責任人,並被鳳凰項目踢出了團隊。在接下來的故事中,她與公司內的一些異見者組成了一支團隊,共同面對他們過去積累的問題和抵觸變化的流程,並運用五大理念來打造出積極且持久的業務、技術和文化變革。

這個故事對於在大企業工作的人們來說並不陌生。對於許多試圖轉型為數字化精英企業的組織來說,這些挑戰是很常見的。五大理念中所描述的文化和組織原則是實現可持續業務產出的基礎,並且已經被社區提煉和採納為DevOps的核心價值觀和原則。

DOES 2019上,阿迪達斯的平台工程高級總監Fernando Cornago提到了這本書對許多開發人員以及業務和IT領導者的影響:”《獨角獸項目》寫得太棒了……。它讓我回想起了在阿迪達斯過去4年來走過的漫漫長路。”這本書和五大理念無疑將促進對DevOps的理解和應用,並指導領導者調整其組織結構以實現績效目標。

《獨角獸項目》將於11月26日面市,InfoQ讀者可以下載該書的摘錄
《獨角獸項目》作者 Gene Kim訪談:五大理念,打贏組織“內戰” 1

InfoQ:祝賀Gene的《獨角獸項目》出版!謝謝你接受InfoQ的採訪。你想與我們的讀者分享哪些重大收穫?

Gene Kim:我想提到的要點是”五大理念”。在鳳凰項目中,我使用了三種方式和四種工作類型來描述重要的概念。同樣,在獨角獸項目中,我定義了一系列價值觀和原則,稱之為”五大理念”,以應對影響當今工程和業務的最重要的IT挑戰:

  • 第一個理念是局部性和簡單性;
  • 第二個理念是專注、心流和樂趣;
  • 第三個理念是改善日常工作;
  • 第四個理念是心理安全;
  • 第五個理念是客戶至上。

我的主要目標是證明DevOps運動的重要性,因為它是一種更好的工作方式,可以更快、更安全、更快樂地提供更多的價值。為此,我著眼於解決所謂不可見結構(即架構)的問題,這種結構可以提高開發人員的工作效率並在大型組織中擴展DevOps。

InfoQ:能詳細說明一下五大理念嗎?我們又該如何在組織中利用它們?

Gene Kim:第一個理念是局部性和簡單性。局部性指的是開發團隊能在多大程度上在一個位置(而不是許多地方)進行本地代碼更改,而不會影響其他團隊和位置。如果一個團隊需要安排部署計劃,並且需要其他40至50支團隊與他們一起制定計劃,那麼最後什麼都做不成。此外,如果負責交付單一功能的團隊必須與其他兩支或許多開發團隊協調,那麼這只會給所有這些團隊帶來延遲和挑戰。這就是局部性的概念。

局部性需要簡單性:所謂簡單性是指,我們可以在多大程度上真正使應用程序彼此解耦,並完全分開它們。第一個理念適用於架構模式,並且與”改善日常工作”的第三個理念相關,因為要實現第一個理念,我們需要騰出空間進行日常改進,並優先考慮減少技術債務。

第二個理念是專注、心流和樂趣。當開發人員能夠專注於以最小的依賴關係、延遲和障礙來編寫代碼時,這就會創造價值流,從而帶來樂趣。當他們全神貫注工作時會真正體會到樂趣,忘記時間,甚至達到忘我的境界。我認為這就是開發人員的工作對我的意義所在。

第三個理念是改善日常工作,從而解決技術債務和架構問題。 FANG,包括Facebook、Amazon、Netflix、Google、eBay、LinkedIn和Microsoft等精英組織之所以會成功,是因為他們都有意識地決定還清技術債務。他們全都竭盡所能,以確保開發人員的日常工作能夠順利完成,並儘可能減少干擾和阻礙。有趣的是,所有這些公司的首席執行官都是技術領導者。

另一方面,有一些公司(比如諾基亞就是一個很好的例子)沒有優先解決其技術債務,或推動其技術和架構的現代化。

當我與Nicole Forsgren博士Jez Humble共同為AccelerateDevOps現狀報告做出貢獻時,我們認定架構是性能的最佳預測指標。

架構使團隊能夠獨立開發、測試和向客戶部署價值,而無需與其他20、30甚至40支團隊耦合。這個發現使我產生了興趣,開始探索開發人員編寫可以與他人解耦的代碼的重要性。

在今年的DOES Vegas大會上,我請CSG的高級副總裁兼首席架構師Scott Prugh介紹了他們的技術和架構轉型。我認為重要的是讓技術領導者意識到,技術債務和遺留體系會拖累有價值的開發工作。如果開發人員需要訪問四個不同的系統,並花更多時間與不關心它們的人談判溝通,或者不得不干等幾個月的時間,那麼這些障礙對於他們的整體體驗和企業績效目標將帶來毀滅性影響。

第四個理念是心理安全。我們從《DevOps現狀報告》以及谷歌的多份重要研究中可以得知,心理安全是團隊績效的最高預測指標之一。谷歌確立了一套規則,告訴團隊成員在多大程度上可以安全地討論問題、說出自己的想法而不必擔心受到譴責或被嘲笑、指責。

在《獨角獸項目》的開場中,獨角獸項目的主要負責人Maxine被當成了一次薪水斷付的責任人,而有些人被解僱,有些人擔心失業。

最後,第五個理念是關注客戶。這是一個非常有趣的探索,Compuware首席執行官Chris O’Malley和微軟技術研究員Jeffrey Snover引起了我的注意。客戶關注與Geoffrey Moore定義的”核心和環境“之間的差異有關。核心創造持久的業務優勢,而環境則是其他一切。核心是客戶願意支付的費用,他們不關心環境。例如,我們喜歡人力資源系統、工資單和支持員工的系統,但是客戶不願意為世界一流的工資單系統付費。這些系統是關鍵任務,但不能創造競爭優勢。在我們為核心功能和應用程序提供資金時,我們需要確保環境不會殺死核心。
Maxine是一位非常有才華的架構師,知道五大理念的模式。在重建聲譽和職業信譽時,她觀察到了反模式。每當她環顧四周時,她都會看到第一個理念的反模式、第二個理念的反模式,依此類推。
我最近在DevOpsDay介紹了這五大理

InfoQ:在Maxine經歷的這段故事中,你探索了多種業務模型,以及組織如何創建合適的結構和環境來創新,並不斷響應市場變化。能否多講一講業務創新模型的話題?

Gene Kim:這個故事確實圍繞著客戶關注這個主題,這也是點燃硝煙的戰場。五大理念共同為業務創新創造了合適的環境。 Maxine切身體會到,她的組織要實現這一目標有多麼困難,因為他們需要退役許多遺留的後台辦公系統、舊產品和服務以及過多的架構債務。所有這些都得到了堅實的政策和流程支持。

這五大理念使組織能夠保留維持盈利業務所需的結構,同時改進和打破阻礙增長和創新的結構。五大理念可以用作由Geoffrey Moore在他的著作《跨越鴻溝》和《獲勝地區》中所討論的三大層面商業模式的藍圖,這種模式已經在麥肯錫的推廣下廣為人知。

第一層面是核心業務,每年可產生數十億美元的收入,而第三層面是新興項目,可能會保持公司的未來優勢。第一層面是可預見的、緩慢的,並且其文化是官僚主義和風險規避的樂園。老式組織通常會與第三層面展開戰鬥,以保護第一層面的現狀。

第二層面是規模較小的業務,通常能產生1億美元左右的收入,並且正在成長為第一層面的業務。這些機會產生了新的客戶、新的能力和新的市場。他們在探索新的支持流程以提高效率。
接下來是第三層面的業務,也就是長期、面向未來和高度創新的實驗。人們在這裡探索新的想法、不同的市場和不同的商業模式。幾乎所有初創企業都在第三層面。這些業務具有很高的適應性,因為它們歡迎風險。他們在實驗中學習。

第二層面的業務和營收來自第三層面,第一層面則來自第二層面。處於第二層面的公司看起來像是沒有資金問題的初創公司,因為它們像初創公司一樣運作,並且不斷地努力找出能夠吸引關注的事物。
第二層面和第三層面的主要特徵是它們的學習文化,而第一層面通常被視為順從文化的代表,各個層面之間存在很大差異。

InfoQ:業務創新和價值流是這個故事的中心,然而”客戶至上”是第五個也是最後一個理念。你是否打算將開發人員的工作經驗、架構和安全性的重要性置於客戶價值之上?

Gene Kim:這是一個很好的問題。我之所以是按這個順序闡述這五大理念,是因為這樣更符合故事的敘述和流程要求。這就像馬斯洛的金字塔:如果我們都知道最重要的是什麼,但我們做不到它,甚至不能在自己的筆記本電腦上構建出來,我們就無法真正為客戶提供價值。我想首先關注的是建立開發人員的支持系統,讓他們感到高興,給他們自主權,從而專注於交付工作。接下來,我們可以解決一些影響解決方案的根本問題,然後創造一個安全的,討論這些問題的環境。最後一個理念是公司的最高層級,那就是:我們是否真的清楚哪些是核心,哪些是環境。這也是開發人員的控制力和影響程度最低的地方。

InfoQ:《鳳凰項目》(Phoenix Project)於2013年問世。自那以來出現了哪些重要事件或人物,影響了你和《獨角獸項目》的故事?

Gene Kim:有兩大事件促成了這本書,並影響了其中的故事。首先是在2014年開始舉辦的DevOps企業峰會,其最終成為全球最大、最令人讚嘆的DevOps企業社區之一。我目睹了所有這些英雄式的轉變,並有機會與這些非常勇敢的人互動交流;他們經常為組織中的新工作方式鋪平道路,經常像Maxine一樣製造叛亂,試圖推翻強大而古老的舊秩序。 《獨角獸項目》的目標之一就是向一直以來激發我靈感的令人讚嘆的DevOps企業社區致敬。這些社區和工程師們正在改進各個團隊的技術實踐,正在幫助組織生存並在市場中取勝,而且這樣做經常會冒著極大的個人風險,就像Maxine那樣,因為許多人和領導者不想繼續轉型之路。要帶領整個組織轉變,需要非常特殊的領導才能。

還有一件事也改變了我的觀點並促使我寫了這本書。大約三年前,當時我開始學習一種新的編程語言Clojure。 Clojure不僅將編碼的樂趣帶回到了我的生活中,而且向我展示了一整套隱形結構,這是提升開發人員生產力和推動創新所必需的。這種無形結構屬於架構的範疇,我將其定義為技術債務的對立面。大型複雜組織與FANG精英企業(Facebook、Amazon、Netflix、Google和Microsoft等)的關鍵區別在於,前者有著40至50年的累積技術債務,而年輕的公司則沒有。 FANG和科技行業獨角獸企業都處在其發展歷史中的一個階段,它們不僅意識到了解決其技術債務和現代化其基礎架構的重要性,而且還做出了凍結一些功能的業務決策;他們宣布技術債務破產,並同意投入適當的資源,重新構建其架構,並創造條件讓工程師提升編程速度,從而確保勝利。

大多數大型複雜組織尚未做出的這樣的決定和轉變。他們還在使用運行了20年的SAP實例,運行著四個或更多不同的倉庫管理系統,依此類推。這就是我們希望本書中的英雄身份是開發人員的原因之一:Maxine是一位非常有才華的開發人員,她看到了所有這些問題,並在其合夥人Kurt的幫助下推動了正確的變革。

InfoQ:考慮到《獨角獸項目》的故事和視野,它與《鳳凰項目》的目標受眾是否有所不同?

Gene Kim:是的,受眾是不一樣的。這是一個艱難的決定,直到出版截止日前夕我還在不斷審視這個決定。 《鳳凰項目》的受眾主要是領導層。主角Bill是運營副總裁,他的老闆是CIO。那本書的真正目標是針對技術領導者及其業務領域的同行。

《獨角獸項目》的受眾是不一樣的。我針對的是開發者社區。我很想讓技術領導者閱讀這本書,但是如果必須在技術領導者和開發人員之間進行選擇,我希望這本書可以被後者看到。希望它能激發他們參與領導,並告訴他們為什麼技術債務正在殺死他們。我希望它能幫助開發人員與領導層交流,共同理解數字革命的緊迫性,並作為一個案例,證明他們在日常工作中需要獲得所需的資源和數據,才能更好地交付業務價值。

我希望技術領導者也能讀讀這本書,進而消除他們面臨的技術障礙,以支持想要改善其工程文化的企業革命者。

InfoQ:書中有一句引用引人共鳴:”這不是一個小魚吃大魚的故事;這是快速擊敗緩慢的故事。”如今,每個組織都渴望比競爭對手更快地進入市場,而獨角獸項目為所有傳統和大型組織帶來了希望和藍圖。你能否詳細說明這意味著什麼,以及我們如何才能實現這一目標?

Gene Kim:這是從Chris O’Malley那裡借來的話,他在去年的DOES小組討論中提到了這一點。這樣發展下去,結果會是大而快的組織擊敗大而慢的組織,並碾壓小而慢的對手。在我看來這是很明顯的:DevOps未來能創造的大多數經濟價值將來自各個行業的最大品牌,因為這些大公司擁有客戶群、渠道、市場專業知識,並且他們還擁有工程師,成千上萬名工程師。這些大型組織對DevOps進行大規模投資,並致力於降低複雜性,以實現工作流和價值流的循環,他們當然有權取勝。

InfoQ:你在書中寫道:”技術需要嵌入業務中,不能只停留在外部或只是與業務保持一致。” 在故事中,重點強調了產品價值流中涉及的所有角色之間協作的重要性,而跨技術和業務角色(例如架構師、開發人員、測試人員、設計師、供應商和領導者等)之間的協作非常重要。因為我的工作就是消除業務和技術之間的障礙,所以我對此感觸頗深。你如何看待業務團隊與工程團隊之間的關係發展?

Gene Kim:我想探討的是,當每個人都肩負起和產品相關的責任,當安全性成為每個人的職責,等等,這樣的場景是什麼樣的。本書的一個重要主題和目標是要證明,當團隊中的每個人,從產品到開發人員,都擁有相同的願景,了解他們所服務客戶的願望,共同為客戶創造價值時,他們就會更好地合作,創造出最好的產品。

相反,DevOps團隊必須等待產品負責人向他們提供用戶案例。這樣是不夠的。實際上,書中我最喜歡的一段是當有人說到:”我們必須去問業務”,而開發人員則回答:”我們就是業務,我就是業務,他們不是我們的客戶,他們是我們的同事!”

我認為我們需要改變技術和業務的組織方式。我想展示我們過去是如何對待開發團隊的,一直以來我們都將業務視為外部事物。但是,企業和工程部門比以往任何時候都需要共同努力,以為其最終用戶提供價值。

團隊必須參與到一些業務和產品管理活動中,因為如果他們不了解上下文或對產品路線圖沒有任何認知,只是不斷地收到產品積壓,那麼他們就很難重構出真正符合客戶需求的產品。與客戶互動並聽取他們的意見後,就為開發人員提供了他們創新所需的環境。

InfoQ:關於這本書本身,以及它為數據驅動和基於數據的數字化轉型所展示的重要地位,已經有了很多很棒的反饋。

Gene Kim:是的,這是很棒的觀察結果! 《鳳凰項目》講的是關於DevOps和幫助企業獲勝的故事。 《獨角獸項目》則是一本關於開發人員、數字化變革以及數據時代盛景的小說,而這實際上就是本書的副標題。這對我來說非常重要,因為這不僅談的是獲取數據,還涉及讓開發人員學習本能地生成可放入代碼中的數據,以便他們為下一個項目提供幫助。我們需要更好地了解客戶的需求,並去理解該如何滿足他們的需求。此外,我們還要為組織中的其他所有人提供更好的信息。我很喜歡Steven Spear博士的話:”通過這種方式,我們可以結合許多人的努力為所有人創造持久業務優勢”。我認為這是一個關於數據的故事,我們正在學習如何將代碼生成為數據,並且數據使將來的一切努力都能獲得更好的業務成果。

作者介紹:

Gene Kim 是屢獲殊榮的CTO、研究人員和作家,​​自1999年以來一直在研究高水平技術組織。他是Tripwire的創始人,擔任其CTO已有13年了。他撰寫了六本書,包括《獨角獸項目》(2019),《鳳凰項目》(2013),《 DevOps手冊》(2016),榮獲Shingo出版大獎的《加速》(2018)以及《可見運營手冊》(2004-2006)。自2014年以來,他一直是DevOps企業峰會的創始人和組織者,研究大型,複雜組織的技術轉型。 2007年,ComputerWorld將Gene列入”40歲以下值得關注的40位創新IT人士”名單,並因在該領域的成就和領導地位而被普渡大學評為計算機科學傑出校友。

原文鏈接The Unicorn Project and the Five Ideals: Interview with Gene Kim