很可惜 T 。T 您现在还不是作者身份,不能自主发稿哦~
如有投稿需求,请把文章发送到邮箱tougao@appcpx.com,一经录用会有专人和您联系
咨询如何成为春羽作者请联系:鸟哥笔记小羽毛(ngbjxym)
我们常常会看到“产品架构”这个词,甚至能看到有些公司专门有一个叫做“产品架构师”的岗位。
说起架构,很多人会觉得很虚,那么到底什么是产品架构呢?
我们知道开发有专门的一个岗位叫技术架构师。推己及人,我们先看下技术架构师是干嘛的?
架构师能对线上业务进行模块划分,系统拆分重构,并做好相关高可用的措施,以保证系统的稳定,安全、高效地运行。简单来说这是一个既需要掌控整体又需要洞悉局部瓶颈并依据具体的业务场景给出解决方案的团队领导任务。
先来看下技术架构师的几个核心关键字:
权衡与平衡
抽象、建模与设计
预见性和前瞻性
简化之美
模式与重用
质量、效率与资源
敏捷、迭代与演进
前构与重构
本质上,技术架构的关键字同样适用于产品架构。
技术架构中有一句比较流行的话:一切脱离业务的架构都是耍流氓。产品更是如此。
我考虑把“产品架构”写成一个系列文章。
这篇文章先会整体讲一下产品架构的基本概念和方法,对于上述关键字的深度解析,如果大家想看的可以在公众号留言“关键字”,我会另外发文进行详细讲述。
一、什么是产品架构?
1、先来看看“人”的构成
(1)从原子水平60多种重要的,如:氧占约65%、碳占约18%、氢占约10%、氮占约3%,(这四个元素约占人体96%)。其他元素较少,但也很重要。
(2)、从分子水平上说,水约占人体约60%,碳水化合物和脂肪占人体约14%,蛋白质占人体约17%。其它如维生素、矿物质、纤维素等。这些是人体的七种营养素。这七种营养素在人体中每一个都扮有非常重要的作用,不可缺少,也不可过多。
(3)在细胞水平分析,人体由细胞、细胞外液及细胞外固体组成。细胞是组成人体的基本单位。
(4)在组织水平分析,人体是由四大组织组成,即上皮组织、**、肌组织和神经组织。
(5)在器官水平分析,多种组织以不同的编排形成器官。人体内有很多器官,如胃、肺、心、肾、脾、胰、肝、**、尿道、子宫等。
(6)在系统水平看,共有9大系统。如消化系统、呼吸系统、脉管系统、内分泌系统、神经系统等等。
我们以消化系统做一个比喻,就很清楚了。先来看下消化系统的示意图:
我们会发现人体消化系统:
(1)由很多器官组成:由消化道和消化腺两大部分组成。
(2)能形成一套自发的运作流程:食物进入口腔、咽、食道、胃、小肠(十二指肠、空肠、回肠)和大肠(盲肠、阑尾、结肠、直肠、**),最后排出**,流程结束。其中消化腺分布在消化道管壁附近,并将消化液排入消化管内帮助消化食物。
(3)有必要的功能作用:食物的消化和吸收,供机体所需的物质和能量
2、B端业务体系的构成
“人体的消化系统”非常像“B端的业务体系”,比如一个患者来诊所看病:
客户需要先在网上预约,然后在约定时间到诊所登记、看诊、付费、取药,最后离开诊所。
整个业务流程由很多”器官”组成:“软**”比如预约、登记、看诊、付费、取药等模块,“硬**”比如医生、护士、药师,以及对应的药品、材料、叫号硬件、打印机等等。
这些软性和硬性的“器官”在整个流程体系中相互协同发挥着不同作用,才能够让患者在流程中顺利的往后推进,直至到达流程的终点。这套业务体系发挥的作用就是有序的让患者得到诊疗。
说完了人的消化系统,再反观B端业务,我们会发现很多相似之处:
(1)消化系统——业务流程体系
(2)组织——底层基础模块
(3)器官——一级业务模块
(4)细胞——二级业务模块
(5)分子——页内tab(三级业务模块)
(6)原子——字段
这里出现的“底层基础模块”、“一级业务模块”、“二级业务模块”。。等本质上就是对业务的分层。
1、定义层级
一般来说B端产品的分层基本就是按照上述(2)-(6)的维度进行划分的,可视业务复杂程度适当增加或减少层级。
2、完成分层
将同一平台下、同一职能下、同一角色下具有高度关联的子模块分到同一层母模块中,这就需要你作出判断哪些模块是业务相似度和关联度都非常高的。
事实上(2)-(6)构成了业务的结构,每个维度模块们的任意一个模块都是结构中的节点,他们之间相互独立,但又相互关联、相互影响。
类似计算机网络的结构:
所以我们看到:B端业务的核心在于业务流程+结构,且业务塑造的结构是为业务流程而服务,什么样的业务流程决定什么样的业务结构。
3、B端产品架构的构成
产品架构就是对业务的结构化抽象!
根据业务体系的分析,我们看到其实TO B产品最后就是要抽象出准确的流程+结构。
我们常常说一个功能,或者一个业务场景的解决方案,本质其实就是一个小系统。
在这个小系统中,上面那些“底层基础模块”、“一二三级业务模块”、“字段”等各种节点支撑了这套业务流程,从而使得这个功能(解决方案)能够形成闭环,并顺利的运转起来。
而众多功能/解决方案又构成了一个产品整体,就像这些众多的相互独立、相互作用、相互依赖的小系统组成了一个大系统。
再强调下:大家要记住TO B业务中,流程是核心,结构都是围绕业务流程进行划分和设计的。所以流程的优先级是大于结构的。
二、如何绘制业务流程图?
一款产品的主要核心业务流程的脉络一定是非常清晰的。
比如这是一款自助开票软件,那么核心流程一定是用户扫码自助填写开票信息,并由系统完成开票,并发送到用户手机/邮箱。
比如这是一个电商平台,那么核心流程一定是选购商品,添加购物车,下单完成支付。
当然B端复杂的业务场景往往会有多条主业务流程,并且附带了很多分支流程。
我们在画流程的时候,首先要定义横纵向维度,其次就是划分模块。
一般来说,流程图的纵向维度可以做成职能部门/角色/平台层
流程的横向维度可以进行平台层/模块层的划分
以下图“拼团功能”为例,横向是平台层,纵向是模块层,这是一个跨平台跨模块的产品需求。可以看到在这个业务流中,一级模块划分出了营销、商品、订单、统计模块。
本质上划分模块就是对业务流的解耦。
三、模块划分的基本原则?
根据上述流程构建的一个非常简单的产品结构图:
这个结构图略去了很多,只是想做个示意
这其中我们看到划分出来了“商品”、“活动”、‘订单“、”统计“,加上“商家管理”、“消息推送模块”共6个模块。
那么在划分模块的时候我们要关注哪些原则呢?
1、关注低耦合
1)什么叫解耦?
藕断丝连,这个词语非常形象,业务体系就像一个藕,业务内部的模块之间的相互关系就像藕丝一样错综复杂,又互相依赖、联系紧密(耦合),解耦就是把藕折断,分成独立的两部分。
本质上它是把场景不同、业务属性不同的模块进行拆分,归为不同的两类,但是因为两者都为业务流程服务,这其中难免会有相互协同的地方,于是就会有丝连的情况,这种丝连体现在流程中。
2)解耦的作用?
解耦能够让场景更聚焦,让功能模块更聚焦垂直业务。比如积分模块,凡是跟积分相关的一切业务需求,如无特殊情况,都可以被归集到积分模块中。对于需要用到积分的其他业务,则可以通过开放一些标准接口供其他业务调用。
最忌讳的是把另一个业务(随便举个例子比如活动模块:抽奖活动,抽中就送积分)和积分模块聚合在一起,这会导致,任何一个模块要做修改和迭代时,都会最大程度的影响另一个模块,导致无论产品还是技术的迭代成本都异常之高。
2、关注角色场景
对于不同职能/角色不同的使用者,他们的业务场景,工作内容必然会有区别,我们不能把他们各自使用的功能权限放在一个模块内,这会带来很多问题:
1、A和B的模块发展方向完全不同,导致模块的发展南辕北辙;
2、A和B的模块关联度很低,产品功能上两者聚合在一起显得毫无意义;
3、用户不希望A的模块可以被B看到和使用,两者的权限不同,但是由于同属一个模块而导致权限非常难划清边界。
所以对于不同职能/角色的使用者,尽量将他们各自所要用到的产品模块拆分开来,保持各自的独立性,是模块划分的一个重要依据
3、关注数据流
业务流程可能会以一个人、或一个主体为中心进行流转。
而数据流是隐藏在表象之下的另一个流程,他是以数据为中心进行流转的。
一般来说,C端产品的数据流,基本只需要考虑前后台的数据流转情况即可。但是B端就会复杂一些,B端saas产品数据往往贯穿C端功能,还会出现跨平台、跨模块的数据流传。
数据流的作用,能帮助你更清晰的划分模块。
四、如何设计产品结构?
1、产品结构设计的范围
产品结构设计包含多层维度的设计。主要有如下5层维度
系统层面的结构——如何分平台/系统
版本层面的结构——如何分版本/权限
模块层面的结构——如何分模块/二、三、四、五级模块
页面层面的结构——如何分页面/页面信息
产品内在逻辑结构——如何用逻辑串联
产品结构的在用户端的展现就是信息结构。这点相信大家都懂,无非是页面层级、页面内部信息层级的划分、信息内容的分类和展示。
其次就是产品内在的逻辑结构:
比如某个配置项应该放在功能模块内还是基础模块内?
比如在连锁系统中,会员是放在连锁维度还是单店维度?
比如直接在营销活动中创建电子券,还是先在电子券模块中创建,然后营销活动进行引用?
这些其实都属于产品功能层面的架构。
2、产品内在逻辑架构设计的7个核心原则及10个案例
1、易用性——从用户使用体验层面考虑
2、可扩展性——迭代、修改的成本最小化
3、技术实现性价比——技术实现成本是否过高不匹配功能价值,按性价比高的去设计
4、普适性——每个单元模块是否可以被其他单元无限重用
5、熟悉业务——违反业务习惯的逻辑设计不能出现
6、掌握产品发展方向——预见产品在中短期内的发展方向,提前考虑进去
7、从简单到复杂——任何一个产品都是从最小MVP开始的,千万不要在开始就架构一套复杂的系统
关于一些结构设计上,我给大家列一些比较高频出现,比较常见的B端产品(不同纬度的产品架构思路)小例子:
1、比如我们有一套面向商家的门店经营管理系统,这时需要一个有一个卡券平台,跟门店管理系统中的业务有着密切的关系,这个时候你该定义这是一套系统还是两套系统?他们的关系是什么?边界在哪里?
2、比如我们做了一套诊所管理系统,后续要垂直化专科式发展,那么到底是通过拆分版本,完全一个科室一个独立的版本?还是做在一套系统里,然后通过权限划分 更合理呢?这其实就是产品架构的一部分
3、比如对于电商类的saas,很多是非协作型的,也就是说模块之间并没有严格的强联系,相对比较独立,独立作为一个B端业务闭环,可单独使用。但是像诊所saas,则是协作型的,即业务流程涉及到多模块多角色,每个角色都需要在流程中承担一部分工作职能。非协作型和协作型的系统设计的思路也是不同的
4、比如我们在设计电子券的时候,我们是通过一个步骤完成创建+投放,还是通过创建一个步骤+投放一个步骤完成流程?背后的考虑因素是什么?
5、对于一些业务流程的设置项,是放在后台该业务模块维度,还是基础设置模块的维度?
6、比如原先要设计商品管理模块,考虑的主要是单店模式,跨店的商品管理是隔离的,但是当跨店客户提出想要统一管理商品,并可以支持总分店和分店之间的商品调拨的时候,单店商品管理的设计方案就无法支撑这样的业务模式,需要做大规模的底层改动
7、确定维度,比如哪些指标是单店维度,哪些是机构维度,比如预约是放在后台“诊所管理”里面,还是单独放在后台“预约管理”中?放在哪个维度又是基于哪些原因考虑的?
8、业务的不满足性,比如我们在做一款电子券的时候,考虑了线上场景,但是还要考虑线下场景,这就需要电子券模块下需要投放到线上(多个渠道)、线下(二维码、短信等),那么渠道后续可能会进行变更,那么假如我们把创建+投放一步完成,那么未来我们要改动渠道,就会影响整个卡券流程,如果我们能分2步,那么只需要对第二步投放进行修改就行,这样系统的可扩展性就会强很多
9、比如对于订单模块的架构设计,是否能够支持各种营销活动:满减、卡券、积分抵扣等,具备足够强的业务包容性
10、重复被使用的模块,如何避免重复造轮子!比如电子券模块,在很多营销活动中都会用到,比如短信消息模块,在很多业务中都会用到,那么这些被高频用到模块就应该抽离出来,而不是每个业务环节中都去做一遍。
3、产品架构必备能力
当然作为一个产品架构师,要完成这些事情,对于能力的要求也是非常高的,最主要的4点。
1、懂业务
2、预见能力,预见未来业务流程、业务模式的变化趋势
3、成熟的B端产品结构化思维
4、懂技术原理,懂技术原理最大的好处就是能大概评估这个设计方案的技术成本,并推动自己选择更合适,投入产出比更低的设计方案
总结
产品架构其实是一个非常复杂而宏大的话题,这篇将近5000字的文章也只是起了个头。
我想说的是,产品架构不只是给产品搭个框架,他出现在产品设计的方方面面中。
通过这样的架构思维帮助产品最均衡的匹配用户的多样性需求,匹配公司的大研发资源,匹配合适的时机把产品做到合适的程度等等。
这是一个系统性的工程,好的架构能够支撑业务发展多年而不重构,更能让用户啧啧称赞。
我想这就是产品架构的魅力吧!
本文为作者独立观点,不代表鸟哥笔记立场,未经允许不得转载。
《鸟哥笔记版权及免责申明》 如对文章、图片、字体等版权有疑问,请点击 反馈举报
Powered by QINGMOB PTE. LTD. © 2010-2022 上海青墨信息科技有限公司 沪ICP备2021034055号-6
我们致力于提供一个高质量内容的交流平台。为落实国家互联网信息办公室“依法管网、依法办网、依法上网”的要求,为完善跟帖评论自律管理,为了保护用户创造的内容、维护开放、真实、专业的平台氛围,我们团队将依据本公约中的条款对注册用户和发布在本平台的内容进行管理。平台鼓励用户创作、发布优质内容,同时也将采取必要措施管理违法、侵权或有其他不良影响的网络信息。
一、根据《网络信息内容生态治理规定》《中华人民共和国未成年人保护法》等法律法规,对以下违法、不良信息或存在危害的行为进行处理。
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 天直至永久禁言或封停账号的处罚。当涉及欺凌未成年人、危害未成年人身心健康、通过作弊手段注册、使用帐号,或者滥用多个帐号发布违规内容时,本网站将加重处罚。
三、申诉
随着平台管理经验的不断丰富,本网站出于维护本网站氛围和秩序的目的,将不断完善本公约。
如果本网站用户对本网站基于本公约规定做出的处理有异议,可以通过「建议反馈」功能向本网站进行反馈。
(规则的最终解释权归属本网站所有)