功能流程,如何设计才能不被吐槽?

起点学院产品经理365成长计划,2天线下闭门集训+1年在线学习,全面掌握BAT产品经理体系。了解详情
liuchengshej

作为产品经理,我们在设计每个功能流程的时候,最难考虑的应该就是各种功能的细节应该如何打造了。碰到这个时候,往往就会想,如果我是处女座,那该多好啊。

细节处理不好,经常会被程序猿吐槽,这个功能考虑不周、那个功能的判断条件没有写清楚、这个数据没有做限制等等,对于刚入行的同学,弱小的心灵怕是难以承受这样的打击。

如何避免被反复吐槽,做出一个令技术找不到嘈点的功能,来,让燧人分享一下经验。

第一步:定义这个功能的正常流程

一般在设计功能流程的时候,我们会先设定这个功能的流程应该如何行走。在这个阶段,我建议大家先放下所有分支流程及异常流程,只设计最简单,最正常的流程行进。

举个栗子,假设设计一个手机号码的注册功能时,用户的人机交互正常流程应该按照如下的方式行进。

02

这里可看到,用户可操作4个子功能、分别是输入手机号码、点击获取验证码、输入验证码、确定注册。当然,按照产品的需求,可以提供更多的输入项目让用户输入,这里需要结合自身产品去考虑。

这样就有了一个基本流程,这个流程只能作为一条主线,并不能直接交付开发。

第二步:模拟用户场景,检验流程是否满足

所谓模拟用户场景,则需要考虑三个场景

  1. 用户在什么时候会使用这个功能;(如何开始)
  2. 用户在使用这个功能的时候希望能提供给他们什么;(如何行进)
  3. 用户在结束这个功能的时候希望是怎样的。(如何结束)

那还是按照刚才的功能流程,先考虑如何开始:

03

实际上,我们需要考虑的是,这个功能的入口是否合理(有些同学可能将功能设计得很好,但忘记了入口在哪里)

其次,我们再考虑这个功能在用户进行的时候,是否可满足用户的需求。

 04

在这里,我将输入验证码修改成自动读取验证码并输入,这个可以方便用户不用来回切换程序来进行输入。当然还会有其他令用户体验更好的功能,这里面不细说。

主要的原理是行进中的流程,应该将自己代入到用户当中,去感受这个功能是否让用户感到舒适,或者为了用户的体验,应该增加哪些功能。

最后,我们再考虑如何结束:

05

在流程的完结,应该考虑功能最终体现给用户是什么效果,这里以注册来做例子,则是返回到进入前的页面。而其他功能,请脑补会出现什么结果。

至此,我们进入到流程考虑的第三步。

第三步:极端的模拟

为了确保,我们对于功能考虑的完善,那需要对刚才所制作好的流程图,每一个环节去考虑分支及异常事项。这里面我惯用的方法,则是通过代入极端数值去验证流程是否具备对异常情况的应对方案。而对于无数值输入的功能,则按照是/否的形式去思考。

示例1:(是非判断)

第一个环节:打开页面A提示进入到注册功能(不需用户进行任何数值输入,我们用是、否的方式考虑)

考虑的问题:

  • 是:什么场景下,打开页面A会提示并进入注册功能?
  • 否:什么场景下,打开页面A不会提示并进入注册功能?
06

通过这个方法,引入用户是否已登录的判断。

示例2:(当涉及到数值输入我们需要引入极端数值)

在输入手机号码的环节涉及到数据的交互,这个时候我们可以采取是否判断+极端数值的办法去考虑异常流程。

  • 是:如果用户输入的是手机号,怎么办
  • 否:如果用户输入的不是手机号,怎么办
  • 最大数值:在输入无限多的手机号数时,怎么办?
  • 最小数值:在不输入手机号码或只输入1个数字的时候,怎么办?

通过这四个问题,就可以归纳出,应该对流程做出如下限制:

  • 用户应在此输入框中,只能输入数字
  • 用户应在此输入框中,必须输入11位的数字
07

而上文所说的第二步及第三步,是一个反复思考的步骤。

我所建议的是,当第三步修改完毕,返回第二步重新考虑,然后再一次进行第三步的修改。直至发现功能流程已达到改无可改的时候。

各位,我所举例的注册流程只是作为例子,仍然有很多地方需要完善,如果各位感兴趣的话,不妨按照我说说的方法,用喔这个例子,去检验最终出来的流程,是不是会令你感到完美?

 

本文由 @燧人 原创发布于人人都是产品经理 ,未经许可,禁止转载。

您的赞赏,是对我创作的最大鼓励。

评论( 0

登录后参与评论
加载中