做软件要的其实不是功能,而是业务场景下的解决方案,这就是今天我想要说的主题。
全文共1218字,阅读约2分钟。
刘洋
外包大师产品顾问
一般我们在和客户沟通时,会先询问客户想做软件的主流程、业务场景和使用人群是什么。当我们识别出客户想要的系统,以及支持的业务场景后,就可以通过场景对问题、问题对方案的逻辑去分析问题,只有把问题分析清楚,就可以导出系统所需要的各项功能。
场景到方案
首先,要细化场景,把每个场景都转化成事件流,先把解决问题的最短的步骤写下来,然后再考虑其他变化出来的情况。
然后,我们要站在用户的角度上,去考虑每一个步骤和动作,想想他们会遇到什么样的问题。
最后,就是针对上述问题,思考系统应该提供什么样的功能,罗列出功能清单,经过反复推敲后,就可以考虑初步的UI设计了。
业务场景细化
针对细化的业务场景,一般有3个步骤。
1. 这些场景中,用户要实现什么目的
我们可以站在用户角度描述将要达到的目的。比如:我想要添加购物到购物车、分享我喜欢的文章给我的好友等功能。
2. 执行该场景的前提条件
对于一个操作,有时候是有执行条件的。有时则是在执行某些功能动作后才能执行,那么这些执行条件是什么呢?这点要在策划的时候,务必标注清楚。
3. 除了主要用户,还有什么干系人
除了主要用户,一套流程还要涉及到上游、下游、管理者等其他关心这些场景的角色。对于主流程外,这些人的关注点是什么,我们应该提供哪些需求来满足他们。
分析问题,导出功能
通常有两个思考角度,第一个是在执行这些流程的时候你所遇到的问题,这里面都会遇到哪些变化及异常(分支流程和异常处理的问题怎么去解决);第二个是面对这些问题,系统应该设计什么功能去支持(即考虑逻辑闭环问题,不能有让用户有上一步操作,却没有下一步操作,导致人工介入)。
考虑环境及规则
面对客户,我们一定要问清楚需求,比如是要做小程序和APP,还是web端页面,亦或是saas系统等等。然后还要考虑系统承载的3个情况。
a. 性能相关,主要包括使用软件的人数,峰值,密度等等;
假如你是个电商平台,考虑最近新品发布,限购100件,想买的用户成群结队的在某一个时间点点爆同一个页面,这就会造成服务器宕机,所有业务被迫关停的尴尬局面。
b. 易用性相关,主要是设计的时候是不是符合用户的使用习惯,这跟设计人员的经验经历都有很大关系;
易用性的问题,通常是要看用户在没有指引的情况下,能否快速通过最短的步骤,找到自己想要的内容或者结果。易用性设计很差的,可能用户找不到,或者感觉不好,就再也不会来了,更别说主动推荐你的产品。
c. 部署环境相关,用户可能使用的网络,系统的软硬件环境;
最近有个客户,想做一个给幼儿园老师提供上课讲义的,产品需求是客户端。之前做个web端版本,其实用的流畅度,体验感也蛮好的,后来才知道,因为很多幼儿园没有网络,所以需要有单机离线版去支撑整体业务。
有了我给您介绍的这套追踪业务场景的流程,是不是能对理解用户和理解异常问题的处理,有了更多的理解。软件开发,并不只有主流程,考虑到方方面面,更需要有一个靠谱的产品经理来梳理。
本文作者:刘洋
领取专属 10元无门槛券
私享最新 技术干货