平台系统如何避免频繁重构?
﹀
﹀
﹀
一个平台产品的搭建总是为解决某种特定的需求而产生的,时代在发展,客户的业务需求也在发生变化,有的需求相对稳定一些,有的需求变化的比较剧烈,还有的需求已经消失了,或者转化成了别的需求。在这种情况下,平台产品必须要有相应的改变。
这就产生了一种糟糕的现象:平台产品最初制造出来时,是经过精心设计的,具有良好的架构。但是随着时间的发展、需求的变化,必须不断的修改原有的功能、追加新的功能,还免不了有一些缺陷需要修改。为了实现变更,不可避免的要违反最初的设计构架,经过一段时间以后,平台的架构就千疮百孔了。
随着反复的修改,平台bug越来越多,越来越难维护,新的需求越来越难实现,平台的架构对新的需求渐渐的失去了支持能力,而是成为一种制约。最后导致新需求的开发成本,已经超过了开发一个新的软件的成本,这就是这个软件系统的生命走到尽头的时候,这时重构就能够最大限度的避免这样一种现象。
平台产品发展到一定阶段后,使用重构的方式,不改变系统的外部功能,只对内部的结构进行重新的整理。通过重构,不断的调整系统的结构,可以使系统对于需求的变更始终具有较强的适应能力。
笔者在从业经历中也经历过数次产品重构的过程,其实大部分运行3年以上的平台系统都是在重构中,或是在打算重构中,但是很多人一定有疑问,为什么软件产品要频繁的经历重构呢,是否可以避免这种情况的出现呢?
笔者认为造成软件频繁重构的原因有三方面:
1、业务方向不明确,规划路线有误
大部分的平台公司要建立一个产业互联网平台的原因,通常都是在面临着公司转型的痛点时,看到了一个市场机会就想要切入进去,有些可能是贸易需求,有些可能是金融需求。
其实这时候都未对市场和公司业务方向进行系统化的规划,只是一味的追求短、平、快的路线,平台仅仅解决了客户当前的痛点,就设计开发落地,这种一味追求速度,没有充分的市场分析和论证的平台产品自然经不起时间的考验。
举个例子就像盖楼一样,最开始盖房子只是为了解决自己住的问题,所以只需要打一层的地基就行了,而在盖楼的过程中,发现原来大家都有住房需求,那就把楼多盖几层吧,因为地基打的比较浅,盖到多层后房子不稳固,自然就会倒掉,那就回头看地基是否可以打更深,但是又发现想打更深的地基就需要更大的土地面积,最后只好推翻之前的一切基础,重新并购土地、打地基、盖房子,这种结果就是最开始规划不清晰而造成的重构。
2、产品设计不合理
这种情况其实是设计上的硬伤了,我们在做平台产品设计时,会遇到想在一个页面展示更多内容的情况,这种初衷是好的,尽量少让客户切画面,但是这种设计也会造成页面加载内容过多,效率特别低,这时候这个功能设计就变成了一个鸡肋,设计上是友好的,但是效率上是有问题的,此时就需要把该功能进行重构,进行功能拆分。
3、技术问题
其实一个产品的重构原因也是多种多样的,技术也是掣肘产品发展的一个重要因素,比如技术设计初期,并未考虑高并发问题,但是在平台上线后,这种问题出现的频率越来越高。
这种情况有时候并不是故意的,因为处理高并发问题的成本是比较高的,大部分的平台在初期对未来的发展还是未知的情况下,这种问题的价值就会很低,所以这种幸福的苦恼,一般都发生在平台高速发展的阶段。
总体来说,几乎每个平台产品的发展都会遇到如上三个问题,有些是人为的,有些是技术条件的限制,有些是成本的限制。
种种原因也造成了平台重构的高频率发生,之所以有些公司的一些业务让人感觉一直在重构,很大的原因是因为在每次重构完成后,没过多久又不能满足新的业务需求了,为了发展只能再重构。
所以,我们还是推荐专业的人做专业的事情,在平台设计的初期一定是请专业的人士做好前期的规划和分析,尽量减少平台重构的风险。
商业和技术问题咨询请联系慕蓉老师
微信 ID:murong0512