什么是架構?
生活中總是看到充斥着各種架構詞匯,如下圖
又例如我現在所在的部門負責的技術架構
架構的本質是以拆分生命周期的方式來做增長
什么是生命周期
生命周期:事物的生老病死
人每一天的活動,眨一次眼、吃一口飯,都是一個生命周期,生命周期又包含生命周期,每個生命周期都有一個主體
以<用戶購買>生命周期為例,可以拆分成
- <物品選購>(物品意向)
- <物品執行購買>(購買行為)
拆分出來的物品選購可以外包,例如導購、網上購物、智能推薦
為什么會產生架構
人最終都會消逝,而人總想活得更久、占有更多、享受更多,如何才能延長自己的生命?
同樣的時間創造出更多的產出,相當於把自己的生命延長了。
於是有了所謂的時間管理,為了讓每份時間更高效,又出現了精力管理
古代,一個人必須要先種田,完成糧食的產生,並消費糧食,結束糧食的生命周期才能完成能量的獲取以維持生命,而糧食的生命周期外包出去后,人類的核心生命周期並沒有受到影響,卻大大的節省了時間,延長了自己的生命。正是因為有了分工,才形成了人類社會
什么是核心生命周期
核心生命周期:必須由自己完成的事
圍繞核心生命周期切分,非核心的生命周期獨產出來,並行地開展工作,設立溝通機制,使非核心圍繞核心做出貢獻
被切分的生命周期,如果連續的時間內持續執行,就不能切分出去,例如:比如孕婦十月懷胎,不能切分成十個人一個月完成
稻盛和夫就是一位牛逼的架構師,提出阿米巴經營
什么是業務
解決人類問題,支撐人類自身生命周期,使人類獲得利益
什么是技術
通過人為創造條件,讓指定的規律按照人類的意願發生
軟件的核心是什么
軟件的核心:模擬人類的業務
軟件最早更多的是應用在科學計算,對於大部分行業而言門檻比較高,建立在數學、物理、電子電路等學科
傳統企業業務增長方式:增加人和空間,成本很高,而虛擬空間的增長成本遠低於真實空間,拆分生命周期開始轉到了虛擬空間。
以語言類似,很多人學習英語等語言,最終從事語言本身研究的人少之又少,軟件主要還是服務於其他行業的,所以我們需要涉獵各行各業的知識,科學、教育、經濟、歷史、藝術、心理等等。
不變的規律:讓非核心生命周期的處理更少地占用人類的時間,變相的延長人類生命
軟件架構師的職責是什么
- 理解業務組織架構,對業務生命周期拆分
- 根據業務生命周期對軟件開發生命周期進行拆分
- 結合兩者匹配合適的組織架構
簡單地說:架構師拆分生命周期,技術人員實現生命周期
技術、業務與架構的聯系
- 業務是核心,技術是解決業務問題的工具,架構是讓業務長大的方法
- 架構用技術來實現拆分,而技術需要架構來合理組織以提升效率
- 技術為解決業務問題而產生,沒有了業務技術也沒有存在的前提