互聯網產品重構
1、為什么要進行產品重構
舊系統人員流失,系統的業務規則、原始需求誰都不清楚,需求文檔、使用文檔、架構文檔極其缺乏,成為一個無底洞,可維護性很差。
舊系統越來越復雜,潛規則太多,原本修改一個小需求,一不小心搞得上線后影響一堆用戶
舊系統的業務架構、技術架構無法滿足新的業務模式需要
舊系統性能無法滿足公司業務高速發展的需要
舊系統的產品生命周期已經到頭,需要延長期生命周期
等等
2、產品重構? VS.? 重做新產品
對現有產品進行重構還是重新做一套全新的系統并沒有標準答案。技術人員們都傾向于重做新系統,并都傾向于高估自身的管理能力、架構設計能力,大家都會承諾完美的架構、完美的產品規劃。但如果沒解決根本性的管理問題,重構或是重做宿命都是一樣的。這些管理問題包括產品規劃能力、業務架構能力、項目管理能力、架構管理能力、架構設計能力等等。
在管理能力尚未改善的情況下,怎樣保證重做新系統時候不落入舊系統“新做系統,承諾完美架構->管理失衡,系統維護陷入混亂->再重做新系統”同樣的命運。好的架構是管理出來的,不是設計出來的。
產品重構第一困難的是反向工程過程階段,必須搞清楚現有系統的遺產狀況。對于一個在線運營的系統,不管是重構還是重做都必須經歷此過程
產品重構第二困難的是舊系統遷移到重構系統的過程。怎樣做到不影響現有客戶使用的情況下完成灰度切換,這是最大的挑戰。不管是重構或是重做都必須經歷此過程
3、關于產品重構的思考
The Product Re Architecture 利用 RUP 對遺留系統進行逆向工程 軟件架構的藝術 來源:http://www.yeeach.com/4、參考資料
評論
- 目前還沒評論,等你發揮!