互聯(lián)網(wǎng)產(chǎn)品重構(gòu)

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