点击围观!腾讯 TAPD 助力金融行业研发提效、敏捷转型最佳实践! 了解详情
写点什么

严选 B 端产品设计原则

  • 2020-12-11
  • 本文字数:2820 字

    阅读完需:约 9 分钟

严选 B 端产品设计原则

背景


每一款产品,在不断迭代和创新的过程中,都是以满足用户需求,解决用户痛点以及创造用户价值为目标的。业界共识的产品分类方法有许多,例如:根据服务的对象可分为 toC 和 toB;按客户端可分为 wap、app、web;按需求类型可分为社交、交易、内容、工具、游戏等等;在每个大的类别下,又会出现非常多的领域细分,非常复杂。


网易严选作为一个新消费品牌,兼具了消费品牌和电商的特性,产品上首先必须满足交易类购物的 toC 属性,同时由于背后整个商品、营销、供应链以及数据体系的支撑,也建设了一套 toB 的产品矩阵。ToB 的需求相较于 ToC,通常是相对明确的,根据客户诉求进行迭代即可。但是当业务和系统都复杂到一定程度时,设计阶段缺乏足够的把控和思考量,就容易埋下隐形的坑。


以产品视角出发,通常我们会把产品设计过程分成 4 个阶段,即,产品定义、产品设计、产品研发和产品运营,这 4 个部分不断迭代演进,就是整个产品设计的过程


  • 产品定义需要明确用户、场景和价值这三件事。

  • 产品设计是基于场景拆分用户的使用任务以及路径,在此之上建立的架构、功能、内容以及交互。

  • 产品研发是把设计落地实践并检验的过程。

  • 产品运营是指上线后针对市场和用户所做的营销、推广及双向反馈。


其中,设计环节是重中之重,其质量的好坏基本奠定了产品之后的走向,无论是产品、研发、测试还是交互的同学都有机会重度参与到设计的每个环节中。


今天,我们先就 toB 产品体系针对产品设计阶段,总结一些通用的产品设计原则。有了整体原则,才能保证我们日常交流中有一致的认知共识和沟通语言。


一些设计的原则


1. 系统要有明确的边界,服务要有明确的归属


当产品矩阵有限时,系统边界通常是明确的。但是,在业务领域多形态及交互复杂的情况下,往往会伴随很多边界和协同的问题,相同或类似的功能没有归属,就会导致重复开发并且推高维护的成本。


比如供应链系统中需要记录商品与仓库之间的绑仓关系,指定一个商品只能放在哪个仓库里(由于存储和配送条件的限制,商品无法任意放)。起初,绑仓关系只用于采购送货,入口开放在商品中心。随着业务复杂度提高,出现了仓间调拨和履约等场景,继而出现了五花八门的绑仓用法,长在了仓配工作台,库存中控台等各个业务系统上。


系统缺乏边界感,对“绑仓关系”缺乏明确的定义和归属,导致了采购、调拨和发货环节,对这份信息反复存储迭代修改,引起了很多不必要的误会。“绑仓”到底归属于哪一个系统边界,这是在设计系统和增加服务之初就应该严格确定好的内容。



2. 交互的系统达到一定数量问题频发时,就要警觉秩序的重要性


系统建设的初期,我们常常会以“走通”和“够用”为前提,不做过多设计。但随着业务体量和复杂度的升级,单点的问题会被放大或衍生出新问题,这个时候,建立一套通用规则来约束系统间的交互,并且,针对不同程度的“违约”,配合不同等级的管控措施就非常必要。


一个典型的例子就是库存系统,消费者在严选主站的购物行为会触发一系列的库存状态,最简单的场景是消费者对某商品下了一个订单,随着订单的状态从下单,到支付,再到出库,对应商品库存也会经历连续性的状态变化。可是当场景变复杂了呢?考虑逆向取消和售后场景呢,商品在主站外的其他渠道售卖的场景呢? 当上游一堆服务同时对同一个商品库存状态发起密集的调用指令,但是这些调用指令又没有很好的规范(如单状态重复调用,连续状态跳跃式调用,调用未完结等等),就会引起一连串的库存“事故”。


此时,在上游与库存状态的交互中建立一套完整的调用规范就非常有必要。如何定义调用是合规的,如何确定调用动作的完结?针对不同的异常,如何建立违规等级,不同的等级给予不同的防御规范,这些问题又可以衍生成如何监控,帮助用户快速定位问题的工具,自动修复等等,都是产品功能设计需要考虑的内容。


中后台系统,特别是符合中台属性的底层服务,跟其他产品交互的概率很大,都需要认真思考规范和秩序的问题。



3. 基于对象抽象规则,远比端到端的流程线上化重要


前文提到 toB 相对于 toC,有一个显著的特点就是,通常都有比较明确的用户需求,把明确的客户流程搬到线上是重要的一环。那么问题来了,是不是条理或逻辑清晰就是一个优秀的产品了呢?答案当然不是,这是个必要而非充分条件。


许多情况下,仅仅对流程做清晰的梳理,然后一步一步搬到线上,做到了搬砖,但并不是个好的实现方式。对于一条比较通用的功能,在设计时,对规则和能力做必要的抽象,能将一个单点的功能转化成一个拓展性良好的通用能力。


再来看一个案例,比如疫情期间武汉封城,除了医疗物资外其他所有日用商品一律不能配送,业务提前知道了这个风险,就希望严选系统针对武汉地区把除了防疫物资以外的商品订单卡住,不要下发给仓库和快递公司,只把防疫物资正常下发。听起来是个非常简单的功能,按既定规则订单打标并卡住即可。


但仔细想想,卡单是一个特殊还是通用功能呢?其实是比较通用的,仓库或者快递承运商出了故障,前台配置错误导致订单需紧急召回,直播等等情景都可能触发“系统卡单”这个功能。想到了这一层,产品设计就不应该简单的只针对单一场景做线上化,而是将系统卡单抽象成,第一条件设置(订单、用户、商品、地址等等维度)、第二规则引擎(条件组合及优先级的拼装)、第三业务决策(是否拆包、卡单、定时推单),这三个通用步骤来组装以满足更多的场景。


流程抽象=前置条件+规则引擎+决策动作


以上,我们谈到了产品设计的三个通用原则,基于篇幅的限制,其他原则就先不一一说明了。很多原则其实也不仅仅适用于 B 端或者产品端,做运营做系统做数据,最基础的底层原则其实是相通的。



写在最后


很多优秀和聪明的同学经常问,我的工作能力不错呀,领导交代的任务都办好了,不知道下一步如何提高了。答案很多,其中一条简单且质朴的是,通过办好一件事,是否认真地思考过,为什么要这么做而不是那么做?几件事情之间有什么内在联系和规律?你能精准而独到的提炼么?易于被别人理解和记住么?


通常,我们称规律背后的解决方法叫做方法论,提炼出方法论的前提是理解事情的“底层逻辑”,底层逻辑在面临变化的时候,总能应用到新的变化里,产生出新的方法论。无论是方法论还是底层逻辑,都需要首先经过大量的实践,充分的内化和提炼。我们每天都在经历很多实践,但是,请不要忘记了找规律和方法。


共勉~


作者简介


孙妍:2018 年作为一名新人加入网易严选,担任供应链研发及数据总监,负责供应链产品和数据体系的搭建和发展,同时兼任中国连锁经营协会 CCFA 供应链专委委员。15~18 年期间曾在阿里巴巴旗下的菜鸟网络负责过商业智能部、菜鸟裹裹 APP、菜鸟驿站等产品及业务的数据工作。更早的时候在亚马逊 Global Supply Chain Optimization 团队参与了亚马逊全球供应链的计划、履约、库存等系统的建设和优化。


头图:Unsplash

原文严选B端产品设计原则

来源:严选技术产品团队 - 微信公众号 [ID:YanxuanTechProd]

转载:著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


2020-12-11 22:301844

评论 1 条评论

发布
用户头像
不错,需要有方法论是科学实践的第一步。其实作者说的底层逻辑,是指原理,我们要有一些基本的理论作为支撑,加上自己的实践。

通常,我们称规律背后的解决方法叫做方法论,提炼出方法论的前提是理解事情的“底层逻辑”,底层逻辑在面临变化的时候,总能应用到新的变化里,产生出新的方法论。

2022-04-20 11:30
回复
没有更多了
发现更多内容

为构建大型复杂系统而生的微服务框架 Erda Infra

尔达Erda

开源 程序员 微服务 云原生 运维开发

uni-app技术分享| 怎么用uni-app实现呼叫邀请

anyRTC开发者

uni-app 音视频 呼叫邀请 点对点呼叫

c++ 构造函数详解

若尘

c++ 构造函数 8月日更

差点跳起来了!全靠这份999页Java面试宝典,我刚拿到美团offer

Java~~~

Java 架构 面试 微服务 多线程

拒绝内卷!Github连夜封杀的阿里全套Spring Security高级笔记

Java 编程 架构 面试 程序人生

从0开始的TypeScriptの四:接口Interfaces · 上

空城机

JavaScript typescript 大前端 8月日更

prometheus 语法

Rubble

Prometheus 8月日更

数据中台为什么要建标签体系,分类它不香吗?

用友BIP

数据中台 标签体系

1年半经验,2本学历,Curd背景,竟给30K,我的美团Offer终于来了

Java~~~

Java 架构 面试 微服务 多线程

数据中台——数据汇聚存储技术解析

用友BIP

数据中台 数据存储

Vue进阶(二十五):<component>实现动态组件

No Silver Bullet

Vue 动态组件 8月日更

零代码上线小布对话技能:技能平台的实践与思考

OPPO小布助手

人工智能 自然语言处理 算法 零代码 语义理解

Go 学习笔记之 Channels

架构精进之路

Go 语言 8月日更

高防服务器,企业成长安全控制有效性的关键工具

九河云安全

【插画】一文看懂容器k8s

恒生LIGHT云社区

Docker 容器 k8s

云小课 | 到底什么是区块链?

华为云开发者联盟

区块链 华为云 区块链的定义 区块链的解决方案 区块链的发展

测试开发之系统篇-Docker容器安装

禅道项目管理

Docker 测试开发

跨链治理之入门三问 :WHO WHAT HOW

趣链科技

区块链 治理机制

Vue进阶(二十六):详解 router.push()

No Silver Bullet

Vue router 8月日更

AIMA:如何通过质量指标提高QA的绩效(译)

BY林子

软件测试 绩效 QA

VSCode July 2021 (version 1.59) 更新

IT蜗壳-Tango

8月日更

小手哆嗦一下,就能用 Python Django 实现一个微型博客系统

梦想橡皮擦

8月日更

netty系列之:使用POJO替代buf

程序那些事

Java Netty nio 程序那些事

云计算运维与传统运维工作有啥不同?需要什么资质?

行云管家

云计算 服务器 IT运维 云计算运维

【Vue2.x 源码学习】第三十二篇 - diff算法-乱序比对

Brave

源码 vue2 8月日更

Compose 可组合项的生命周期

Changing Lin

8月日更

信创产业已成现象级新风口,快来加入争做“弄潮儿”

华为云开发者联盟

开源 信创 opengauss openEuler 鲲鹏

手撸二叉树之数据流中的第 K 大元素

HelloWorld杰少

数据结构与算法 8月日更

【LeetCode】第一个只出现一次的字符Java题解

Albert

算法 LeetCode 8月日更

某离散制造行业龙头客户“主数据管理平台”建设分享

用友BIP

主数据管理

当容器应用越发广泛,我们又该如何监测容器?

阿里巴巴云原生

云计算 容器 云原生 监控 中间件

严选 B 端产品设计原则_产品_严选技术产品团队_InfoQ精选文章