惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
博客园 - 司徒正美
I
InfoQ
宝玉的分享
宝玉的分享
G
Google Developers Blog
J
Java Code Geeks
Martin Fowler
Martin Fowler
The GitHub Blog
The GitHub Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
罗磊的独立博客
腾讯CDC
F
Fortinet All Blogs
A
About on SuperTechFans
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Recent Announcements
Recent Announcements
Last Week in AI
Last Week in AI
B
Blog RSS Feed
博客园 - 聂微东
D
DataBreaches.Net
Hugging Face - Blog
Hugging Face - Blog
The Cloudflare Blog
L
LangChain Blog
Microsoft Azure Blog
Microsoft Azure Blog
aimingoo的专栏
aimingoo的专栏

人人都是产品经理

为什么你的产品找不到差异化?90%的失败都卡在第一步上(下) – 人人都是产品经理, 3年从30万到1300万用户、获2200万美元融资,这个AI教育产品用“抽卡”破解了获客难题 – 人人都是产品经理, 园区招商系统怎么做才能真正帮到去化?我加了这一个功能,推广链接转发400次阅读过万 – 人人都是产品经理, AI大事件:OpenAI发完网络安全模型又搞药物研发,小鹏汽车要抓”DeepSeek时刻” – 人人都是产品经理, 电商不是卖货,是一场更残酷的产品经理实战 – 人人都是产品经理, 没想到,活动营销又回来了! – 人人都是产品经理, 为何All-in海外KOC:一场关于AI时代窗口期的豪赌 – 人人都是产品经理, 重新理解企业的内部协作 – 人人都是产品经理, 苹果的 AI 战略到底是什么? – 人人都是产品经理, 医疗智能体·第2讲——合规护城河:等保、PIPL与HIPAA的架构实战 – 人人都是产品经理, 向量知识库五步法:从“答非所问”到“精准回复” – 人人都是产品经理, 鸿蒙PC三方库构建总指挥HPKBUILD(sha)库为例 – 人人都是产品经理, 何时该用LLM?AI产品经理的LLM设计指南 – 人人都是产品经理, 医疗信息领域的需求方、决策方、准入方以及关注点(二) – 人人都是产品经理, 即梦涨价:一场被误读的「傲慢」 – 人人都是产品经理, 面试AI PM必答题:Hermes和OpenClaw的区别,如何讲清楚业务价值 – 人人都是产品经理, AI的下一张船票:世界模型——AI产品经理必须理解的技术拐点 – 人人都是产品经理, 小红书做GEO,怎么让AI信你?记住这 3 个重要信息 – 人人都是产品经理, 5 家印度 AI 初创公司,看看印度 AI 再做什么 – 人人都是产品经理, AI项目跨团队协作:产品技术业务如何不打架 – 人人都是产品经理, Agentic Workflow(智能体工作流):让AI从”答案生成器”变成”数字员工” – 人人都是产品经理, lycium_plusplus 项目全景解读:OpenHarmony 三方库构建的“大管家” – 人人都是产品经理, 从爆单救火到前置履约:两套预采策略,把生鲜大促履约效率拉满 – 人人都是产品经理, 什么时候该补货?我用一轮数据做了一个决定 – 人人都是产品经理, 从“机械兜底”到“动态分流”:AI客服重复进线治理的4大底层逻辑 – 人人都是产品经理, 抖音拼效率,红书拼洞察 – 人人都是产品经理, 全民狂欢与退潮——为什么龙虾这波热潮冷却得如此之快? – 人人都是产品经理, Stripe押注!MPP重塑全球支付 – 人人都是产品经理, 小红书GEO:AI引用你的内容,不是因为你对,而是因为你看起来可信 – 人人都是产品经理, 前百度副总裁押注办公Agent,日韩付费爆发,Manus迎来强劲对手 – 人人都是产品经理,
如何解决产品标品与客户个性化需求之间的冲突问题?
桃树窗前 · 2024-11-20 · via 人人都是产品经理

做Saas经常会遇到一个问题:我们希望功能做成标准化的产品,但客户总有自己的个性化需求。这种情况,如何解决?这篇文章,作者给到了自己的解决方案,大家可以参考一下。

01 冲突与矛盾

相信不少做 ToB 产品的同学都会遇上这个问题:标准产品与客户个性化需求之间的冲突问题。

在某个 ToB 端细分领域中,想在已有的项目或者行内通用规范的基础上,提炼出产品标品(还谈不上是 SaaS),这样在面对新的客户时,可以实现低成本、快速高效地完成交付。

形成行业产品标品是降低项目产品成本的有效方式之一,也是我们作为产品人的心念。

可是,在形成产品标品之后,我们怎么满足客户个性化需求?在 ToB 产品,个性化的需求是在所难免的,这也是 B 端产品的魅力之一,否则各行业的 SaaS 产品早就统一了市场。

话又说回来,如果是增量的个性化,这种稍微好处理一点,我们在原有产品功能的基础上增加功能就好。然而,有些个性化需求会破坏原产品的逻辑结构,这种不管是产品设计层面还是软件编码实现层面,都很难做到协调与统一。

甚至有很多公司分为两个开发团队,一个团队负责标准产品的开发,另一个开发团队负责开发客户定制化需求,这其中的成本不言而喻。

那有没有什么产品架构可以形成产品标品又可以满足客户各种定制化需求?有问题肯定有解决方案,这个问题困扰了我们团队很久,在总结过往项目经验及团队思想碰撞过后,得到了一个优雅的解决方案。

02 应用的继承与重写

在介绍方案之前,首先了解一下面向对象中关于“类”与“继承重写”相关的概念:

  • 类:一种用于描述现实世界中具有共同属性和行为的事物的模板,是对现实世界中某一类事物的抽象描述,包含了一组属性和方法。属性用于描述对象的状态,方法用于定义对象的行为。
  • 继承:子类继承父类后,子类就可以调用父类的属性和函数,这样子类无需重复实现已有的逻辑
  • 重写:子类继承父类后,若父类的函数无法满足需求,可以在子类中创建一个同名的函数,在子类的函数中实现个性化需求,在实际执行时会执行子类的函数而不是父类的函数。

了解上面的概念后,我们知道了“类”其实是对有共同特征的事物的抽象表达,而继承是为了方便复用,重写可以优雅地解决个性化需求。

那如果我们将一个业务应用当成一个“类”,业务应用之间也支持继承与重写,这样是不是就可以解决标品与个性化需求之间的冲突问题?

我们沿着这个思路再深入探讨,假设我开发了一个相对标准的 CRM (客户关系管理)系统:

1)如果客户没有个性化需求,就用标准的 CRM 交付;

2)如果客户有个性化需求,就新建一个应用继承于标准的 CRM :

  • 通用的部分就使用标准的 CRM,不需要重复开发;
  • 有新增的功能需求,比如加一个【客户来源分析报表】的功能,这样的功能并没有破坏标准 CRM 的结构,我们在新建的应用中实现就可以的了,如果很有客户都有这个功能的需求,我们再将这个功能加到标准 CRM 中;
  • 需要对标准 CRM 中有些功能做调整,比如【客户跟进】,客户跟进的流程有定制化的需求,就在新建的应用中重写这部分的功能

初步的设想好像是可行的。

但是,要注意的是,“类”的内部结构(属性和函数)是有一定标准的,继承与重写本质是利用“类”的属性和函数,对应地,业务应用内的结构也需要有一定的标准和规范,这样才能和“类”一样继承与重写。

那问题来了,怎么定义应用内的结构呢?

03 解构业务应用并模块化

长期设计具体的产品功能需求容易陷入繁琐的细节问题而难以站在更高的维度重新审视产品结构,这是很多产品人面临的窘境。不管是为了产品的健壮性还是为了个人的发展,都很有必要时不时地用顶层设计思维重新思考产品。

在分析了大量业务应用后,我们发现,业务应用基本都是由菜单功能、导航框架、业务流程、后台数据逻辑、任务、事件订阅等模块组成,当然,不是所有的模块都是必需的,根据应用的实际业务需要可做对应的调整。如此拆解之后,我们自然而然地就想到了将应用模块化,模块之间尽量解耦,但同时需要提供一种机制保证各模块之间可以相互通信,比如功能之间可以相互跳转,在菜单功能中可以调用后台数据逻辑,在业务流程中可以触发事件订阅等等。

模块化的颗粒度可以根据实际的业务应用来做划分,我这里是将低代码平台作为业务应用开发的解决方案。如果是纯业务应用,可以换一种思路将应用模块化,比如按照功能的维度,订单模块、用户模块、系统模块等等,每个功能模块包括前端页面、数据表结构、数据流转逻辑等等,利用功能来划分,也需要做到模块与模块之间尽量解耦,模块之间不要有太多的耦合。

将应用模块化之后,我们再将模块类比于面向对象编程思想中的“类”,这样应用之间的继承就可以具体到应用内模块的继承,实际的业务实现本身也是落实到应用的模块中。

04 方案实践与落地

当然上面介绍的还只停留在方案思维层面,而在实际操作中,不管是在产品开发框架还是产品设计架构上都有很大的挑战,需要保证框架有足够的灵活性和扩展性。

我们前期投入大量的精力来建设底层基座平台,包括应用开发、应用模块化、提供应用继承机制、应用商城、应用安装部署、应用可视化运维等能力。

在应用开发维度,我们将业务应用中的模块抽象为不同类型的元素,比如页面元素、数据表元素、后台任务元素、业务流程元素等等,元素支持继承与重写。基于不同类型的元素创建的实例元素(一个对象就是“类”实例)组成一个业务应用,对于后续的扩展,增加元素类型就可以了。

利用这些元素开发好一个标准 CRM 系统并上传到官方应用商城作为应用模板,没有个性化需求的客户直接从应用商城安装就可以了,若有个性化需求,新建一个空白的应用继承于标准 CRM 系统

这样在面对下面这场的个性化需求就可以从容应对了:

  • 在客户表新建再加一个字段,重写【客户表】数据表模型即可;
  • 增加线索合并逻辑,重写【线索合并】页面逻辑即可;
  • 增加一个跟进分析的功能,在新建的应用中增加一个功能即可;

从产品上线到现在, 2 个月不到的时间就解决了几十个有定制化需求的客户问题。虽然平台建设的前期成本会比较大,但在后续的项目交付中,极大地提升了项目交付效率并优雅地解决了标准产品与客户个性化需求之间的冲突问题。

当然肯定还有很多优雅的方案可以解决产品标品与客户个性化需求之间的冲突问题,如果你对这方面感兴趣,欢迎可以在评论区留言或者私信,好的方案都是在沟通碰撞中乍现的!

本文由 @桃树窗前 原创发布于人人都是产品经理。未经作者许可,禁止转载

题图来自Unsplash,基于CC0协议

该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务