SaaS重构揭秘(1):为什么会出现重构?

访客3年前关于黑客接单785

当重构不行制止产生的时候,产物司理要弄清楚重构的原因并在重构之前做好筹备。

SaaS重构揭秘(1):为什么会呈现重构?

市场上的saas公司有一个很怪异的现象,要么规划开始重构,要么已经走在重构的路上,好像永远离开不了重构的魔咒。

我其时去丁香园的时候,主要就是为了去做整个系统的重构(严格意义上来讲应该叫重做)。

一、为什么频繁呈现重构?

在我看来,主要有以下3点要害原因。

1. 没有思量清楚业务成长轨迹

许多公司在刚创建之初,可能是业务线刚启动之初,倾向粗放式成长,可能缺乏有体系的业务和产物筹划。什么是粗放式成长,就是说前期收到一个客户需求,简朴判定后,就开始设计并开拓落地。

整个进程遵循的一个原理是快速、简朴、高效的落地,并投入市场。

快就会心味着许多环节都缺乏足够的阐明和论证,许多决定会陪伴着大量拍脑壳式的主观抉择。

这样的 *** 有长处、也有弊端,长处就是顺应了业务,业务需要你快速给她一个可商用的产物,可以直接办理客户今朝存在的问题,你在最短的时间内做好并交付,很是机动

弊端也很明明,首先你做的产物只能对应的办理现有的客户需求;别的过于快速的前期产物设计调研进程也会差遣产物司理弱视、甚至不去思量产物将来会如何成长。

而跟着用户需求在不久的将来不绝进级,且产物并没有做好富裕的可扩展性,就会发明现有的底层设计已经无法满意不绝成长的业务变革了。

这就像造屋子,你当初为了造个小平房,打了个适合小平房的浅地基,功效盖着盖着,你盖成了一座摩天大楼,毫无疑问这样的地基是无法承载摩天大楼的,无疑只能推倒重来。

许多时候,我们确实不知道将来业务会酿成怎么样,有履历的PM能想的更深一些,判定的更精确些,可是也不行能完全预料的一模一样,因此无法因为这个原因完全制止重构,可是我们可以通过前期对付业务将来成长的偏向判定,融入更多的可扩展性设计,淘汰因为这个原因所导致的重构的大概性。

举个例子,一个营销勾当,涉及到商品选择、介入人员选择、介入法则配置、奖品的配置、投放渠道配置。

初期,思量到尽快上线,回收建设勾当页直接集成这些配置项,然后一步到位建设勾当,对用户来说无疑是最便捷的,对开拓来讲也无疑是最简朴的。

可是跟着营销勾当的场景慢慢增加,好比选择商品的时候需要支持凭据规格举办筛选;选择介入人员的时候需要支持凭据是否是会员举办筛选;投放渠道从本来1个渠道酿成了3个渠道。

再好比当商品窜改了某些属性,那么导致了营销勾当建设中也得改;会员增加了品级种类,那么营销勾当建设中也得增加;投放渠道和勾当法则集成在一起,每次增加一个新渠道,就得从头写一遍勾当建设。

这个时候开拓就开始猖獗了,原先的方案跟着业务的成长带来庞大的迭代本钱,前期因为没有筹划好产物,导致拟定的技能方案险些没有任何可扩展性,最终只能靠重构来彻底办理这个恶疾。

2. 产物成果设计问题

这是第二种较量高频的环境,就是产物成果设计有问题导致的重构

好比:我们本来针对诊所的预约系统,预约到科室维度,回收了科室组的观念,这是一个在线下没有的观念,是之前产物为了办理一个问题而生造出来的观念。

什么问题呢?

因为线下诊所存在这样的场景:一个大夫需要在多个科室举办看诊,因此他的看诊时间被多个科室占用着。也就是说当用户A预约了科室1的上午8点,那么用户B就不能预约科室2(和科室1是同一个大夫)的上午8点了。

所觉得了办理这个问题,把科室1和科室2举办打包,配置成一个科室组,同时配置科室组的开放预约时间段。那么可以针对科室组举办预约。

这在其时其实是为了办理大夫时间斗嘴的问题而专门设计的一个产物成果。

固然大抵上办理了这个问题,可是因为引入了科室组,导致客户在配置排班的时候操纵越发巨大,领略难度也加大了,更不消说利用了(调研发明只有很少量客户在用)

固然需求存在,可是因为成果的不公道设计,导致用户并没有真正用起来。也就是说这样一个刚需痛点并没有很好的办理。因此对该成果举办重构,就是当务之急了。

再举个例子:

产物司理但愿用户在欣赏商品列表页的时候,可以或许按照当前用户会员品级显示相应的会员价,导致了该页面最终需要请求多个接口,而使得页面加载异常的慢,在优化了屡次后,也没有明明的改进。因此只能对该成果举办整体改革,这其实就是一次重构,只不外局限和巨大度相对较低,算是一个小重构。

3. 技能架构问题

有些重构,其实并不是产物层面的重构,更多是技能层面的重构。

原先的底层表布局设计,已经无法满意并实现新的成果,业务倒逼重构

原先的业务代码过于耦合,导致后续的迭代本钱不绝攀升

尚有就是原先代码有许多缺陷的处所,好比编码类型等,重构是对代码的完善

原先开拓人员的履历欠缺、业务阐明不透彻,导致技能方案并不公道,优化可能改换技能方案

尚有就是新技能、新框架的风行所带来的代码进化要求

这三类问题险些每家公司都碰着的问题,并且不可是产物问题,更多的是打点上的问题和人的问题。

相关文章

答应我,Saas重构前这10个坑一定要看完!

答应我,Saas重构前这10个坑一定要看完!

我以为重构这个坑太大了,所以就从十个偏历来说说,重构前到底有哪些点是值得留意的。 假如你没有做过重构,请看完这10个坑后保藏起来,下次要重构前翻出来再仔细看一遍,顺便给你的leader也看看;假如你...