馬斯克解讀,踐行第一性原理的五步流程

通常優(yōu)秀的工程師犯的最大的錯(cuò)誤是,對(duì)本不該存在的東西進(jìn)行優(yōu)化。
比如很多時(shí)候,不管是架構(gòu)設(shè)計(jì),還是方案設(shè)計(jì),總會(huì)出現(xiàn)watch dog的設(shè)計(jì)在里面。
舉兩個(gè)工作中經(jīng)常遇到的例子。

什么是watch dog?
比如A服務(wù)調(diào)用B服務(wù),上線之后發(fā)現(xiàn)會(huì)出現(xiàn)調(diào)用失敗的情況,很多人就基于這個(gè)思想又搞出來了個(gè)日志對(duì)賬功能,就是定時(shí)看A調(diào)用的日志和B收到調(diào)用的日志做對(duì)賬,如果發(fā)現(xiàn)存在調(diào)用失敗情況,則發(fā)出報(bào)警。
這第三個(gè)系統(tǒng)就是watch dog。
如果用第一性原理可以想兩個(gè)問題。
這種情況真的需要一個(gè)第三個(gè)系統(tǒng)去解決這個(gè)問題嗎?
第三個(gè)系統(tǒng)真的可以解決這個(gè)問題嗎?
最好的方式還是在服務(wù)調(diào)用本身去解決這個(gè)問題。他本來就是一個(gè)確定性要解決的分布式服務(wù)調(diào)用異常的問題,這個(gè)問題所屬的問題域也只應(yīng)該服務(wù)調(diào)用層面,在這里解決這個(gè)問題成本最低、效果最好。
其實(shí)可以想象,保證這個(gè)對(duì)賬系統(tǒng)穩(wěn)定準(zhǔn)確又是一堆新的問題,成本和收益并不匹配。
類似的產(chǎn)品設(shè)計(jì)上也存在類似的情況,比如原有的查詢頁面,查詢條件不完善,有的產(chǎn)品就會(huì)想到再設(shè)計(jì)一個(gè)新的查詢頁面給專門的場(chǎng)景用,其實(shí)最簡(jiǎn)單的方式,是在原有的查詢頁面上基于權(quán)限控制查詢條件即可實(shí)現(xiàn)。
引入了新的查詢頁面解決一個(gè)小需求就是watch dog。
引入了本不應(yīng)該存在的復(fù)雜度模塊,也導(dǎo)致查詢功能碎片化,為全局提出了新的問題。

帶著方案分析原始問題是另一種情況。
很多人分不清問題還是現(xiàn)象,又有人提出問題或者思考問題痛點(diǎn)時(shí),你可以聽出來,他是帶著自己的方案來分析原始問題的。
比如有的人遇到一個(gè)問題,第一反應(yīng)就是用線上化去解決這個(gè)問題,于是他的思考上就或多或少受到了這個(gè)傾向性方案的影響。他對(duì)于原始問題的分析就無形中放大了很多非線上化時(shí)的痛點(diǎn)和問題了,以說服自己必須線上化才行。
表面上看從非線上化到線上化似乎是一脈相承的,但其實(shí)邏輯并不自洽,因?yàn)閷?duì)于問題原始的分析上多了有色眼鏡,本來的痛點(diǎn)的邏輯分析勢(shì)必就少了很多。
有時(shí),你問一個(gè)產(chǎn)品owner或者系統(tǒng)owner說:這個(gè)需求或者功能為什么這樣設(shè)計(jì)或者實(shí)現(xiàn)?
經(jīng)常有人會(huì)說,之前就是這么設(shè)計(jì)的。
問一個(gè)研發(fā),為什么這么解決。
他說以前代碼就是這么寫的,這次只是簡(jiǎn)單優(yōu)化了下。
這些人都是沒有從這個(gè)需求本身出發(fā),這種情況給出的方案可想而知肯定不是最優(yōu)的,甚至有可能是錯(cuò)誤的,因?yàn)槟阋蕾嚵艘粋€(gè)可能本質(zhì)上錯(cuò)誤的前提。
一般這些人心理活動(dòng)層面有兩種:
甩鍋心態(tài):如果做不好,起碼可以說之前就是這樣實(shí)現(xiàn)的和我無關(guān)。
過于懶惰:既然有人已經(jīng)做了一部分,修修補(bǔ)補(bǔ)總是省力,跑到一線調(diào)研需求比較辛苦。
遇到這種情況,一般會(huì)追問幾個(gè)本質(zhì)類的問題。比如你怎么理解這個(gè)問題的,他的目標(biāo)用戶是誰,究竟有什么痛點(diǎn)是必須要解決的,長(zhǎng)期看他的理想態(tài)應(yīng)該是什么樣。
如果既缺少勇氣去改造歷史包袱,又缺少實(shí)事求是的心態(tài)去挖掘本質(zhì)痛點(diǎn),而以訛傳訛,那么做的很多事情其實(shí)不會(huì)帶來什么價(jià)值。
那,采用第一性原理分析與解決問題就非常重要。
我們必須拒絕類比,從第一性原理出發(fā)。
第一性原理,馬斯克總結(jié)了五步流程來解決問題。
第一步:讓需求不要那么愚蠢。
第二步:刪減不需要的部分,進(jìn)行抽象/提煉。
如果你沒能刪減至少10%,那么你刪減的肯定還不夠。
第三步:提煉后的優(yōu)化和迭代。
第四步:提升生產(chǎn)效率。
第五步:讓他們自動(dòng)化運(yùn)轉(zhuǎn)。
馬斯克本人說,他自己也經(jīng)常搞亂順序,所以他會(huì)不斷提醒自己必須按照這個(gè)順序去實(shí)踐。
而且馬斯克覺得,很多時(shí)候直接刪除比不斷優(yōu)化更好。
