19世紀末的中國,那是一個已經開發了3000多年的軟件系統,采用封建架構,包含了3億多行代碼,整體運行效率非常低下,而且充斥著無數bug,隨時可能發生崩潰。
然后崩潰真的發生了,長達100年間,無數工程師和架構師試圖找到解決的方法,重新開發吧,推到一切舊有的代碼,重新編寫,采用全新的架構,當然采用哪種架構也是爭論的焦點,有說民主的,有說君主立憲的,還有搞軍閥割據的,還有玩復辟的。。。。
但是他們都忘了一個很重要的問題,這個系統中,每個模塊,既是系統的一部分,也是系統的開發者,他們由運行的每一行代碼組成又是這些代碼的編寫者,任何方案只有得到絕大多數模塊的支持才能實行。
最后,只有毛澤東這個架構師的方案獲得了絕大多數模塊的支持,并且積極參與開發,從而重新編寫改造了大部分模塊,但是仍然沒有解決問題,運行效率依然不高。
鄧小平出現了,他沒有試圖再次推翻重寫一個新系統,而是發現毛的架構沒有太大的問題,只是代碼編寫的質量太差,而且由于急于加入新功能而導致了代碼規模過度膨脹(超過13億行代碼了),所以這才是運行效率低下的根源。
所以鄧小平的方法不是革命,而是重構,在既有架構下,重構(改革)所有模塊,移植其他項目的成功代碼(開放),而且采用測試驅動開發的模式(摸著石頭過河。。。),開發組實行5年期的sprint(五年計劃。。)。
一些重大的重構都會先做個prototype(特區。。。),同時架構上不再固守單一平臺,允許異構平臺的存在(一國兩制,私有制經濟)。