本文从五个板块分析了产品研发的流程以及每一个流程中的要点,并且以生活中的事情作为案例帮助我们更好地理解。
本篇文章主要讲产品研发流程,顺便将生活与之结合看看会产生怎样的火花。
当然,产品研发的每一个流程都可以单独作为一篇文章来畅谈。
篇幅有限,所以本文只是浅谈概念,尝试以一种有趣的方式来聊聊研发流程。
产品&人生:
产品研发大致可以分为五个流程:项目启动、需求分析、产品设计、开发上线、版本迭代。
在产品研发过程中,需要了解每一个流程,并且得找到每个流程对应的干系人,以及这些流程中都有哪些产出。
下面将就每个流程跟大家简单的聊一聊。
01 项目启动
项目启动是一个项目的开始,项目启动会是一个项目开始的标志。
项目启动会上将项目相关人员召集到一起,在会上任命项目经理、建立项目领导班子。
在这个阶段,会确定项目目的、相关干系人、商业需求、时间计划等要素。
【映射人生】
当你的父母计划要一个孩子时,你就是此项目的目的,父母就是产品/项目经理,相关干系人有你的亲戚以及未来会遇到的各种人,商业需求就是希望你能健康成长、出人头地,时间计划是一辈子。
当然,项目是有阶段性的,项目经理也是可以换的,当你拥有掌控自我的能力后,你可以成为自己的产品经理,把自己打磨成你心中最好的产品。
02 需求分析
个人认为需求分析应该是整个项目生命周期中最重要的步骤之一,因为一旦需求搞错,那么失之毫厘谬以千里。
其实在这个阶段,不仅仅是标题中的需求分析这么简单,它可以拆分为需求的获取、分析和确定。
1. 需求获取
需求获取也叫需求采集,按照来源可分为两大类——内部渠道和外部渠道,如下图所示:
内部渠道主要分为三个,分别是:
产品经理自己发现可以优化的地方,或者根据行业变化以及数据分析得出来需求
领导要求必须要做
其他同事在使用或者运营过程中发现的问题及需要优化的地方
外部渠道也可以分成三个部分,分别是:
客户要求
竞品分析时,发现某功能能够产生更高的商业价值,是一个值得借鉴的方法
潜在用户,例如在用户调研时得到的需求
收集需求的时候要注意,最好有一份属于自己的需求列表,写清楚需求类型、需求来源、需求内容、需求场景,如下表:
需求类型:新增、优化、修复。
需求来源:从需求获取阶段就可以看到,需求的来源是多种多样的,需要明确这个主体是谁,可以简单理解为,跟谁有关,不做谁生气。
需求内容:用客观的描述性语句来记录需求内容,尽量使用主语➕谓语➕宾语的形式,不要使用带有主观情绪的句子描述需求,以免对后续需求分析造生困扰。
小学语文大家都学过,如何详细描述一件事呢,也不过时间地点人物。
需求场景也是如此,这里描述清楚:什么时候,什么地方,谁,碰到了什么问题,问题频率是多少,为什么会碰到这个问题,碰到了之后产生什么后果。
其他:还可以做一些补充说明,比如开发可能不了解业务的专业术语,这里可以补充一些解释。
【映射人生】
从你出生以后,你也会收到来自很多角色给你的需求,比如:
内部渠道:
父母作为产品经理,他们会给你提出很多的要求,例如:在上学的时候,学习一定要认真,学习成绩必须排在班级前五名,如果不这样的话,你的屁股就会遭殃
老师和老板作为你的领导,也会给你提出各种要求,例如:在上学/工作期间,绩效一定要达到A,不能惹祸,如果不这样的话,就会叫家长/扣工资
你自己作为自己的产品经理,也会给自己提出各种要求,例如:今年一定要买一台新电脑,LOL要上王者,找个女朋友……
……
外部渠道:
女性同胞要求你人品好,性格好,会挣钱,如果不这样,那就不跟你谈恋爱
隔壁孩子德智体美样样优秀,长得还帅,小姑娘们全都围着他,没办法,必须得提升自己
疫情期间,社区要求出门必须戴口罩,不戴不能出门
……
例子:
解释:详细记录了需求来源、需求场景以及具体的可实现的目标,是一个有效的需求。
注意:这里只是需求获取阶段,有效的需求只是代表可以被记录,但是不是要落实这个需求,还需要进行需求分析。
反例:
解释:这就是一个失败的需求获取。
因为没有挖掘到用户真正的需求,出人头地、好多钱等等都是一个很虚的概念,不能量化,无法落地,是一个不切实际、最后无法验收的需求。
这种情况应该怎么办呢?可以问问自己,为什么要出人头地,要成功。多问自己两个为什么,如下所示:
为什么要很有钱?
因为有钱就能买到很多东西。
比如说你想买什么东西?
我想买房子。
为什么要买房子?
因为女朋友说不买房就不能结婚,以后孩子也不好在这边上学。
问到这里,就会发现需求和第一个是差不多的了,但是这是一个可以量化、可以验收的需求,当你挣到能买一套房的钱的时候,那么需求就已经满足了。
而如果是成功,特别有钱,这种需求不能量化,也就没有验收标准,也就不能称之为一个有效需求。
2. 需求分析
需求分析的过程到底是什么呢?
简单一点,就是将用户需求转化为产品需求,再把产品需求变成产品功能。
在需求分析这一步,可以把收集来的需求做一次分类,分成有价值、无价值。
首先可以剔除掉无效的需求,无效的需求也就是我们经常说的“伪需求”,那什么样的需求是无效的需求呢?
不合理或者很小众的需求
剔除掉无效的需求之后(这里省略需求可行性分析等步骤),剩下的基本上都是有价值的需求,那么这些需求就全部都做吗?不是的。
对于剩下的这部分需求,可以根据四分法则,将其归类,如下图:
首先,价值高,更紧急的需求肯定是优先级第一的,这一类在本次迭代中就需要去满足;
价值低,不紧急的需求,可以放到最后去完成;
其他两个可以根据实际情况以及研发需要的时间去排他们的优先级。
【映射人生】
价值高,更紧急:找工作、完成作业/本职工作、吃饭
价值高,不紧急:买房、买车、结婚生子
价值低,更紧急:陪女朋友逛街、跟基友打游戏
价值低,不紧急:买新手机,买新电脑
3. 需求确定
需求分析完成之后,需求也就确定了,将所有需求按照优先级排序放入excel中,这里excel的格式是什么样的呢?就是把收集需求的行和列交换就可以了,同时加上优先级、预计完成时间等。
【映射人生】
03 产品设计
需求分析做完之后,那么就得要开始设计产品了。产品设计可以分为三大块:产品功能设计、UI/UE设计、技术评审,下面依次聊聊吧。
1. 产品功能设计
在产品功能设计阶段,基本上都是产品经理的工作了,产品经理需要将确定的需求转换为产品上实际可操作的功能,并且要整理出每个功能之间的联系,数据是怎么传递的,产品大概长什么样子,具体功能、字段、特点的描述。
总结下来,这阶段产品经理需要有一份产出,就是PRD(产品需求文档)。
PRD,即产品需求文档,每个人对PRD的理解都不一样,下面本人以一个产品小白的身份简单跟大家聊聊它,如果有理解不到位的地方还请留言区指正。
1.1 产品结构
产品结构分为信息结构和功能结构。
(1)信息结构图:将数据从产品页面中抽离出来,形成一个个信息模块。
作用:便于开发梳理数据库字段;避免设计时出现信息遗漏。
这里举一个音乐播放器举例:
(2)功能结构图:以功能点为核心,将每一个大功能拆分成小功能。
作用:明确产品的所有功能模块以及对应子功能情况;从全局分析产品的功能架构。
还是以音乐播放器举例:
1.2 功能/业务流程图
业务流程图面向老板及业务人员,目的是梳理整个业务逻辑流向,要清楚地说明每个角色在每个环节需要处理什么事情,从而实现业务流程的正常运转。
功能流程图面向产品经理自己或者研发同事,目的是更清楚的表达功能设计逻辑,以业务流程为主线,细化每个环节的功能逻辑,以及不同系统间的数据同步逻辑。
1.3 原型图+需求说明
功能以及业务都梳理好了,产品经理就需要以这两者为主线去设计产品原型了,一般都是使用axure软件完成原型设计。
原型图就是将为了满足任务顺利完成而体现在页面上的元素集合。需要将要展示的数据、按钮以及其他元素按照合适的方式分布在图纸上。
例如:要设计一个注册账号页面,首先必须有用户名输入框、密码输入框、密码二次确认输入框、提交/取消按钮,当然每一个输入框都需要有简短的文字描述,以及格式要求。
当然一个页面设计不可能这么简单,还需要设计跳转页面、跳转动画等。
你以为这就完了吗?不是的。你不能保证每一个用户都按你设想的去使用产品,必须给用户犯错的空间,要列举出用户操作此产品时会出现的每一种可能性,并且画出对应原型。
需求说明:以文字的形式详细描述每一个元素及流程的信息。
一般可以将需求说明与原型图结合在一起。
例如:
【映射人生】
需求:求婚
信息结构图:
功能结构图:
业务流程图:
需求说明:
原型图:
2. UI/UE设计
当产品经理给出原型图之后,交互设计师会根据原型图进行UI/UE设计。
(1)UI
User Interface,即用户视觉,UI设计需要美观,符合用户使用习惯,基本上经过设计师设计的高保真原型图就是系统最终成型的样子了。
有些小公司或者是开发一个小功能的时候,会省略掉UI设计的过程,直接拿到产品经理的原型图就开始大刀阔斧的开发了。
(2)UE
User Experience,即用户体验,这个概念就有点虚幻了,在使用产品过程中的所有感受都属于UE的范畴,设计师需要结合各种方面来进行设计。
【映射人生】
(1)UI设计
出去约会得穿的漂漂亮亮的,做理发店做个头发,做好面子工程
修房子时,你自己提供初步设计方案就是原型图,最后还是得需要专业人士来设计,给出最终的高保真设计图
(2)UE设计
哄女朋友的时候不能只说“多喝热水”,得用实际行动去证明你爱她,比如说:给你10万块去买个包,这让女朋友的用户体验就提高了
求婚的时候,让兄弟们都找点活干,比如:录像、放音乐、灯光、鲜花、礼炮……把气氛搞起来,让女朋友用户体验倍增
3. 技术评审
在所有设计工作都完成的时候,就得召集领导、测试负责人、开发负责人以及项目经理一起开个会了。
此会议基本是产品经理主持,设计阶段的产出都可以掏出来了,甩到开发的脸上,跪着说,求求了,帮我做了吧。
要把需求跟开发讲透,不能有任何模棱两可的地方,一定要保证所有人对需求的理解是统一的。
【映射人生】
求婚的前一天,你把兄弟们叫到一起,最后确认明天求婚的计划万无一失,是否可行,有无意外发生的可能性,谁递花,谁放炮,谁录像,是不是都清楚了,这个事情可不能出任何差错。
全部确认无误,那就按部就班各自开始准备了。
04 开发上线
开发上线粗略可以分为三点:研发、测试、上线。
1. 研发
经过需求评审和技术评审会议之后,开发已经了解了产品架构,不需要等原型图就能够开始搭建后台框架。
拿到具体的原型和PRD后,前后端开发同事就需要火力全开了。
这里需要补充的一点就是,在产品研发流程中一定要做的工作就是,站立会。
站立会顾名思义就是一群人站着开会,这里可以每天早上拿出半小时时间,由产品经理牵头,召集项目相关人员(产品经理、研发人员、设计师、测试人员)找个会议室,大家依次讲述目前手头上的工作进度情况。
站立会的目的是能够及时同步信息,避免出现研发等设计师的原型,或者设计师设计完一个功能后没有及时交付给开发的情况。也能及时了解到项目的进度,不会快到了交付时间才发现得延期完成。
【映射人生】
说完了求婚,这里就拿准备婚礼举例子吧。
在准备婚礼的阶段,相关人员每天都必须碰个头,说一说现在的进展怎么样,物品采购情况怎么样,有没有遇到什么问题。
确认无误之后,按照既定的计划去做好每个人该做的事情。
2. 测试
开发人员在完成一个功能之后就可以将其提交给测试人员,进行功能测试,测试方法这里就不详述了,测试之前一定要准备好相关测试文档。
如果发现bug,那么就需要将此bug反馈给研发同事,让其修复并且重新提交测试,一直到测试通过为止。
【映射人生】
测试就像婚礼彩排,在婚礼正式开始之前,需要按照婚礼的流程去走一遍,确保在整个流程中没有任何纰漏,及时找到并解决遇到的问题。
3. 上线
本次迭代中所有功能都研发并且测试完成之后,就可以准备上线了,这时候需要产品经理写一封上线申请邮件,通知相关用户及领导。
上线申请邮件主要内容有:上线版本、上线功能、上线开始时间、上线完成时间。
同时技术人员也需要准备一封上线邮件,主要内容包括:更新上线组件的名称、计划更新时间、操作人员、上线所关联的issue、相关代码仓储、回滚操作及方案。
成功上线后,除了在上述邮件中回复上线完成外,还需要由产品经理写一封产品更新邮件,告知相关用户本次产品更新了什么功能,应该如何操作,并且更新产品操作手册。
【映射人生】
婚礼仪式正式开始之前,需要邀请亲朋好友过来参加,在婚礼进行的时候家长及新人需要向来宾表示感谢,新人要讲述一路走来的酸甜苦辣,顺便畅想一下未来,如何如何发展,生几个宝宝等等。
05 版本迭代
此版本在上线后就代表研发流程结束,可以开始下一版本的准备了。
目前市面上的产品研发基本都是MVP+敏捷开发。
MVP:Minimum Viable Product,最简化可行性产品。
当计划开发一个新产品或者新功能的时候,不可能短时间就能够将其全部功能开发完成,如果花费时间过长就会导致丢失先入市场的优势,这时候就需要用到MVP模型。
将用户最需要的功能优先满足,不求界面有多炫酷,也不求功能有多花哨,只要保证能够通过此产品满足用户的需求。
敏捷开发:敏捷开发是将一个大项目拆分成多个小项目,以用户需求为核心,采用迭代、增量的方式开发软件。
通过敏捷开发的方式,将大项目划分成多个可独立运行的小项目之后,每个人都有独立负责的模块,能够进行有效的沟通,在保证产品质量的前提下,实现了产品的快速迭代,满足市场需求。
在此版本完成之后,马上开启下一个版本研发,按照以上步骤循环。
【映射人生】
当计划买一辆卡宴的时候,发现没有这么多资金,可以考虑先买一辆五菱之光满足日常通勤的需求,等到存够了钱再慢慢换更高品质的汽车。
当想成为王健林的时候,不妨定一个小目标,比方说,先挣他一个亿。每年存一个亿,额,继续睡,别醒过来。
总结
通过本文大致梳理了一个产品的研发流程,稍微总结一下吧。
产品研发可以分为五个步骤:
项目启动:开启项目,确定相关人员,立项
需求分析:可以细分为需求获取、分析、确定,做好需求记录,可行性分析,四分法确定优先级
产品设计:产品功能设计(输出功能流程图、业务流程图、原型图、PRD)、UI/UE设计、技术评审
研发上线:研发(每天召开站立会同步进度)、测试、上线
版本迭代:确定下一轮需求,敏捷开发
本文结合了一些实际生活中的例子,简单介绍了产品研发流程,不知道是否表述清楚,请大家积极在留言区给出宝贵的建议或批评。
工作映射人生,行动起来吧,把自己当成一个独一无二的产品不断地优化、打磨,让自己成为一个对社会有用的人。