查看原文
其他

【第537期】需求文档细节自查方法

请叫我江湖名向阳 前端早读课 2019-07-10

前言

曾经扯淡过这么一句,pm写的需求只有30%,其他的需求是在开发过程中补充的,(当然这个比例是我YY)。前端在开发的过程中,也往往忽略对边界值的注意,比如在宽窄屏中对模块,数据的处理。在产品策略中,对模块数据的边界考虑等等。今天这篇从更多的方面来让我们对边界的思考与定义。


正文从这开始~


最近做的项目交互都相对较复杂,所以在项目过程中一些边界情况在需求文档中就给遗漏了。项目评审时也没有发现,在开发过程中开发同学也没有能够很好的关注,最后在提测时问题暴露出来了,却发现有些晚了。


有时候就反思自己,在出需求文档的时候为啥就遗漏了这些细节边界情况呢,这样的需求遗漏一个或许还可以接受,但是如果较多的话就可能会影响到项目的排期。


发现自己在考虑问题时没有太仔细。


于是针对细节、边界遗漏这种case ,做了一个study,列一个清单,后期出需求的时候都对照清单进行自查,相信这样会有很好的效果。


自查步骤:

1。主流程的自查。

根据用户使用场景进行一步一步的拆解,检查目前的主流程是否存在问题。一般主流程是pm 和交互讨论后定的,但也不乏出现问题的情况,这种主流程的自查其实可以多找几个未参与主流程设计的人问问,看看他们的使用情况。


2。对交互细节进行梳理。细节主要包括了以下几点:

  • 页面信息布局。主要检查页面布局是否清晰、操作按钮是否放在合适的位置。比如ios app 中内容编辑页面,提交或下一步大部分都放在右上角。

  • 页面切换效果。ios 页面切换效果有从右往左推入、从左往右退出、从下往上弹出、从上往下退出、渐现、渐隐、立现、立隐。


大部分ios 页面切换会遵循以下的规范,对于一个连续的操作,打开一个新页面是从右往左推出,而返回上一级页面是从左往右退出。但是如果是在原本操作流程中临时插入一个新的流程(如提交内容时登录,登录就是临时插入的流程),新页面则是从下往上弹出,当处理完这个流程后会从上往下收起。当前页面的蒙版,高斯模糊效果并不能算是一个新的页面,所以如果以推入的动画来实现页面的切换效果就不是特别好,这个时候立现可能会更好。


  • 操作按钮位置。按钮位置是否合理,如确认弹框中,确认放左边还是右边。按钮是用文字还是icon 或者icon和文字结合的形式。

  • 操作反馈。对于用户的操作最好能给予用户一定的反馈,这样用户才知道自己究竟做了些什么,比如button 点击的二态,收藏成功后的提示。这些都是对用户操作的及时反馈,会给用户安全感,不然我都不知道我点中了没有,收藏成功了没有。


3. 边界case 自查。

交互越复杂的需求遇到的边界case 会越多,而这些边界case 也是最容易让人遗漏的点。

  • 网络类:无网络、网速慢、网络环境的变化、网络超时

  • 帐号类:是否需要登录才能使用、未登录、多设备同步

  • 硬件类:屏幕过大、屏幕过小、找不到相关设备、横竖屏旋转、内存不足

  • 权限类:无权限、权限不足(相册、照相机、定位、麦克风)

  • 缓存类:内容编辑是否缓存,最新数据与缓存数据不一致

  • 活动类:活动有效期,过期提醒

  • 数据丢失,数据查找失败

  • 历史版本兼容

  • 事件互斥性,执行某个操作的同时执行其他操作是否允许。(如在语音播放过程点击返回是否结束语音播放)

  • 输入限制:输入长度限制、输入字符限制。

 

一梳理发现边界case 真心好多,想起以前一开发同学跟我说处理边界case 和实现一个功能的耗时是差不多的,pm 如果能够在出需求的时候尽量把边界case 都想全,将很大程度节省开发同学在项目开发过程找pm 确认边界处理情况的耗时。

 

关于本文

作者:@

原文链接:http://www.jianshu.com/p/aaa3132eac9b



    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存