最近做的项目交互都相对较复杂,所以在项目过程中一些边界情况在需求文档中就给遗漏了。项目评审时也没有发现,在开发过程中开发同学也没有能够很好的关注,最后在提测时问题暴露出来了,却发现有些晚了。
有时候就反思自己,在出需求文档的时候为啥就遗漏了这些细节边界情况呢,这样的需求遗漏一个或许还可以接受,但是如果较多的话就可能会影响到项目的排期。发现自己在考虑问题时没有太仔细。
于是针对细节、边界遗漏这种case ,做了一个study,列一个清单,后期出需求的时候都对照清单进行自查,相信这样会有很好的效果。
自查步骤:
1. 主流程的自查。根据用户使用场景进行一步一步的拆解,检查目前的主流程是否存在问题。一般主流程是pm 和交互讨论后定的,但也不乏出现问题的情况,这种主流程的自查其实可以多找几个未参与主流程设计的人问问,看看他们的使用情况。
2. 对交互细节进行梳理。细节主要包括了以下几点:
1) 页面信息布局。主要检查页面布局是否清晰、操作按钮是否放在合适的位置。比如ios app 中内容编辑页面,提交或下一步大部分都放在右上角。
2 ) 页面切换效果。ios 页面切换效果有从右往左推入、从左往右退出、从下往上弹出、从上往下退出、渐现、渐隐、立现、立隐。
大部分ios 页面切换会遵循以下的规范,对于一个连续的操作,打开一个新页面是从右往左推出,而返回上一级页面是从左往右退出。但是如果是在原本操作流程中临时插入一个新的流程(如提交内容时登录,登录就是临时插入的流程),新页面则是从下往上弹出,当处理完这个流程后会从上往下收起。当前页面的蒙版,高斯模糊效果并不能算是一个新的页面,所以如果以推入的动画来实现页面的切换效果就不是特别好,这个时候立现可能会更好。
3)操作按钮位置。按钮位置是否合理,如确认弹框中,确认放左边还是右边。按钮是用文字还是icon 或者icon和文字结合的形式。
4)操作反馈。对于用户的操作最好能给予用户一定的反馈,这样用户才知道自己究竟做了些什么,比如button 点击的二态,收藏成功后的提示。这些都是对用户操作的及时反馈,会给用户安全感,不然我都不知道我点中了没有,收藏成功了没有。
3. 边界case 自查。交互越复杂的需求遇到的边界case 会越多,而这些边界case 也是最容易让人遗漏的点。
1)网络类:无网络、网速慢、网络环境的变化、网络超时
2)帐号类:是否需要登录才能使用、未登录、多设备同步
3)硬件类:屏幕过大、屏幕过小、找不到相关设备、横竖屏旋转、内存不足
4)权限类:无权限、权限不足(相册、照相机、定位、麦克风)
5) 缓存类:内容编辑是否缓存,最新数据与缓存数据不一致
6)活动类:活动有效期,过期提醒
7)数据丢失,数据查找失败
8)历史版本兼容
9) 事件互斥性,执行某个操作的同时执行其他操作是否允许。(如在语音播放过程点击返回是否结束语音播放)
10) 输入限制:输入长度限制、输入字符限制。
一梳理发现边界case 真心好多,想起以前一开发同学跟我说处理边界case 和实现一个功能的耗时是差不多的,pm 如果能够在出需求的时候尽量把边界case 都想全,将很大程度节省开发同学在项目开发过程找pm 确认边界处理情况的耗时。
----END---
网友评论