业务分析到架构设计(上)

简介: 业务分析到架构设计(上)

前言:

在过去的若干年工作中,一直尝试找寻找业务场景和架构设计之间关系,并且梳理出清晰有效的映射方法供大家理解以及实践采用。这个过程是不断摸索的过程,也很艰难,也算小有理解,继续的探究也难有突破,所以整理浅见,希望对行业同仁有所帮助。

上篇按照我理解和分析业务的方式讲解如何逐步分析业务结构。这个部分是帮助技术部门理解2件事情,一件事是业务需求密度的来源,一件事是业务需求动态性和多态性的来源。针对该部分我的方法是:分析业务构成要素、分析业务规模要素、分析业务形态要素、分析业务稳态要素。

中篇旨在围绕业务未来尝试思考设计理念和构建宏观架构拓扑,需要反向绘制和重组业务链条,得到技术视角的架构全景和体系架构(这需要拆解业务链条,并对中间环节继续进行多样性分析)。

下篇在架构全景和体系设计理念的基础上,更多关注工程层面的架构落地要点和设计方法,更多解决业务内核映射和弹性设计问题,这个环节离不开大量的建模设计。

下面展开上篇业务理解与分析的4个环节:

【1】分析业务构成要素:

任何公司切入某个行业是因为该行业未来有足够的市场空间,该行业过去或现在正在经历行业产业链要素的变化,因此通过重塑解决方案或者优化现有方案可以获取新的市场。所以第一步按照业务过程,拆分业务的构成要素来提炼业务,看看存在哪些发生变化的要素,其实也能帮助我们更好理解公司的战略意图和阶段布局意图。

依我的从业经验,抛出部分案例举例供大家找找感觉:

新零售:生产+供应链+营销(社区、渠道)+交易场景(菜场、超市、平台撮合)+履约场景(到店、自提、配送)+用户需求(多快好省)

互联网医疗:用户需求(就诊、购药、咨询、康复)+医师资源+就诊+导诊+诊疗方案+供应链/服务(短期、长期慢病、器械、护理)

在线教育:学生需求+教材+师资+教学场景+营销渠道

业务核心要素的分析,只是表明市场维度的可能性和切入角度,偏向于商业分析,并不等于实际状况。

【2】分析业务规模要素:

进入到行业以后,业务需要获取到足够数量的用户和客户,这就是通常听到的增长和规模。又由于具体业务极难全链条产业重构和整合,往往是局部的参与,因此会产生业务范围和边界。(比如同样是互联网医疗领域,假设做实体医院和患者就诊业务,那么业务规模关键是取得足够的医院覆盖和医师专家资源;假设做的在线便捷购药,那么业务的规模关键是足够的品类覆盖、用户营销、和配送能力(但是叮当与美团送药、京东健康的模式也不同))

规模的取得需要突破制约因素,假设突破成功,那么业务达到完美状态,假设突破不成功,那么轻则发展滞缓,重则公司死掉。比如叮当是自营和前置仓模式,用户规模的取得依赖品类规划和前置仓覆盖,前置仓覆盖依赖社群密度和财务模型(假设1个仓长期无法盈利,那么没有办法继续扩建),前置仓财务模型依赖用户交易规模和供应链优化。比如美团平台模式送药,依赖药品分润空间和供应商覆盖,供应商覆盖又要看供应商的门店数量和品类覆盖。

规模的取得不是一朝一夕的,过程是长期的、变化的、直至达到稳态。通常先经历MVP,在经历MDP。期间围绕公司业务的定位,需要具备一系列开展业务的路径和方法,通俗理解就是先做什么、后做什么、在做什么,以及如何判断做的好不好。

常规看,基本是先发力做产品供给侧,而后发力做用户侧,最后在双端匹配中寻求最优匹配方案。所以技术团队需求分布于早期集中在供需双端,中期集中于精细化运营,后期集中于大规模推荐和匹配。作为技术管理者,要理解公司的市场位置和业务底层设计,一方面需要洞察团队的需求内容分布是否合理,需求分布是否与当前阶段公司方向吻合;一方面注意业务阶段变化的衔接,做出技术预研和架构调整。

【3】分析业务形态要素:

业务规模要素的假设分析、障碍因素的识别分析等不具备实操性,不会帮助业务真的达到那个规模,此时需要对业务形态、形式做更多更深解读(一般是市场的细分思考和设计),看看有哪些可能性和差异性,以及可以在业务层面进行覆盖和满足。
换句话说,早期通过最小解(MVP)判断需求真伪和方案真伪,中后期通过最大解(MDP)实现业务形式的覆盖进而达到业务规模。所以最大解是指对行业市场形态进行多维度细分,以图有效指导战略设计和业务覆盖。
对行业形态做穷举和罗列需要分别围绕当前存量市场和未来增量市场展开,进行多样性分析,可大胆做出想象和假设(技术同学可以多阅读行业材料、报告,与业务同学、产品同学交流等方式来收集信息)。伴随着业务多样性变化的过程,技术团队会被需求不断渗透,会打破原有的技术架构方案。比如美团社区团购的半平台模式假设遇到订单增长或者供给匹配效率的瓶颈,那么也许会尝试自建仓储增加供应链厚度,仓配能力的增加和联动也会补充美团在本地生活的竞争力,但是落地层面变成多业务聚合模式的并行,不管在战略制定层面、业务设计层面、一线执行层面还是技术应对层面,都需要做出调整(比如商品技术团队、商家技术团队、供应链技术团队、履约技术团队的历史架构方案会被新模式打穿)。
下面是展示了2个小例子,我自己的经验对线上化零售和线上化教育形式的理解。
• 1
• 2
• 3
• 4
• 5
• 6
• 7

零售:

教育:

【4】分析业务稳态要素:

极少有公司业务通过单一场景的满足就经营的很好,通常会对用户群体、需求模式、地区差异的做很多很多的分析,针对设计足够匹配的方案,分别满足用户。

比如零售业务内用户收入的不同、品质需求爱好的不同、年龄的不同(50 60 70 80 90)、地域的不同、场景的不同(自食、宴客) 带来的需求差异性的挑战,假设我们要实现日均1000万单,那么这些差异性问题的思考必不可免,比如线上化的70到00后用户只能帮助实现600万订单,还有400万缺口,那么线下的50 60后用户也就需要覆盖,那么社区模式、菜场模式、零售店模式等可能都会尝试。

比如远程医疗和诊疗业务形式单一,虽然很有意义和价值,但是商业规模和利润不足,所以公司就会尝试做医药电商等。比如叮当的自营模式规模化难度高,如果长期无法突破,那么和供应商合作做半平台模式也有可能。

因此同质业务场景中会存在很多模式(某些公司也会拆分很多业务线和部门管理业务),此时在业务模式和形态的基础上,追加业务基础链路,那么可以提炼出业务模式复杂性的二维解结构,具体分析过程需要大家多练习和归纳(比如教学场景对课程生产方式进行穷举、对学生需求进行分类等等等)。

以我之前经历的某业务为例,直接贴一个结果给大家参考:

基于业务模式多样性的二维结构,接下来需要面向业务方案的技术落地,构思架构拓扑愿景和中长期架构理念,这部分将在《中篇》展开。
相关文章
|
4月前
业务系统架构实践问题之定制点的大小怎么设计如何解决
业务系统架构实践问题之定制点的大小怎么设计如何解决
|
4月前
|
设计模式
业务系统架构实践问题之业务间的差异性如何解决
业务系统架构实践问题之业务间的差异性如何解决
|
4月前
|
运维 Java Docker
业务系统架构实践问题之在某些情况下,将能力代码和业务逻辑严格分层可能是一个挑战问题如何解决
业务系统架构实践问题之在某些情况下,将能力代码和业务逻辑严格分层可能是一个挑战问题如何解决
|
6月前
|
设计模式 架构师 安全
如何提高自己的架构设计能力?
提升架构设计能力涉及深入学习基础知识、业务理解、技术广度与深度、实践经验等多方面。要关注代码的清晰结构、抽象能力、系统性能和可扩展性。学习编程语言、设计模式、系统设计原则和分布式系统是关键。通过实际项目和不断学习反思,可以增强架构设计技能。例如,上述代码展示了清晰的结构和设计原则应用。
349 0
|
6月前
|
存储 SQL 搜索推荐
业务系统架构实践总结
作者从2015年起至2022年,在业务平台(结算、订购、资金)、集团财务平台(应收应付、账务核算、财资、财务分析、预算)、本地生活财务平台(发票、结算、预算、核算、稽核)所经历的业务系统研发实践的一个总结。
|
前端开发 网络协议 Android开发
写业务不用架构会怎么样?(三)
写业务不用架构会怎么样?(三)
92 0
写业务不用架构会怎么样?(三)
|
架构师 测试技术
【业务架构】业务架构师如何构建业务能力图?
【业务架构】业务架构师如何构建业务能力图?
【业务架构】业务架构师如何构建业务能力图?
|
XML 存储 前端开发
写业务不用架构会怎么样?(二)
写业务不用架构会怎么样?(二)
110 0
|
XML 前端开发 网络协议
写业务不用架构会怎么样?(一)
写业务不用架构会怎么样?(一)
109 0
|
测试技术
【企业业务架构】什么是第一?架构还是流程?
【企业业务架构】什么是第一?架构还是流程?