前言
最近收到一个需求是"管理员可以进入监控页面,可以看到老师们正在进行的课程,如果涉及到违规情况,比如涉及到政治问题或者涉黄涉恐等问题。管理员可以给老师停止课程,把课程中的活动整改完毕之后在进行推课"对于这个需求的原型设计用了4天的时间,迭代更新了八次。看似平常的一个需求,用了这么长时间去设计原型图。有必要吗???
下面就带着这样一个问题,来听我娓娓道来。
过程
首先拿到这个需求我们就直接按照需求的描述进行了绘制原型图,可以说是非常的顺利。自己怎么想的就怎么画出来了。感觉设计出来的内容已经包含到了需求描述中的内容。带这样的一个成功就行了第一次的验收,验收的结果是不符合功能的要求。紧接着进行了第二版的原型图绘制。第二版是在第一版的基础上添加了对课程班级的分类和搜索方便老师在课程比较多的时候好找到自己想要的班课。完成之后进行了第二版的验收。结果还是不符合要求,因为管理员给老师结束课程没有依据,没有参考的内容。紧接着执行第三版的绘制。第三版添加了老师正在推送活动的活动内容,管理员可以根据活动内容是否规范进行结束活动,也就是跳过这个活动推送下一个活动。防止为了老师和同学们不能够及时上课而着急。但是在验收的过程中提出不能直接结束一个活动,因为活动属于一个课程班级的具体内容,因为我们用的是面向对象的思想,面向的是一个课程而不是一个活动,并且活动的检验在做课的过程中就需要进行检测,管理员关注的并不是单单一个活动而是一个课程班级,带着提出来的建议我们进行了第四版的绘制。在第三版的基础上调整了从结束活动改为结束课程。优化完之后进行验收,这次的验收方式是以角色扮演的形式,我们有的人扮演管理员有的人扮演教师。发现执行整个流程的时候有很多的遗留项使我们没有考虑到的。然后根据我们的实践的结果进行第五版、第六版、第七版、第八版的优化。这几版的优化都是针对一些细节问题进行了调整。
总结
针对这一次需求的设计总结一下自己,还是没有完完全全的把自己投入到用户的角色上,没有彻底明白用户为什么提出这样的需求以及这个需求解决了用户的哪些问题和痛点。总是以一个开发人员的思想去设计。这样我们设计出来的产品用户是不愿意使用的,不但没有解决用户的痛点反而给用户添加了负担。
所以当我们拿到一个需求的时候要先分析用户想要的是什么,用户为什么会提出这样的需求。明确了背后的逻辑设计出来的原型和需求才不会有特别大的差别。而且在设计前一定要有全局观,把大方向明确了之后在深入到细节当中。虽然这次设计的原型花费的时间比较长,但是在思想认知和能力上都有了提高,这一次的设计使我们以后设计的一个基础。只有我们这样每一步都非常清楚我们才能在以后的设计中提高我们的效率,从4天变成4小时变成40分钟。我们设计出来的软件才能符合“你设计的软件猪不能使,你就是猪”和“让软件的使用者成为软件的设计者”这样的设计理念,这个用户才能愿意使用你设计的软件。所以我认为用4天的时间设计出这个需求的原型图是值得的