写点什么

严选 B 端产品设计原则

2020 年 12 月 11 日

严选 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:301179

评论

发布
暂无评论
发现更多内容

c++11新特性之列表初始化

helloworld

c c++ C#

Spring Boot自动装配的原理

Java收录阁

Spring Boot

C++11的类型推导详解

helloworld

c c++ C#

人人都应该懂的加密算法 - 公钥加密

麦叔

对称加密 加密解密 信息安全 公钥加密

产品周刊 | 第 14 期(20200510)

Herbert

产品 产品经理 产品设计

给在线教学泼点冷水

启润

在线教育 基础教育

程序员必需清楚的进程和线程

后端学长

线程 操作系统 进程

如果想了解驱动开发,请不要错过这篇。

水滴

最佳实践 开发者 程序设计 测试驱动开发实战营

一位狂热崇拜亚里士多德的男士在酒吧试图勾搭一位女士

黄大路

小说 哲学

用 Electron 打包语雀

封不羁

Java Electron

谈知识付费

兆熊

自助设备系列——推广

孙苏勇

产品 行业资讯 智能设备

在实战中学习项目管理

兆熊

项目管理 专栏

权威与边界

伯薇

权威 边界 BART 工作方式

Sentinel集成Nacos实现动态流控规则

Java收录阁

sentinel

一口气带你踩完五个 List 的大坑,真的是处处坑啊!

楼下小黑哥

Java 踩坑 后端 集合

大话区块链和比特币的技术原理

麦叔

比特币 区块链 数字货币 加密货币 加密解密

Dubbo和Spring集成的原理

Java收录阁

dubbo

分布式限流框架 - Sentinel

Java收录阁

dubbo sentinel

数据产品经理|关于产品续费率的思考

黄大路

数据挖掘 数据分析 产品经理

c++11新特性之std::function和lambda表达式

helloworld

c c++ C#

Java内存模型和volatile、final等关键字

麻瓜镇

Java 多线程

《零基础学 Java》 FAQ 之 4-关于补码,多说两句

臧萌

Java 补码

设计模式入门和策略模式

设计模式

左值引用、右值引用、移动语义、完美转发,你知道的不知道的都在这里

helloworld

c c++ C#

《零基础学 Java》 FAQ 之 3-为什么计算机里的浮点数不精确

臧萌

Java 浮点数

《如何阅读一本书》读书心得

兆熊

读书笔记

Spring Cloud集成Sentinel

Java收录阁

Spring Cloud sentinel

浅析 - CocoaLumberjack 3.6 之 FileLogger

Edmond

ios log4j CocoaLumberjack DDLog 日志轮替

《零基础学Java》 FAQ 之 零-这门课适合我吗?

臧萌

Java 编程语言

HTTP 升级 HTTPS 全过程记录

猴哥一一 cium

https 证书

严选 B 端产品设计原则-InfoQ