化繁為簡,掌控力不可或缺的能力
這是我在技術領域,解決難題時,常用的招數。
每當碰上難緾的問題的時候,如果沒有當緒,該檢查的因素也確定沒有問題,那剩下的辦法,就是把紛亂複雜的程序,化繁為簡,把影響因素變為最簡單。大多數的情況下,把事情化為最簡單後,問題的原因,就浮出水面了。在我從業這麼多年裡,屢試不爽的招數。
化繁為簡,有一個前提,即對系統運行所有相關因素都要熟悉,了解其動作的原理。然後就可以把複雜,無關,次要的東西去掉。如果基本功不夠,很多人用的辦法,就是愚公雨山的辦法,一個個去試,如同有些人修老電視機,運氣好的話,拍幾下,或者踹上幾腳,還真有可能就能用了。
於學習也一樣,把複雜的知識,化繁為簡,理清楚其邏輯思路,把不懂的東西拆成小份,然後逐個攻破。
而學習對知識的理解,也是從一個個簡單的知識組織成一個龐大複雜的知識網。人對新知識的理解,也都是建立在已有知識的基本之上構建理解模型的。
理論上,是沒有什麼複雜深奧的理論。任何複雜深奧的理論背後,化繁為簡,都可以變成非常簡單,容易聽懂的東西。比如,一張圖,一個相片,一個網站 ,一個複雜的競技遊戲,全部都可以轉化為最為簡單的兩種東西。
一個是0和1級成的數據 。
一個是加法運算。
本質雖然是簡單的,從0和1組成的數據還有加法運算,再轉化為複雜的圖片,網站 ,遊戲。是一個非常漫長的過程。只有計算機時代,才把這種由至簡還原至繁成為可能。現在的計算機cpu可以一秒鐘計算幾十萬次。 忽略掉這種時間成本,理論上,機械時代也可以完成這種計算,只是花費的時間之長,讓這種方式變得沒有意義。
從我自己學習的經驗來看,不管是數學,哲學,藝術,其背後的本質都是簡單的。但由於衍生出來的表象紛亂複雜,不計其數。而在人類社會當中,人們中需要掌握其中表象的皮毛,就可以養家糊口,掌控得更多一些人,便可以為人師,甚至成為領域專家。
由於人的逐利本性,當表象皮毛可以轉化為白花花的銀子,這個時候,表象的作用蓋過本質,當眼光僅停留於表象即可獲利。人們必然不會去探求表象之後的本質。
於是乎,人都認為知識是無限的,複雜的,難以理解的,而且得頭懸樑,錐刺股才能把學習做好。
事物的本質不會因為人們的看法有任何的改變。事物本質都是簡單的,表象一定是複雜的。學習的方式,是要從有限的表象中,尋找該領域知識的運轉軌跡,繼而把其它沒看到的表象推導出來。這是一種不需要看完所有表象,但又能推導出來的方式。
於做事,化繁為簡的方式,依然適用。應用化繁為間,前提條件依然沒變,就是需要對相關的影響因素有足夠的了解。才可能把複雜的東西,去掉不重要的,次要的,化為最簡單,最核心的部分。
一個複雜的工程,如果內部組成,是一個黑盒,完全不知道裡邊的成份。這是風險非常高的工程。對一個工程的把控,是需要把工程拆解,掌握的知識與經驗越多,越是可以把工程拆分得越細。同時根據自身能力與資源,分解成風險的高低,重要程度的不一,完成時間的長短與成本。
一個工程拆分得越細,這種細不是指學生黨的理論派的工程拆解。而是實戰者的經驗基礎上腳踏實地的拆解。
什麼是學生黨的拆解?
一個軟體工程,做一個項目,我們先做需求調研,再做概要設計,詳細設計,花好流程圖,然後開發.... 這就是學生黨的拆分方式。
實戰派, 我們手頭有什麼樣的資源,我們做的是什麼樣的項目,是確定性項目(錢確定,需求確定),還是不確定項目(互聯網產品,只有產品方式,沒有實質的設計,就算有設計,也沒有實際的數據證明符合市場的需求), 開發時間多長?人員組成如何 ?.. 實戰主義者,更多的是根據自己的實際情況來做工程拆解。而非理論上的拆解。
不管是學生黨,還是實戰派,都有自己的一套理論來把複雜的軟體工程拆解。變成可執行性的小任務。把複雜的項目變為可能實現的東西。
從解決問題,學習與做事的角度,我們都需要化繁為簡,我們面對自己的理想,很多的時候,我們只有遠大,崇高的理解,而怠於去化繁為簡,把遠大的理想,拆解細分,化為自己立即可以著手去實現的一個個小任務。
化繁為簡,掌控力不可或缺的能力。
攜手讀萬卷書,行萬里路,閱(約)人無數
A夥伴 - 每周認識新朋友推薦閱讀:
※關於內容運營,怎麼寫出滿分的好文案?
※你有什麼想學但一直沒學成的手藝?
※如何學習提升自我認知的水平?
※怎樣利用零碎時間,做好時間管理?
※推薦給你的2個好工具和一個小技巧