akafusheng / A-Comprehensive-Guide-To-Business-Product-Design

B端产品设计指南 Steps To Designing A Business Product People Will Love.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

A-Comprehensive-Guide-To-Business-Product-Design

B端产品设计指南

使用说明

本项目希望能对B端产品设计的人提供帮助,感觉有帮助的请点个 Star 吧。

学习路线

这里推荐下传智教育推出的《2022年产品经理学习路线图》,共5000分钟的视频,想自学的小伙伴从零基础到面试产品经理所需的这里都可以看到。

产品经理能力提升路线图 – 联合国可持续发展目标创新及产品管理能力建设项目(UCPM) (cposchool.com)

快速开始

B端产品设计流程

一个点子到实施开发,在这个过程中,经历了项目立项、产品架构设计、产品结构设计、原型图绘制、PRD文档编写以及可行性评估。

原型图绘制

产品经理需要将每个页面的排版样式、控件设计及交互效果,用通俗易懂的形式表达出来,以方便其他同事快速理解。线框图(也叫原型图)是一种很好的表现形式。绘制线框图的工具有很多,常见的有AxureMockplus墨刀Visio等。

使用 Axure 绘制原型图

原型图应该包含的内容

原型图交互设计

详细设计

  • 遵循“尼尔森十大可用性原则”:从多个方面保障交互的合理性、可用性、友好性,甚至可以在设计完成后进行复查;
  • 不建议设计复杂交互:B端产品目的在于帮助企业解决业务问题,交互优先级并不高,复杂交互不利于用户操作同时也过多占用研发资源;
  • 采用标准模板和控件:行业内会很多成熟的商业软件,获得了用户认可,可以借鉴系统布局、交互方式等,帮助提高设计效率。

原型图元素

页面原型

原型图工具、资源推荐

原型绘制工具:Axure

功能点图绘制工具:XMind

UML图表:Visio

在线的绘图软件:Process On

泳道图:Creately

Ant Design - 一套企业级 UI 设计语言和 React 组件库

原型图模板

页面流程图

产品原型演示与汇报技巧

Web端原型设计规范

原型页面说明

流程图符号规则

需求评审

设计评审

是在概要设计与详细设计完成之后进行,由开发工程师 把对需求的理解以设计文档的形式说给产品经理、测试听。

测试评审

界面设计流程

  1. 产品经理绘制线框图原型,表达软件中每个页面的设计需求。
  2. UE设计师协助产品经理完成交互体验,并制作交互原型。
  3. UI设计师基于交互原型进行美工设计,生成切图文件。
  4. 前端工程师拿到切图文件,进行前端开发,包括实现交互、动效等。

界面设计建议

只要业务建模合理,流程、角色清晰,界面设计就会很轻松。这里提 供一些B端产品界面设计的建议,供大家参考。

借鉴成熟软件

网上有很多免费试用的系 统 可 供 学 习 , 比 如 Google Analytics 、 百 度 统 计 、 管 家 婆 云 ERP 、 Udesk、SalesForce等。结合你设计的软件形态,找到行业内相似的 SaaS软件,借鉴并参考其布局、交互方式,可以提高设计效率与合理性。 产品经理要经常浏览、研究不同系统或App的交互设计方案,多看、 多用,很多基本的交互设计感觉就会潜移默化地植入脑海中,在做产品设 计时就会想起曾经见过的类似的功能设计,从而借鉴参考。

善于使用模板

除了借鉴成熟的商业软件,还可以使用原型绘制工具提供的模板实现 快速设计。

采用标准控件

B端产品不需要花哨的前端界面,不需要充满创意的控件。很多产品新 人喜欢在界面设计或交互设计上做太多的创新,实际上大可不必,因为B端 产品的用户需要的是解决业务问题、提高效率,交互体验并不是他们最在 意的,而且复杂的界面和交互设计会增加研发的工作量。

选用标准的控件方案可以节约产品经理和前端工程师大量的时间。什 么叫标准的控件呢?Visio或Axure里提供的可以绘制的控件就是标准控 件。不必创造这些标准控件以外的控件!

还要说明一点,产品经理设计的界面存在不合理、小瑕疵是很正常的 事情,甚至在设计、验收的过程中都没有被发现,系统投入使用后才被用 户发现。因此,在系统上线后,产品经理要多去用户现场观察交流,发现 并解决问题。

文档的编写与管理

产 品 设 计 工 作 会 涉 及 一 些 文 档 , 主 要 包 括 BRD ( Business Requirement Document , 商 业 需 求 文 档 ) 、 PRD ( Product Requirement Document , 产 品 需 求 文 档 ) 和 MRD ( Market Requirement Document,市场需求文档),三者的编写时间、受众、 编写目的和重点各不相同,见下表:

BRD PRD MRD
编写时间 前期分析可行性时 开发之前 立项之前
受众 老板、投资人 研发人员 市场、销售人员
编写目的 论证商业模式的可行性 理解要开发的软件功能设计 说明产品要点
编写重点 分析市场、产品定位、盈利模式,在业务系统的产品实践中,BRD很多时候是指业务部门提交的需求文档 功能描述、原型描述 概念性的产品形态介绍,描述产品的形态和大纲

在B端产品领域,BRD一般由需求方填写,用于提交需求;PRD由产 品经理编写;MRD在B端产品中鲜有涉及。

商业需求文档(BRD)的管理

在产品设计工作中,无论是研发还是产品经理,都喜欢“好需求”,所 谓好需求,是指具备业务价值的需求。好需求都来自业务真实的痛点或问题,经过产品设计、开发实现后,能够帮助业务解决实际问题,带来收益和价值。

产品设计的好坏,首先取决于需求的质量。如果需求质量不高,产品 设计再用心,也难以产生价值。实际上,很多需求都只是需求提出者的灵 光一闪的想法,并没有经过严谨的思考。对于B端产品,尤其是业务系统, 业务方一般都有需求管理团队,负责调研、整理业务需求,提交给产品经 理。产品经理首先需要对需求进行判断,如果发现需求质量不高,就需要 和业务方反复讨论,判断需求的真实性。

**如果没有一些机制或手段,让需求提交者经过全面思考后再提交需 求,则可能会造成需求泛滥,需求质量低下,进而导致产品经理需要耗费 很多精力去鉴别这些需求的真实性和价值。**要求需求管理团队以正式BRD 的形式提交需求,可以在一定程度上提高需求的质量,并且可以作为正式 备档文件留存,帮助项目组提高协作效率。

干货 | 送你一份非常实用的BRD文档模板! | 人人都是产品经理 (woshipm.com)

产品需求文档(PRD)的编写

在互联网公司,产品需求文档(PRD)由产品经理编写。不同公司、 团队、项目组对PRD的要求不同,有的比较严格,有的比较宽松,甚至在 有些创业团队中根本不需要PRD,在产品经理和研发人员的沟通讨论过程 中,功能就开发好了。但是,随着公司规模扩大,规范的PRD管理是非常 必要的,这可以让项目开展更加有序,大大方便产品经理和研发人员的沟 通,让知识传播与传承更加准确有效。

编写PRD是产品经理需要掌握的一项基本功,产品经理需要在PRD中 用清晰、通俗的文字将复杂、抽象的软件设计思路和方案描述清楚。

还要强调一点,产品经理不必急于写PRD,而要完成模型设计、流程 设计、界面设计、权限设计等工作后,再编写PRD。否则,如果方案还没 有理清就开始编写文档,会思绪混乱,不断返工。

用Axure做一个产品需求文档(PRD)模板 | 人人都是产品经理 (woshipm.com)

让产品落地并不断生长

产品方案、技术方案设计完成后,只相当于万里长征走完了第一 步。接下来进入产品研发环节,以及产品上线后的运营推广和迭代优化环节。

在产品开发及运营推广工作中,B端产品经理要从整体上管理进 度、控制风险。产品经理会面临各种复杂的挑战,既需要有很强的专 业能力,又需要有灵活变通的处事能力。产品经理很像一个大管家,不仅要负责产品功能设计,还要统筹协调各种资源,确保一系列工作 都能同步开展,最终拿到希望的结果,产生业务价值。

追求全面

产品经理需要懂技术吗?

产品经理懂技术,这样可以设计出更好的产品方案,尤其是B 端产品经理,更需要理解技术体系架构,因为B端产品的结构设计不 仅和业务有关,还和技术架构有关。

B端产品经理需要具备基本技术常识、软件开发常识,这样可以 让设计的方案更加合理、可落地。和C端产品相比,B端产品更重视业 务逻辑的抽象过程,产品设计方案和技术方案的相关性更强,甚至有 时候产品设计方案本身就是技术方案,例如SDK产品、基础服务产 品、消息中间件产品等的设计方案。

懂技术的产品经理在设计产品方案时,能够在一定程度上预估技 术实现的可行性和实现成本,或至少能具备基本的认知,知道什么时 候、什么情况下需要和技术人员提前沟通讨论,从而保证产品设计合 理可行,既能提升合作效率,也能赢得技术人员的尊重和信任。

在互联网圈流行一句话:“产品经理懂技术,谁都挡不住”,虽然 是一句玩笑,但体现了大家对产品经理懂技术这件事的看法。无论是 研发人员、运营人员还是交互设计师,都认同产品经理懂一些技术知 识会对产品设计有帮助,对项目协作有益处。

优点:

  • 避免产品过度设计
  • 避免技术过度设计
  • 与技术人员沟通顺畅
  • 预判需求的可行性
  • 评估工时合理性

B端产品经理的技术知识要求

具备基本的技术知识体系
理解一门编程语言

编程,对于没有接触过的人来讲,是一件神秘且高深的事情:满屏幕 的代码像天书,肯定需要投入巨大的时间和精力来学习。 实际上,写出有工程实践意义的代码确实很有挑战,但是理解编程的 逻辑并不难,只要静下心学习,无论是文科背景还是理科背景,都可以学 懂,而且会发现程序设计是一件很有趣的事情。 B端产品经理可以通过学习一门编程语言,来理解程序设计的基本逻 辑,例如什么是函数、返回值、循环、编译、发布等。学习的重点不是编 写出能执行的程序,而是理解程序设计的基本原理。

程序语言的种类繁多,但本质相同,从C++或Java这些主力编程语言 入手学习就是不错的选择。学习了解一门主力开发语言后,如果有兴趣和 精力,可以学习一些轻量级的、在工作中可能会用到的编程语言。例如, 学习使用Python爬取网页内容进行数据分析;学习使用Excel VBA进行复 杂数据处理。

掌握并使用SQL

SQL(Structured Query Language)是经典的关系型数据库处理 语言。在业务系统领域,关系型数据库不论是在过去的几十年,还是在未 来的若干年,必然是长期存在的主流数据存储方案。

产品经理掌握SQL在实际工作中是非常有用的。例如,在做数据分析 时,常常需要从数据库导出数据来分析,如果不会写SQL语句,就需要每 次都求助开发人员,效率太低;其次对于复杂的数据处理逻辑,如果不会 用SQL语句进行预处理,后续的数据处理将变得非常麻烦。 学习使用SQL,首先需要理解数据库及表结构,这对于抽象建模思维 的培养非常有帮助。

了解网络通信等计算机常识

B端产品经理需要广泛学习计算机相关的基础知识,例如网络与通信 原理、操作系统原理、微机原理等,至少要理解TCP/IP协议、UDP协议分 别是什么,二进制、十六进制的运算法则,字节和字的长度概念,对称密 钥密码体系和非对称密钥密码体系的区别,等等。

如果对这些概念没有基本认知,那么将很难理解为什么HTTPS比 HTTP安全,为什么有时候需要通过二进制来控制标记位。这些常识都是 软件设计随时会用到的基本知识,不仅在技术方案设计中会涉及,在产品 方案设计时也会涉及。

计算机技术涉及的知识面非常宽泛,从编程语言到数据库设计,从通 信协议到算法策略。对于产品经理来讲,技术知识的积累是一个厚积薄发 的过程,不可能通过短时间的突击学习就掌握所有知识点,只能在实际工 作中遇到新的词汇或概念时,认真查阅资料、理解揣摩,在长期积累中融 会贯通。

了解程序设计的MVC范式

编程语言种类繁多,无论采用哪种语言进行程序设计,都要遵循经典 的软件工程设计模式——MVC模式。

MVC是Modeling、View、Controller的缩写,代表软件设计的分层 理念。Modeling指数据模型,View指前端交互视图,Controller指业务 逻辑,MVC模式下的软件分层结构如图所示。任何一套软件系统运作 的本质都是相同的:用户在前端交互层操作后,系统通过业务逻辑层处理 数据层的数据。不论是BS架构的系统(例如通过浏览器访问的管理后 台),还是CS架构的系统(例如App应用),都会遵循MVC模式搭建程序 结构。将一套软件系统分为数据、业务逻辑处理、前端交互三层来设计、 开发,可以非常有效地保证程序结构合理、逻辑清晰。

MVC - 术语表 | MDN (mozilla.org)

熟悉接口与调用模式

在软件开发中,接口是一个非常重要的概念。所谓接口,是指两个对象进行通信的方式和协议。软件领域的接口和我们生活中所使用的硬件设 备的接口(例如USB接口、苹果的Lighting接口、3.5mm耳机接口等) 类似,每种接口都有约定的格式和规范,只要在设计时遵循了约定和规 范,就能够方便地进行信息交换。

在软件设计领域,小到一个软件模块,大到一个软件系统,都会有若 干接口,实现不同模块、不同系统之间的通信。一般来讲,每个接口都应 该实现一个具体的功能,接口需要有明确的输入,以及明确的输出(有的 时候输出结果为空)。例如,调用客户姓名查询接口时,需要传入客户 ID,执行后返回客户姓名。

在跨团队、跨模块的软件开发中,接口的设计规则需要在设计技术方 案时就协商好,然后各方团队各自开发,在约定的时间一起联调,进行集 成测试。

接口之间的调用模式分为同步调用模式和异步调用模式两种,产品经 理需要理解这两种模式的区别,因为这不仅是技术问题,也会影响产品方案。

同步调用和异步调用

理解软件工程的“搭积木”设计

软件工程是一项既复杂又简单的系统性工程。说它复杂,是因为一整 套良好运转的体系是由数百万行代码构建而成的;说它简单,是因为本质 上软件体系是无数组件化的小模块拼装而成的,每个研发人员或研发团队 只需要维护自己负责的组件与代码模块,复杂度会降低很多。

软件的设计应该像搭积木那样,通过自由拼接组装来实现复杂的功能 模块,这样既能保证系统的灵活性,又能避免重复开发,降低成本。如果不能将软件分解成像积木那样的小模块,而是焊死的一块铁板,那么系统将彻底丧失灵活性。

在技术体系中,有两个非常重要的概念在支撑着接口化、服务化的设计理念的落地,即SOA(Service Oriented Architecture,面向服 务的架构体系)和微服务。SOA和微服务从本质上讲区别不大,只是微服 务鼓励去中心化.在传统企业 的SOA落地方案中,这是很重要的ESB(Enterprise Service Bus) 模块(服务的中心化调度模块),而按照微服务理念设计的方案中则不会 有这一层。

企业的各 个软件或产品并不是独立的、割裂的,而是深度结合、互相支撑的。架构 的理念在高阶的B端产品设计中非常重要,同时B端产品的设计体系和技术 架构也有着一脉相承的设计思路。理解技术架构对设计产品架构大有裨益。

掌握数据库与SQL

在业务系统设计中,建模工作是最重要的,模型的好坏将从本质上影 响系统的灵活性和可扩展性;而设计数据库表结构正是对模型设计的一种 落地实现。如果你能够理解模型、ER图,再进一步理解数据库表结构,那 么你对业务系统的技术实现会有更加深刻的理解和认识,这对产品设计工 作会有很大帮助。

我们所说的数据库主要是指关系型数据库(RDBMS,Relational Database Management System),这是在20世纪70年代提出的一种 计算机数据处理方案,经过几十年的发展,关系型数据库已成为目前业界 最经典和流行的数据处理方案。SQL是对关系型数据库进行数据增删改查 操作的计算机语言。 常见的关系型数据库包括IBM的DB2、微软的SQL Server、甲骨文的 Oracle,以及被甲骨文收购并开源的MySQL,每一种关系型数据库产品 都有自己的SQL规范,但核心的语法规范是相同的。

www.sqlteaching.com:该网站是目前我接触过的最好的SQL学 习资源。网站通过一个个案例讲解了SQL中的每个概念和语法,并且提供 了非常强大的在线练习功能,这对学习SQL至关重要。虽然是英文网站, 但是讲解深入浅出,很容易理解。

技术学习资源推荐:

业务分析

解决方案

软件设计

项目实施

数据分析

运营管理

计算机科学

软件工程

项目管理

交互设计

Java学习:Java Tutorial (w3schools.com)

SQL学习:SQL Tutorial (w3schools.com)

SQL Teaching - The easiest tutorial to learn SQL

《编码--隐秘在计算机软硬件背后的语言》

学点儿UML:Welcome To UML Web Site!

下一步

参考文献

决胜B端 (豆瓣) (douban.com)

产品设计方法 https://www.smashingmagazine.com/2018/01/comprehensive-guide-product-design/

开始使用 Axure RP ·Axure Docs

人人都是产品经理 | 产品经理、产品爱好者学习交流平台 (woshipm.com)

KK三部曲 (豆瓣) (douban.com) 《科技想要什么》《失控》《必然》

人人都是产品经理 (豆瓣) (douban.com)

About

B端产品设计指南 Steps To Designing A Business Product People Will Love.