一、前言
过去很少搞重构,原因是做的产品大部分是鸡肋,生命周期非常短,根本不会涉及。
目前所在公司已运营多年,入职时组织架构、产品架构已很稳定,在职期间主要负责现有系统及业务维护,即接过别人的锅,继续补。
所在产品线主要维护核心交易流程,后端系统较多。入职时没人交接,没人指导,只能在摸排滚打中熟悉。
随着迭代越多,对系统理解越深入,对系统各种各样的坑也越了解,但在现有代码及功能框架下,解决这些历史债务是非常难的。而且经过多年迭代,系统也越来越老旧臃肿,像台老拖拉机,千疮百孔,跑不动了。
于是经过慎重考虑,痛下决心,彻底重构系统,再造宝马,让系统换发新生命。
二、重构目标
重构目标是去除鸡肋,精简功能,提高兼容性和维护性,提高业务效率,节省人工及系统成本,具体是对代码、功能、业务三方面进行重构。
截止目前,完成了项目发布系统、合同系统、财务系统三个系统重构。重构后不仅业务效率明显提升,还为公司省下百万/年成本,效果非常显著。
1)项目发布系统
重构背景
1、该系统负责项目管理,功能主要为增删改查项目,业务比较简单,经过多年迭代,表单字段臃肿、逻辑复杂、代码陈旧,老态龙钟。
2、而且有个非常明显痛点:只能手动发布项目。
3、这意味着发标员得时时刻刻守着,不管白天黑夜、节假日,只要没项目了,都得发。
4、而且手动操作时效性和准确性是没有保证的,偶尔出现没标或错标现象。
重构目的
1、重新梳理表单及业务逻辑,去除鸡肋,精简功能,提升交互体验;
2、更新代码框架,与时俱进;
3、实现自动发标,解放人力,杜绝没标和错标现象。
效果
1、重构后整体功能和业务逻辑再没变动,一次性解决了历史债务,甩掉了历史包袱;
2、发标员由2个减少为半个,大大解放了生产力,无论业务效率还是节省成本都有显著效果。
3、彻底杜绝了没标错标现象。
2)财务系统
重构背景
1、该系统负责接收资产和接收还款,角色类似资产对接平台,使用人为财务人员;
2、该系统由其他部门交接,由于当时上线仓促遗留了很多坑,交由我们维护后,陆陆续续补了很多坑,但有些坑是设计缺陷,得重构才能补;
3、资产对接流程长,效率低,接入门槛高,进件接口字段冗余,定义不清晰,可读性差,进件流程长;
4、系统数据量巨大,导致查询慢,操作不便,财务人员投诉多;
重构目的
1、资产对接标准化:精简及明确进件接口字段,缩短进件流程,资产对接配置化;
2、重构功能及数据储存逻辑,提高操作效率;
3、彻底修复历史债务,精简代码,更新框架,提高扩展性和维护性;
效果
1、通过以上重构,再造了个新资产对接平台,扩展性和维护性大大提高;
2、资产对接标准化后,对接时间明细缩短,对接效率显著提高;
3、操作效率大大提高,业务效率显著提升;
3)合同系统
重构背景
1、合同量非常大,签章存证费用非常高,系统(宽带、服务器)要求高、成本高;
2、合同更新频繁,版本管理混乱,更新耗时长,成本高;
3、代码混乱、质量差、耦合严重,技术框架陈旧,可扩展性和维护性差;
4、多条业务线有3个类似系统,重复造轮子;
重构目的
1、缩减合同量,支持流量路由,降低签章存证成本,降低系统成本;
2、合同模板标准化,支持可视化编辑,降低维护成本;
3、技术重构;
4、推向集团化,合并系统;
效果
1、签章存证费用减少百万/年;
2、合同可视化编辑减少80%维护成本;
3、集团化应用,形成标准化系统;
这三个系统重构后效益明显提升,个人也产生了很大满足感和成就感。
三、结语
相信很多产品小伙接手旧产品后,都恨不得推翻重建,但重构的前提是对产品非常熟悉,重构是对产品动大手术,需要考虑投入-产出比,切勿盲目重构。
网友评论