2.4 电子商务的核心生态系统
2.4.1 常见电商平台的基本模式
在理解了上述的基础概念与前面章节的内容之后,我们将逐步进入电商平台的实战设计。由于各行业领域的电商平台在模式上会有一定的差异,不存在也不可能只用一种电商解决方案就能够适应所有的电商业务,这点对于各个产品设计人员来说需要尤其注意,不要被过往的经验所欺骗。所以这里将介绍一个相对常见的电商产品架构——基础平台型+垂直型电商产品架构,这其中既有自营的B端,也有平台的B-P模式,这是常见的电商供应链的后端领域,而在销售上,则能体现出渠道的多样化与分散化,在这样一个电商平台体系,各类角色通过交易流、信息流、物流、资金流进行互动。
下面对上述定义做一个基础假设。
1)“B”通常包含大型企业供应商与中小型的“个体商家”。
2)“P”在这里发挥了衔接B与C的桥梁与构建电商生态系统的作用,我们认为其是一个拥有强大lT技术实力与网络营销能力的互联网企业。
3)“C”主要指终端消费者,通常是个人消费者,至于“黄牛”“倒手”等投机消费者则不在我们的讨论范畴之内(通常我也会把这类特殊用户作为B端商户标识)。
4)这种电商平台产品结构,在商业模式上,通常用于支持实物商品交易与虚拟商品交易,但不包括服务类交易(因服务类交易与物品类交易在交易过程中会有一定的差别,因为服务类偏向于双方商议的过程,而不像物品类就是一卖一买的过程,从相关生态模式上来说,服务类要比物品类电商更特殊化一些,这里略过不谈)。
2.4.2 电商产品架构设计
1.什么是产品架构
近几年,由于在职场需求中产品经理岗位异常火热,相信产品设计的理念已经深入人心,无非是产品解决方案的设计、产品逻辑的设计,以及产品体验的设计等方面,那么什么是“产品架构”?可能大家都听说过技术架构师,也知道技术中心有这样的技术岗位,那么技术架构是否就是产品架构?
首先我们来看一下技术架构师的职能,在技术研发岗位序列里,技术架构师在综合能力上要远高于常规的工程师,我们先来简单了解一下技术架构师的职责描述,如表2-2所示。
表2-2 Java技术架构师招聘需求
从上面的招聘需求示例可以看出,技术架构师比工程师更资深的地方是在于开发语言框架应用和大规模系统的框架构建上(如高并发、高性能、分布式等),这其中最核心的就是对基础技术的掌握,以及对业务的逻辑抽象能力,然后还需要拥有丰富的实战项目经验。
你可能见过的技术架构会以图2-8所示的方式呈现出来。
图2-8 Linkedln当前的技术架构
在架构设计中,你可能会经常接触到系统、层次、服务、通信等概念,通俗地说,架构设计的核心就是构建一个个系统内部的运转机制,以及与其他系统之间的关系与通信。如果打一个形象的比喻,那就是架构设计相当于游戏规则与框架的制订者,所有设计师与研发人员都要在这个规则框架内构建虚拟数字世界,并且架构师还会设计出多个这样的游戏,同时保证游戏与游戏之间能有较好的互动(通信)机制,但每一个游戏本身并不会因为与其他游戏的互动故障而导致自身游戏系统的崩溃。当然,架构师得确保每个游戏都经久耐玩,还能不断加入新元素和新的游戏规则以适应更多的用户参与。但架构设计也并非万能,总有游戏会因为经历长期的发展之后,无法满足业务场景的需要而不得不进行重新的设计,或者推翻原有的规则与框架,重新制订一个游戏——我们通常称之为架构重构。又或者在原有的规则与框架内做一些大幅的调整,在保留部分游戏规则的基础上完善整个体系——我们通常称之为架构改造。通过这样的一个个游戏构建,架构师就可以搭建出一个独立的数字世界,这个世界就成了互联网产品的世界观,对技术架构的简单理解就体现在这些方面。
而实际上,除了技术上有这样的专业架构人员负责在做技术的架构规划之外,在产品上同样也需要类似的架构设计人员,只不过对于同样的数字世界两者的分析视角有所不同而已,这样的产品架构设计师是整体规划和构建整个网站或软件系统的应用框架的总规划师,通常在每一个互联网企业内,这样的架构师只会有1~2位,大多数是由比较资深的产品经理和技术架构师来担任。但并非每家企业都会设立这样的产品架构师,可能因为企业发展的阶段和架构解决框架的差异,有的企业会将产品架构设计过程融合进业务设计与技术架构设计环节中,因此导致许多人没有感知到。
但我认为产品架构师对于一些大型的网站或APP系统是不可或缺的岗位。我曾在一家年销售近百亿的电商企业里遇到过这样的需求。当时由于业务发展迅速,在不到3年的时间内,整个系统经历了多次的业务创新与系统构建,随着产品经理团队的快速增长,每个产品经理都只能掌握到所负责产品线领域的框架设计,但事实上作为一个电商系统,子系统与服务之间是存在着紧密的交叉联系的,按传统软件领域的模块进行分工已经无法适应互联网网站和APP并发设计的市场需要,在这样的状况下,很容易就会出现子系统设计逻辑相互冲突或背离,功能性重复开发或设计冗余,还有可能因为考虑的跨域场景不充分,导致功能设计适应性低,扩展性不高等各类问题。
当出现上述类似的场景时,我就会考虑引入产品架构的设计团队,核心的目标,就是从平台系统和服务上进行统筹规划和设计,确保在一定程度上满足架构设计的一致性和扩展性需要。
那么,产品架构设计与常规的产品设计之间又有怎样的差异呢?我们先来看一下产品架构师的招聘需求,如表2-3所示。
表2-3 产品架构师招聘需求
这样的架构师与一般的产品经理在能力要求上有哪些差异呢?我们用两个基本能力模型做一个简单的对比,如图2-9所示。
图2-9 产品经理与产品架构师基础能力比较
从对比中我们可以看出,中低端的产品经理其核心能力主要在产品设计上,强调的是对用户与市场业务的理解与掌握,偏向于前端的应用规划与设计。而产品架构师,则更强调对业务的抽象与领域的分析,通过这两方面来指导架构设计与产品设计,而对于产品架构师而言,其对架构的长远规划离不开企业的战略发展框架,所以还需要具备战略规划的能力,产品架构能力事实上是对产品设计能力更高层面的应用,这方面极考验产品设计师的逻辑和规划能力。作为产品架构人员,需要系统地学习和掌握信息系统的分析方法和工具,特别是软件研发领域的面向对象(Object Oriented, OO)的方法与面向服务的体系结构(Service-Oriented Architecture, SOA),我认为这两个方法在计算机与网络世界中都是构建数字虚拟世界的最有效的指导方法,建议所有的架构人员都系统地学习一遍。
产品架构设计是基于对商业模式与核心业务场景的分析,从系统规划的角度抽象出各个子系统,并构建子系统的内存逻辑过程,同时利用商业逻辑将各个子系统进行关联,让商务流在各系统之间进行交互,以满足业务场景的需要。这是一个从0到1的构建过程,打一个形象的比喻,产品架构相当于人体的各类器官与大脑,技术架构相当于人的骨骼与血肉,通过大脑的指挥与器官的协同,使得产品具备特定的功能与服务能力。
产品架构并不依赖于技术上的网络或软硬件的限制,它是抽象出来的商业领域的逻辑设计,唯一可以认为产品架构设计不合理的情况是,因对商业模式的理解错误而导致所设计的产品架构不适应或无法满足业务场景的运作。
合理的产品架构,应该是从功能层面抽象出合理的自运转系统,并让这些系统更高效、简单地运作,若产品架构设计得合理,那么具体的系统研发与产品设计过程都将会变得更加顺畅。市场与用户的需求可以在产品架构上快速地实现。由于架构改变的成本投入是巨大的,所以一般都会要求产品架构要具有更强的扩展性,在一个合理的周期内,产品架构不应该被彻底地推翻重建。当然,优秀的产品架构并非一蹴而就的,其是一个不断改进及优化的过程,只不过在互联网领域,由于业务的模式与外部商业环境的可变性太强,通常合理的产品架构都只能适应3~5年的业务发展需要,5后就应考虑是否要进行一次较彻底的架构重构,而在5年内,实际上有可能会保持每年一次的架构改造。优秀的产品架构与技术架构应该是良好的互补关系,由产品架构+技术架构搭建的数字世界,才具有更高的前瞻性与可实现性。
总的来说,产品架构是构建虚拟数字世界的总纲领,各类开发、设计、运营、市场、业务都需要利用这个纲领来指导实际的工作。
2.如何进行产品架构设计
既然产品架构是一种抽象的逻辑,那么首要任务就是先找到被抽象的对象。这样的对象最直接的来源就是企业的商业战略规划,通过企业的商业战略,架构设计人员将能了解到企业的商业前景,这样可以预测到架构将来可能的演变方向;还能通过对商业战略的分解掌握到核心的服务与业务场景,这样就可以知晓产品架构的主要子系统有哪些,子系统之间可能拥有什么样的联系等。
对于业务场景,架构师还需要从市场与用户需求中去挖掘,需要更加具象地理解与掌握核心业务场景过程与角色的作用。架构师对核心业务场景的理解,并非来自于细节的视觉表现、交互表现或功能点,而是对业务场景的角色互动过程、与其他场景之间的联系,以及在场景中各类角色的职能与定位的深度理解,通过关键场景的逐个梳理,架构师就可以从小到大搭建出完整的产品框架。而由于掌握了场景与商业规则的核心,构建出的产品架构体系就能具备一定的生态结构。
那么,什么样的设计才是产品架构设计?产品架构的交付物是什么?我们先来看一下图2-10所示的电商平台产品结构。
图2-10 电商平台产品结构
在图2-10中,我们用思维导图概要地描述了电商系统中可能会涉及的各类子系统的分布。为什么称其为概要结构?因为这些子系统间很重要的“联系”尚未体现出来。产品架构设计核心要设计的就是系统与系统之间的联系,并且这些“联系”能够随着系统的发展可进行合理的延伸与扩展。
在构建产品架构的过程中,我们试图将各类产品生态系统进行拆分,如图2-10所展示的是最常见的电商平台基本产品架构(因为图片显示范围的原因,图2-10中并未列出所有电商相关的产品系统,实际上的产品架构图要比图示的更复杂、准确),在这个架构设计中,我们用抽象的思维构建了一个个虚拟的产品系统,每一个产品系统内都会形成一个相对闭环的自生态圈。也就是在每一个服务或系统内,我们都试图将相似的关联的逻辑划分在一个区域,并确保在这个区域内,其拥有较好的扩展性与自主运转特性,在系统内,每一个服务或功能都能自由地发展而不会受到其他生态的影响,或者尽量降低相互之间的影响性,我们通常称这样的低影响性与低相关性为“松耦合特性”。产品架构设计的核心就是为了不断地拆分这样的独立生态产品系统,并将其通过一定的运作逻辑线连接在一起,从而为电商的整体业务发展提供足够的支撑。这样的架构思想主要来源于SOA的分离与松耦合设计理念。
平台型+垂直型的电商是当前电商的主流架构,这种类型的电商通常能为企业提供基础的实物商品交易及虚拟商品的交易,而且随着业务的扩展,通常能以极小的代价满足商业模式的需要。对于这样的电商产品架构,既要能横向扩展(通常是跨领域的新品类扩增),也要能支撑电商向上下游的延伸发展(主要还是在供应链管理上的深入),还要能具有一定的垂直行业发展的基础,能适应特殊品类的差异化商业模式。当然,前面我们也提到过不可能有一个适合于所有解决方案的全能型电商产品架构,但从基础的产品结构上来说,当前的主流电商在结构上拥有一定的相似性,可以相互借鉴与参照。图2-11是一个细化的电商产品架构图。
图2-11 电商平台产品架构图
在这样一个电商平台产品架构中,我特别引入了当前电商主流的一种“组合商品系统”,这将是未来电商满足消费者个性化购物需求的核心解决方案。随着当前电商业务的快速发展以及消费者网络购物行为习惯的改变,用户的网络交易频度正在快速提升,从而对关联商品的购买场景也在大量增加,过去用户一次只买一个商品的传统网络购物模式将会逐步减少,逐渐向网络量贩这样的形态转变,用户希望能在电商平台中买到更多“非标准化”“自由组合套餐”化的商品,在国外,这类商品通常会被称为“Packages”销售模式。
在整个电商业态中,无论交易模式如何改变与细分,基础的产品架构都不会有太大的变化,这实际上是电商从诞生到发展历程中逐步提炼而成的核心商业生态。