原来简单提过这个话题,今天再相对深入的和大家探讨下。中国目前绝大多数saas公司都是销售驱动,客户需求驱动,很难拒绝定制开发,很容易就做成项目了,除非有很强产品力和业务洞察力的团队来做,否则慢慢的经过几年积累,产品就会变得臃肿不堪。
这种情况下,应对一些市场新锐的竞争就很被动。而且体验差了之后客户会慢慢流失,团队对此无能为力,从而陷入进退两难的困境,这也是中国大多数B端产品企业的现状。
现有产品上重构or另起炉灶新开发一套?这个时候,公司就面临艰难的抉择,基本上所有研发团队都会建议另起炉灶,从研发角度这是更简单,更高效的方式,不用管原来的恶心代码,团队士气也会更高一些,但从公司的角度,更需要考虑几个因素:一套新的系统从开发到小部分客户上线使用,再到成熟稳定,是需要相当长的打磨周期的。
这个成本包括在迁移过程中投入的BD、实施、培训、售后成本,也包括客户投入的成本。
一般来说,B端产品的迁移成本极高,客户要改变使用习惯成本也极高。而且总有一些客户不愿意迁移,最终不可避免的结局就是长期维护两套系统。没有经历过的人是很难想象这样的代价和成本的,迁移老客户,老客户劳筋动骨;不迁移老客户,老客户一定程度受忽视和伤害,影响口碑;
除非客户非常少,或者可以基本保证比较低成本的全部迁移,笔者很不建议另起炉灶新开发一套,成本极大,除了所有的成本乘以2,还有迁移以及客户那边的成本,每一个客户的迁移以及实施落地可能都是一个复杂的项目。
所以新开发一套相比在现有产品上重构,成本绝对是指数级的增大。很多公司这样选择后,陷入对新产品不够满意,老产品也迁移不过去的困境,浪费大量时间和资源,笔者鲜有发现成功案例。
那如果需要去庖丁解牛的重构一套系统,我们应该怎样来做呢,笔者觉得可以参考以下思路以及原则:
如同我以前一篇文章中说到的,人是事情成功与否的最关键要素。要做好庖丁解牛的工作,有几个角色非常重要,数据库架构师,解决方案架构师,功能架构师。不一定每个角色都需要一个人,但是一定要有人承担对应的角色。比如说数据库是B端产品的基石,一旦错误之后调整的成本非常高,数据库架构师需要是懂数据库设计技术,对业务发展、业务细节非常了解并有前瞻性的一个人或者多个人来协作。解决方案架构师实际也是需要是懂业务,并对技术有理解的一个人或者多个人。
B端产品是一个交叉学科,单一的懂业务,懂技术的人都相对好找。既理解业务,也理解技术,并且能够有机结合的人比较难找,这种人目前在中国属于稀缺资源。一般来说,这种交叉学科,技术的人去学习业务比业务的人学习技术要容易一些,公司内部要选择合适的人往这个方向培养。
如果在短时间内很难有合适的人,也最好有一个外部的顾问来进行一定程度的把关。
要确定产品重构的路径,需要将产品最终的大致架构,主要是功能架构,系统架构设计出来,另外确定一些核心业务设计的思路以及原则,反复打磨,才能得出比较满意的答案。知道了终点大概是怎样的,才能很好的思考最佳的前进路径。
对于产品的重构来说,路径以及优先级的选择极其重要,能够找到最合理,最省力的路径是非常考验团队的,这里很难有一个固定的答案,但是有一些原则性的内容可以去遵循:
做重构最核心的是将数据库架构,产品功能架构,页面架构做正确。数据库也好,功能也好,页面架构也好,实际上就是找到最合理的方式,就是在用户体验以及产品的生长性之间找到平衡点。一般来说,让用户用足够少的页面看到足够多关心的内容对于体验是最好的,但是产品是生长的,架构分类没有分好,最后功能或者页面也会非常拥挤,不能扩展,所以需要找到体验和生长性之间最佳的平衡点。
一些核心的数据库表,核心的功能架构需要尽量优先的去调整,在错误的数据库,错误的功能架构上做的内容都是无用功,还是要重新来过。
一些高频使用的核心模块,或者特别烂的功能要优先去重构,这种重构对用户的价值也是最大的,客户有足够的动力来进行配合。
产品不是静态的,我们在做产品重构的时候,一定会面临外部大量的需求还在不断的涌进来,对于新需求很多的功能模块,与其在错误的功能基础上面花大量的时间做新需求,还不如重新来做一下。实际上所谓的重构,很多时候都是一个个模块,一个个功能进行重写,将大的风险用敏捷,庖丁解牛的方式去分解掉。
4: 追求极致,不要重蹈覆辙,每次重构的机会都是一次重生的机会。
这个不用多说,每次重构一个模块,都是一次重生的机会。我们不能用一个坑去填另外一个坑,至少要做到85分以上的设计才开始动手,不要一味的追求速度。
5: 尽最大努力的做减法,每一次成功的减法都是一次胜利。对于臃肿系统的重构,在重构重写过程中,一定要想尽一切办法做减法。模块的减法,功能的减法,甚至一个字段的显示,一个检索条件,减到极致,好的重构一定伴随着大量的减法。
从客户角度,每次重构之后的升级对于已经熟悉历史系统的人来说,都是一次折磨,折磨的次数多了客户是容易崩溃的。从用户的体验和口碑的角度,在迭代安排上面有如下的一些建议事项:
每次迭代升级,重构后的新版本体验需要大大超过原来的版本,或者有能够解决客户痛点的新功能,用户才有动力升级。在设计安排每次迭代计划的时候,要充分的考虑用户升级的动力,否则会碰到很多阻力。
2: 迁移升级过程,尽量做到客户无感知,免培训,减少客户的投入成本。每次重构之后的升级经常会伴随数据迁移,这个负担不要给到客户,实施团队帮助客户完成,另外每次重构后的功能要做到基本上不需要培训,客户也可以基本上不用投入实施培训的成本。
3: 做好灰度测试,先要确认新的功能可行再进行全量的发布。
每次大的重构,都需要一定时间的灰度测试周期,让一些典型客户先将重构的模块用一下,确保没有问题之后再进行全量发布,这样可以尽量少的折腾客户。每一次折腾,都会带来不信任以及后面的不配合,产品口碑变差。
4: 新客户只开放必要的功能,减少后续迁移的成本。这是一个小的tips,对于老产品中一些做的不好的非必要功能,在重构的过程中,通过权限处理,就不要开放给不断增加的新客户了,免得后面还增加迁移的成本。
重构很难;简洁很难;人生很难;不过大部分人只有经历过足够多难题之后才能找到内心的从容,过好平淡的生活。
我们致力于提供一个高质量内容的交流平台。为落实国家互联网信息办公室“依法管网、依法办网、依法上网”的要求,为完善跟帖评论自律管理,为了保护用户创造的内容、维护开放、真实、专业的平台氛围,我们团队将依据本公约中的条款对注册用户和发布在本平台的内容进行管理。平台鼓励用户创作、发布优质内容,同时也将采取必要措施管理违法、侵权或有其他不良影响的网络信息。
一、根据《网络信息内容生态治理规定》《中华人民共和国未成年人保护法》等法律法规,对以下违法、不良信息或存在危害的行为进行处理。
1. 违反法律法规的信息,主要表现为:
1)反对宪法所确定的基本原则;
2)危害国家安全,泄露国家秘密,颠覆国家政权,破坏国家统一,损害国家荣誉和利益;
3)侮辱、滥用英烈形象,歪曲、丑化、亵渎、否定英雄烈士事迹和精神,以侮辱、诽谤或者其他方式侵害英雄烈士的姓名、肖像、名誉、荣誉;
4)宣扬恐怖主义、极端主义或者煽动实施恐怖活动、极端主义活动;
5)煽动民族仇恨、民族歧视,破坏民族团结;
6)破坏国家宗教政策,宣扬邪教和封建迷信;
7)散布谣言,扰乱社会秩序,破坏社会稳定;
8)宣扬淫秽、色情、赌博、暴力、凶杀、恐怖或者教唆犯罪;
9)煽动非法集会、结社、游行、示威、聚众扰乱社会秩序;
10)侮辱或者诽谤他人,侵害他人名誉、隐私和其他合法权益;
11)通过网络以文字、图片、音视频等形式,对未成年人实施侮辱、诽谤、威胁或者恶意损害未成年人形象进行网络欺凌的;
12)危害未成年人身心健康的;
13)含有法律、行政法规禁止的其他内容;
2. 不友善:不尊重用户及其所贡献内容的信息或行为。主要表现为:
1)轻蔑:贬低、轻视他人及其劳动成果;
2)诽谤:捏造、散布虚假事实,损害他人名誉;
3)嘲讽:以比喻、夸张、侮辱性的手法对他人或其行为进行揭露或描述,以此来激怒他人;
4)挑衅:以不友好的方式激怒他人,意图使对方对自己的言论作出回应,蓄意制造事端;
5)羞辱:贬低他人的能力、行为、生理或身份特征,让对方难堪;
6)谩骂:以不文明的语言对他人进行负面评价;
7)歧视:煽动人群歧视、地域歧视等,针对他人的民族、种族、宗教、性取向、性别、年龄、地域、生理特征等身份或者归类的攻击;
8)威胁:许诺以不良的后果来迫使他人服从自己的意志;
3. 发布垃圾广告信息:以推广曝光为目的,发布影响用户体验、扰乱本网站秩序的内容,或进行相关行为。主要表现为:
1)多次发布包含售卖产品、提供服务、宣传推广内容的垃圾广告。包括但不限于以下几种形式:
2)单个帐号多次发布包含垃圾广告的内容;
3)多个广告帐号互相配合发布、传播包含垃圾广告的内容;
4)多次发布包含欺骗性外链的内容,如未注明的淘宝客链接、跳转网站等,诱骗用户点击链接
5)发布大量包含推广链接、产品、品牌等内容获取搜索引擎中的不正当曝光;
6)购买或出售帐号之间虚假地互动,发布干扰网站秩序的推广内容及相关交易。
7)发布包含欺骗性的恶意营销内容,如通过伪造经历、冒充他人等方式进行恶意营销;
8)使用特殊符号、图片等方式规避垃圾广告内容审核的广告内容。
4. 色情低俗信息,主要表现为:
1)包含自己或他人性经验的细节描述或露骨的感受描述;
2)涉及色情段子、两性笑话的低俗内容;
3)配图、头图中包含庸俗或挑逗性图片的内容;
4)带有性暗示、性挑逗等易使人产生性联想;
5)展现血腥、惊悚、残忍等致人身心不适;
6)炒作绯闻、丑闻、劣迹等;
7)宣扬低俗、庸俗、媚俗内容。
5. 不实信息,主要表现为:
1)可能存在事实性错误或者造谣等内容;
2)存在事实夸大、伪造虚假经历等误导他人的内容;
3)伪造身份、冒充他人,通过头像、用户名等个人信息暗示自己具有特定身份,或与特定机构或个人存在关联。
6. 传播封建迷信,主要表现为:
1)找人算命、测字、占卜、解梦、化解厄运、使用迷信方式治病;
2)求推荐算命看相大师;
3)针对具体风水等问题进行求助或咨询;
4)问自己或他人的八字、六爻、星盘、手相、面相、五行缺失,包括通过占卜方法问婚姻、前程、运势,东西宠物丢了能不能找回、取名改名等;
7. 文章标题党,主要表现为:
1)以各种夸张、猎奇、不合常理的表现手法等行为来诱导用户;
2)内容与标题之间存在严重不实或者原意扭曲;
3)使用夸张标题,内容与标题严重不符的。
8.「饭圈」乱象行为,主要表现为:
1)诱导未成年人应援集资、高额消费、投票打榜
2)粉丝互撕谩骂、拉踩引战、造谣攻击、人肉搜索、侵犯隐私
3)鼓动「饭圈」粉丝攀比炫富、奢靡享乐等行为
4)以号召粉丝、雇用网络水军、「养号」形式刷量控评等行为
5)通过「蹭热点」、制造话题等形式干扰舆论,影响传播秩序
9. 其他危害行为或内容,主要表现为:
1)可能引发未成年人模仿不安全行为和违反社会公德行为、诱导未成年人不良嗜好影响未成年人身心健康的;
2)不当评述自然灾害、重大事故等灾难的;
3)美化、粉饰侵略战争行为的;
4)法律、行政法规禁止,或可能对网络生态造成不良影响的其他内容。
二、违规处罚
本网站通过主动发现和接受用户举报两种方式收集违规行为信息。所有有意的降低内容质量、伤害平台氛围及欺凌未成年人或危害未成年人身心健康的行为都是不能容忍的。
当一个用户发布违规内容时,本网站将依据相关用户违规情节严重程度,对帐号进行禁言 1 天、7 天、15 天直至永久禁言或封停账号的处罚。当涉及欺凌未成年人、危害未成年人身心健康、通过作弊手段注册、使用帐号,或者滥用多个帐号发布违规内容时,本网站将加重处罚。
三、申诉
随着平台管理经验的不断丰富,本网站出于维护本网站氛围和秩序的目的,将不断完善本公约。
如果本网站用户对本网站基于本公约规定做出的处理有异议,可以通过「建议反馈」功能向本网站进行反馈。
(规则的最终解释权归属本网站所有)