如何快速理解復雜業務,系統思考問題?
正視復雜性
我們必須承認這個世界原本就非常復雜,就像以我們現在的科技仍然不能攻克新冠病毒、不能精確預測天氣、不能有效控制經濟形勢異常波動一樣,任何試圖浮于表面、疏于投入就想了解并解決一個復雜問題的傲慢做法,最終都只能接受無情的打臉。
回到我們阿里當前的業務,隨著市場規模的擴大、用戶群體的多樣性、公司組織的持續膨脹和細分、產品歷史包袱的累積,我們的業務不可避免的越來越復雜和難以理解。就像著名的熱力學第二定律(熵增定律)所解釋的那樣,只要沒有外界系統的做功(我理解是一個顛覆性的業務模式),我們當前的系統就無可避免的持續熵增。
但作為在業務線工作的一員,更加全面的理解我們手上的業務邏輯是我們能做好工作的基本條件,我們肯定不能滿足僅僅是點狀理解的一些信息,也不能接受理解一個業務只能依賴長時間的工作經驗,所以這里給大家介紹一個幫助自己全面理解一個復雜系統的工具:“系統思考”。之前我會嘗試用它來幫助自己梳理手上的業務邏輯,感覺有一定的作用,做了這個入門總結,希望對大家有幫助。
什么是系統思考
? 我們的思考誤區
先回憶一下,從很小的時候起,我們接受的教育是讓我們怎么解決復雜問題的?
是的,就是通過拆解,把一個復雜為題拆解成多個不那么復雜的問題,再把不怎么復雜的問題繼續拆解成簡單的問題,最后通過解決一件一件的簡單問題進而來解決原本的那個復雜問題。
這個方法是非常了不起的,也成就人類的偉大,我們把世界分割成一個一個的片斷加以分析后再合并、還原,其思維方法遵循如是簡單的法則:“部分之和等于整體”。這種拆分的思考方法在大部分情況下都比較有效,它讓人產生了幻覺,誤以為這世界是由一個個的各別事件堆積而成,看不見普遍存在的、整體復雜的關聯、互動作用,從而導致人類行為的短期性、盲目性和災難性。就像“盲人摸象”、“快思考”等都指出這種思考方式的局限性,所以在我們的工作中,如果僅僅秉承著“拆分”的方法,是不能解決真正復雜的問題的。
所以我們這里介紹一個從整體系統的角度思考復雜問題的方法:“系統思考”,本文的核心思想主要來自兩本書:《第五項修煉》、《系統思考》,大家如果看完本文,覺得還有點意思,可以考慮找來這兩本書深入了解一下。
? 什么是系統
在介紹“系統思考”之前,我們先確認下什么是“系統”。
“系統”都是復雜的,但并不是任何看上去“復雜”的東西都是系統,在我們討論的范圍里,一個規模龐大的衣柜、一發炮彈、一大束鮮花都算不上是一個“系統”。
系統是指一組相互作用、相互關聯、或相互依賴的部分組成的復雜而又統一、具有特殊目的的整體,系統會擁有其單獨部分不具備的特征。
我們說的“系統”都是動態的,比如下面的足球隊、龍卷風、蜂群都能稱之為一個“系統”。
系統一般有三個核心特點,多個部分、相互依賴、特有目的:
- 系統一定是由多個部分組成的,如果只有一個部分,一定不能稱之為系統;
- 各個部分之前必須相互有依賴關系,單獨的部分不能獨立發揮它的價值;
- 所有部分整合在一起有它的目的,雖然有的時候自然和社會系統往往難以確知它的目的。
? 什么是系統思考
對什么是“系統”達成一致后,我們來看一下什么是“系統思考”。為了好理解,我們把系統思考擴展成三個不同的思考概念,可以理解為“系統思考”是同時具備這三種思考模式的一種方法:
- 【深度思考】不能停留在現象的表面思考,要能從現象深入到問題的背后,找到問題的本質;
- 【全局思考】不能單點、局部的看待問題,要能站遠一點,看到問題的全局;
- 【動態思考】不能停留在某個時刻看問題,要理解每個人、每個業務之間都是動態變化的;
系統思考不僅僅是一個概念,更是一套思考問題的方法論,下面重點介紹這套方法論是怎么操作的。系統思考的工具和方法
首現我們舉個列子,下圖左邊這個人接水的場景就是一個典型的系統,那我們可以怎么描述這個系統呢?
- “一個人正在接水”?太簡單,沒有描述清楚這是一個什么樣的系統;
- “一個人左手控制水龍頭,右手拿杯子在接水,眼睛在觀察水位情況”?還是覺得缺少結構化,沒有能清晰得描述出這個系統中各個部分之間的、動態的、依賴的關系。
我們再看右邊這個被抽象的結構圖,每個節點都是系統中的一個變量,不同變量之間形成了關系,通過這個圖,我們能理解在系統中不同部分之間是怎么相互依賴和影響了,我們可以預料系統可能的走勢,也可以進一步思考怎么在這個系統中施加作用而影響系統的走勢。基于上面這個描述系統里各個部分相互作用的因果邏輯圖,我們引入“系統思考”里的一個最重要的工具:因果回路圖,下面我們就來講一講這個因果回路圖的畫法。
? 因果回路圖
一個用來描述“系統思考”的因果回路圖一般由三個部分組成,分別是:
- 【變量】,變量是我們建模的系統結構里的因素,它的值是隨時間而變化的,一般是個名詞;
- 【鏈路】,變量之間可以形成鏈路,這個鏈路是形成因果邏輯的鏈路(一個變量的變化影響另一個變量);
- 【回路】,幾條鏈路可能形成回路。如果從變量A到變量B有一條鏈路,當從變量B到變量A,之間可能通過一系列其它的變量,也有一條鏈路時,就形成了回路。
? 兩種回路模型
找到系統中的回路是“系統思考”的重要抓手之一,所以我們會重點講講回路。我們有兩種最典型的回路,一個叫“增強回路”,一個是“平衡回路”:
- 【增強回路】:Reinforcing loop,一個回路中的變量增加或減少,會影響這個回路中的所有鏈路持續增加或減少,發展的趨勢不受控制,我們常見的類比說法比如“惡性循環”、“強者恒強”等等就是增強回路導致的;
- 【平衡回路】:Balance loop,一個回路中的變量增加或減少受到系統中其他變量的反向影響,使得這個系統中的變量在長期的維度會表現出一種保持平衡的狀態,比如最常見的例子是,豬肉如果大幅度漲價,就會有更多的人加入到養豬的行業,第二年的豬肉就會應為供應充足而降價,最終長期看價格會維持在一個平衡的狀態。
后面的回路里,我們會用“R”表示增強回路,用“B”表示平衡回路,在鏈路中,會用“+”表示變量之間的正向的影響,用“-”表示變量之間的負向影響。
? 回路上的時延
在因果回路圖中還有一個非常重要的概念就是“時延”。一個變量的變化影響另一個變量并不一定是馬上生效的,他們之間的關系有可能存在時延。一個大家在日常生活中很容易遇到的例子就是調節洗澡水的溫度問題(特別是來到一個不熟悉的環境里,如賓館),怎么調到一個適合自己的水溫并不容易,要不就是水溫過高,要不就是過低,這背后就是水溫調節器和實際水溫變化中間存在“時延”導致的。
在因果回路圖引入時間概念之后,我們在鏈路之間增加一個“||”的符號代表這兩個變量之間的因果關系存在時延。
時延在工作中最典型的例子比如:招聘對項目人力缺口的影響、代碼單元測試度產品質量的影響、學習對于工作能力的影響等等。對時延的感知也是幫助你理解系統復雜性的重點之一。系統思考的5個基礎模型
如果現在大家對系統思考最基本的工具“因果回路圖”有了理解之后,我們就可以參考軟件開發領域里的“設計模式”(Design Pattern)思考一下,系統思考是不是也有一些常見的模型。
是的,因果回路是有一些常用、特定的“套路”,這些套路就是我們常說的“模式”,這里我們介紹4中最有代表性的基礎模型。
? 飲鴆止渴
“飲鴆止渴”描述了我們是怎么在進度的壓力下一次又一次的放棄了自己的堅持,因為鏈路上的延遲,讓我們心存僥幸,最后使得我們的系統背負了沉重的技術債的。
? 舍本逐末
“舍本逐末”描述了短期表面方案和長期根本方案之間的沖突,因為增強回路的存在,使得我們不能對“效能優化”這個根本的方案提高優先級,最終上癮于短期表面方案。
? 目標侵蝕
“目標侵蝕”描述了我們怎么在目標完成的壓力下,放棄了做爭取的事,而是通過直接降低目標來達成目標的。真實的“加速”措施通常需要更長的時間才能見效。正是這個延遲,使得我們逐步轉向上面的平衡回路,需求延期和下調目標成為一種習慣。
? 成長上限
“成長上限”描述了一個增強回路不可能獨自持續下去,在一個更大的維度,一定會有另一個因素(或平衡回路)對它進行限制,這個就是成長上限。
? 公共悲劇
“公共悲劇”描述了對于大家共享的有限資源(APP首頁彈窗),每個個體(業務單元)都想自己利益最大化。使用者越多,越消耗用戶對平臺體驗的信任。隨著彈窗總量迅速增加,遭遇用戶容忍瓶頸時,消費者會感到不可容忍,用腳投票。
理解業務邏輯的例子
對于我自己過去接觸的一些復雜業務,我會嘗試使用“系統思考”作為工具去幫助自己加強對業務的理解,我經常在畫對應業務的因果回路圖的時候會發現一些新的觀點,產生一些新的疑問,這個過程對我的幫助良多。這里還是要強調一下,“系統思考”只是一個工具,不同的人,面對同樣一個系統,因為了解的信息多少不同,關注的問題角度不同,對系統發展方向的期待不同,都會導致畫出來的因果回路圖有所不同。所以,“系統思考”就是一個幫助你不斷的通過zoom out、zoom in 來完整的、體系的看待復雜問題的工具,通過使用這個工具的過程,幫你更好的思考和理解你面對的復雜問題。
? 阿里小程序生態
回歸思考的心智模型
最后,再補充說明一下,對于復雜問題的思考其實是有層次的,從最表面的事件(正在發生什么),到事件背后的規律(發展趨勢是什么),再到這個問題的結構模式(解釋趨勢背后的原因),再到價值觀(驅動這個模式的理念),層層遞進。在畫完自己的業務系統因果回路圖之后,再結合這個心智模型,思考自己的思考在哪個層次,是否可以有機會再下鉆到更深的層次。