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

2016-01-09 10:05:36      访问:

【内容导读】 森普软件专业致力于软件定制开发,依托一整套成熟的服务体制和工作流程为客户提供高质量的软件系统顾问咨询、实施和售后等一系列优质、快速、便捷的服务,详情咨询:400-677-0389

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

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

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

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

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

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

 


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

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

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

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

用户在什么时候会使用这个功能;(如何开始)
用户在使用这个功能的时候希望能提供给他们什么;(如何行进)
用户在结束这个功能的时候希望是怎样的。(如何结束)
那还是按照刚才的功能流程,先考虑如何开始:


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

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

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

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

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

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

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

第三步:极端的模拟

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

示例1:(是非判断)

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

考虑的问题:

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


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

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

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

是:如果用户输入的是手机号,怎么办
否:如果用户输入的不是手机号,怎么办
最大数值:在输入无限多的手机号数时,怎么办?
最小数值:在不输入手机号码或只输入1个数字的时候,怎么办?
通过这四个问题,就可以归纳出,应该对流程做出如下限制:

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

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

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

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


选购指南:

本公司主要为山东地区的商业、企业单位及个人提供各类定制开发服务,如:软件定制开发APP定制开发微信定制开发以及P5业务支撑平台等整体的信息化解决方案,能够满足各种大中小型商业、企业及个人的需要。