互联网产品重构 1、为什么要进行产品重构 旧系统人员流失,系统的业务规则、原始需求谁都不清楚,需求文档、使用文档、架构文档极其 缺乏,成为一个无底洞,可维护性很差。 旧系统越来越复杂,潜规则太多,原本修改一个小需求,一不小心搞得上线后影响一堆用户 旧系统的业务架构、技术架构无法满足新的业务模式需要 旧系统性能无法满足公司业务高速发展的需要 旧系统的产品生命周期已经到头,需要延长期生命周期 等等 2、产品重构 VS. 重做新产品 对现有产品进行重构还是重新做一套全新的系统并没有标准答案。技术人员们都倾向于重做新系统 ,并都倾向于高估自身的管理能力、架构设计能力,大家都会承诺完美的架构、完美的产品规划。但 如果没解决根本性的管理问题,重构或是重做宿命都是一样的。这些管理问题包括产品规划能力、 业务架构能力、项目管理能力、架构管理能力、架构设计能力等等。 在管理能力尚未改善的情况下,怎样保证重做新系统时候不落入旧系统"新做系统,承诺完美架构-> 管理失衡,系统维护陷入混乱->再重做新系统"同样的命运。好的架构是管理出来的,不是设计出 来的。 产品重构第一困难的是反向工程过程阶段,必须搞清楚现