产品研发过程中UCD目标的制定与实现
摘 要:以用户为中心的设计(UCD, User-Centered Design)是保障产品具有较好用户体验(User Experience)的基本活动,其中可用性目标是有效衡量 UCD 活动最终效果的重要指标。本文将介绍一种可用性目标的制定过程,包括可用性目标维度及衡量指标,以及可用性目标与其他设计指标结合时其优先级的确定,可用性目标描述规范等。
关键字:以用户为中心;可用性目标;用户体验
作为一名研发咨询顾问,在为客户进行培训和咨询服务时通常遇到这样的问题:
1)究竟什么是UCD,产品的UCD包括哪些范围?
2)UCD的度量标准是怎样的?如果衡量UCD达成的目标?
3)如何收集用户对UCD的需求?
4)在开发团队中谁对UCD负责?
5)UCD的工作如何考核?
6)公司需要专门的UCD团队吗?
面对以上的问题,许多企业的研发管理者无从下手,很多产品管理人员对于UCD的设计还仅仅停留在模仿的层面,即抄袭竞争对手的UCD,或者拍脑袋,没有科学的流程制度和管理机制,以保证UCD在产品开发实现中的落地。我们先来看看UCD的定义:
UCD是User Centered Design的缩写, UCD是把易用性(Ease of use)设计到产品的用户整体体验(Total User Experience)的一个方法。它能够使团队(组织)开发出容易销售、容易安装、容易学习、容易使用、容易升级的产品。它需要多学科团队来设计用户看到、接触到的任何东西,并且在开发过程的各个阶段收集用户的输入和反馈。UCD是一种设计方法,它设计的是用户整体体验。目前国内大部分的产品创新型企业都设置了UCD团队和组织,如华为、阿里巴巴和腾讯等公司。尽管业界提出了一些可用性检查表等方式来帮助评估或测试的全面性和客观性,但不可避免对于UCD评估或测试往往存在主观性,评估或测试结果一方面容易引起开发人员的争议,另一面也经常因项目周期等因素而难以得到改进。其中最重要的原因就是开发前没有制定可衡量的、多方认同的可用性目标。
本文将介绍一种可用性目标制定方式,来帮助产品开发过程解决如下问题并从而提升 UCD 活动效果:
一为产品设计人员(包括交互设计人员、视觉设计人员和开发人员)提供具体的、清晰的可用性目标,使其设计有的放矢。
二是为可用性评估及测试人员提供测试的验收标准,使其在产品开发不同环节的评估及测试中有具体的衡量标准,也使得测试结果能得到广泛认同。
如何进行可用性目标制定?可用性目标有效制定无疑将为 UCD 活动提供有依据的衡量标准,从而提升 UCD 活动效果。可用性目标与产品开发过程之间的关系如下图:
如上图可见,可用性目标制定需要用到市场及技术分析结果、产品规划目标,如果是多代开发的产品,则其上代产品的市场反馈结果也可用于制定可用性目标。用于制定可用性目标的数据主要有:目标市场及竟品信息、目标用户及用户特征、产品特征、技术约束、用户反馈等。可用性目标一旦制定,将影响到产品规划、产品设计一直到上市等各个环节,一方面将为设计人员提供设计依据,另一方面将为评估及测试提供衡量标准。另外,可用性目标也可随着设计、开发和测试等过程推进中,不断优化。以下是制定可用性目标的三步法:
第一步:进行维度选择
如何进行维度选择?描述可用性的维度有多种方式,国外有些资料记载将有效性、效率和满意度作为可用性的基本维度,一些文献中将易学、易记、易用、容错和满意度作为可用性描述维度,而随着人们对情感的关注,还有研究者将情感的一些因素也作为可用性考虑因素之一。本文从介绍方便的角度,采用下表中的可用性维度案例子来介绍可用性的维度定义并进行简要说明。一般来说,产品在可用性方面应至少着重考虑这些维度中的一种,具体维度选择往往需要根据产品需求综合选择维度,比如娱乐类应用要着重考虑其吸引力,而学习类应用则应着重考虑其易学性,办公类则应更关注有效性和效率,等等。
第二步:进行可用性衡量指标定义和说明
什么是衡量指标?所有的目标最终是必须可以量化的,可用性目标也不例外,也需要相应的指标进行描述,把可用性目标分为定性目标和定量目标。本文根据可用性目标反映人和产品之间使用性能的固有特点,从表 3 中的时间、精确性或正确率、成功率和满意度等四个方面来描述可用性目标。
可用性的 5 个维度和以上 4 个衡量指标相结合,可以精确描述出无歧义的可用性目标;衡量某个可用性维度时可以是 4 个衡量指标的 1 个或多个。
也可以将多个维度和衡量指标结合起来,形成一个综合衡量的可用性目标,比如:新手用户在不需要帮助的情况下 5 分钟之内最多只出现 2 次错误就能成功地完成笔记本无线网络配置工作,且满意程度不低于 4 分。该目标就将有效性、效率、容错、易学和满意度等维度。综合为在时间、正确、成功和满意度等具体的具有可衡量标准的可用性目标。
具体实践中,还会存在量化的问题,比如为什么限定不能出现 2 次以上错误?这些量化的数据需要结合多种学科的研究结果,如心理学、社会学、人体工程学等等,有些数据是可以从这些学科总结的数据中直接提取,如一些人体尺寸方面的要求,或利用这些学科的方法通过实验获得,如通过心理学实验获得出错率和反应时间等;此外,还有些比较简要的方式就是直接分析竟品或类似产品,从中获得可以衡量的数据,比如发短信的操作效率方面,可以从业界操作步骤最少的手机中得到相应的可比较数据。这些数据经过积累之后,可逐步形成经验数据乃至公司同类产品的标准,为后续产品开发提供依据。
另外,这些衡量指标也需结合具体任务和目标用户来选取,如时间方面,新手用户和熟练用户应有所差别;而对于准确性要求高的任务如超市收银则需要时间和正确率等。
第三步:进行优先级设定
结合产品、用户、任务等产品使用背景信息之后,采用可用性描述维度和衡量指标,即
可形成一系列的可用性目标,但这些目标形成之后,需要结合产品目标、项目环境和任务特点等相关信息,确定这些目标的优先次序,也即必须给可用性目标分优先级。分优先级的基本思路为:
如果给某目标赋予高的优先级,必须考虑该目标是否对产品的成功最有帮助。
如果可能的话,低优先级目标也要识别出来并完成,但是必须在保证高优先级的目标得以实现的,而且这些低优先级目标也不会占用项目额外的时间和成本的前提下。
与通常产品其他目标类似,可将可用性目标分为三个级别:
— 一级目标:最高级别的可用性目标,严重影响产品的成功与否。比如:关键功能的图标能否被正确理解并与其他图标有效区分。
— 二级目标,对产品的成功影响较产品其他目标较为次要,尽可能争取资源来保障。比如:新手用户 1 分钟进入某功能界面(当产品主要目标是稳定性或其他要求时,就可以把该目标作为二级目标)。
— 三级目标,产品的成功不是可用性来决定或需要长期才能衡量出来的可用性目标。比如:产品的整体满意度目标。
设置可用性目标的优先级之前,可按作用将可用性目标分为三大类,可更好的设置产品可用性目标:
— 关键目标:产品可用性必须达到的最低限度的可接受水平,即无论什么情况下最起码要达到的可用性目标。通常为一级目标。
— 基准目标:分为两种,一种是在设计迭代评估中使用,用于确定何时停止迭代,特别是在资源紧张的情况下或可用性不是产品主要目标时,应根据实际情况设置的可用性目标:第二种为用于在资源紧张但可用性是影响产品成功与否的关键因素之一时,设置的产品最终能否上市的可用性目标。
— 理想目标:如果费用,时间,以及其他的日程冲突不在考虑范畴时,用于作为一个长期的目标,直到产品发布之后仍跟踪改进的可用性目标。
以上优先级关系可如下表所示:
三个步骤执行完成之后,UCD目标和度量的标准也就基本成型了。当然,除了一些基本的度量标准,对UCD设计人员的创新意识、对客户需求的敏感性也非常关键。
产品研发过程中UCD目标的制定与实现的更多相关文章
- 社交系统ThinkSNS+在研发过程中,如何做到 Laravel 配置可以网站后台配置
什么是ThinkSNS+ ThinkSNS(简称TS),一款全平台综合性社交系统,为国内外大中小企业和创业者提供社会化软件研发及技术解决方案. 本文分享下利用 Laravel 的 Bootstrapp ...
- 如何用Bugzilla系统管理产品研发过中相关需求和bug
目 录 1.Bug处理流程及状态说明 2.bugs字段说明 3.查询报表的使用 4.bug系统与需求系统的整合 5.流程和用户权限 1. Bug处理流程及状态说明(1) BUG状态流程图 BUG的状态 ...
- CMMI三个过程域的流程及达到特定目标、共性目标的要求(RD需求管理过程,PI产品集成过程,TS技术解决方案)
RD需求管理过程 通过面谈的方式获取相关干系人关于产品生命周期各阶段的需求.期望,限制条件,接口 将相关干系人的需求.期望,限制条件,接口转化成用户需求说明书 依据客户需求,确定产品或产品组件需求,形 ...
- SAP HANA开发中常见问题- 基于SAP HANA平台的多团队产品研发
大家都知道SAP HANA项目打包成Delivery Unit(缩写为DU).依照"官方"的开发模式,特别是整个团队仅仅使用一个HANA Instance进行项目开发,因为HANA ...
- 产品研发团队如何融合OKR与Scrum敏捷开发?
「 OKR 」现在非常的火爆,很多公司都在使用,不仅国外的 Google.英特尔等大公司在用,国内的一线知名互联网企业今日头条和一些创业团队也都在使用. 那为什么「 OKR 」这么受欢迎呢,因为把它可 ...
- CEO 系列之一:如何当好创业公司 CEO?(不要用战术的勤奋掩盖战略的懒惰,在创业过程中,最核心问题,就是能把创业情怀变成具体问题。这个问题越具体越好)
1. 创业公司要先定一个目标,要善于把目标简化, 分解成一个, 一个更具体,更简单的问题2. 针对简单的问题进行聚焦, 做深做强3. 在做的过程中, 把断地推出自己的产品到市场上去试错, 要用事实来证 ...
- 在Spring Bean实例过程中,如何使用反射和递归处理的Bean属性填充?
作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! <Spring 手撸专栏>目录 [x] 第 1 章:开篇介绍,我要带你撸 Spri ...
- BI实施过程中的工具与服务
成功的BI项目,不仅仅是应用了BI工具软件,还要具备完善的BI服务体系,才能称之为真正成功的商业智能bi项目. 现在的BI(商业智能)比起几年前的ERP一样,成为CIO们关注的焦点.在ERP等基础信息 ...
- 在CMMI推广过程中EPG常犯的错误(转)
本文转自: http://developer.51cto.com/art/200807/86953.htm 仅用于个人收藏,学习.如有转载,请联系原作者. ---------------------- ...
随机推荐
- iOS之UILabel自适应高度、宽度
下列两条自适应高度和宽度的自定义方法:
- 利用C++不使用递归,循环和goto,打印1到100 的某一答案分析
实验环境是在64位linux下使用g++编译器 下面是Mark Gordon的答案 The below one works on my system, can't guarantee res ...
- python random
import randoma = random.randrange(0,5)print(a)本来很正常的一段代码,用pycharm就报错,控制台就可以运行,原来random 和自带的random 同名 ...
- 尝试一下代码高亮。。成功的话明天写一篇blog
using System; using System.Collections; using UnityEngine; public class Time : MonoBehaviour { // Us ...
- windows与linux之间文件的传输方式总结(转)
当然,windows与linux之间文件的传输的两种方式有很多,这里就仅仅列出工作中遇到的,作为笔记: 方法一:安装SSH Secure Shell Client客户端 安装即可登录直接拖拉到linu ...
- Error:Protocol family unavailable
在环境变量添加:_JAVA_OPTIONS 变量值为:-Djava.net.preferIPv4Stack=true 环境变量添加方法链接: http://jingyan.baidu.com/arti ...
- iOS.ReactNative-3-about-viewmanager-uimanager-and-bridgemodule
RCTViewManager and RCTUIManager 1. RCTViewManager 1.1 RCTViewManager 实现了接口RCTBridgeModule @interface ...
- Nginx密码验证 ngx_http_auth_basic_module模块
有时候我们需要限制某些目录只允许指定的用户才可以访问,我们可以给指定的目录添加一个用户限制. nginx给我们提供了ngx_http_auth_basic_module模块来实现这个功能. 模块ngx ...
- 金蝶 K/3 Cloud 服务端控件编程模型
如下图是服务端已有的控件编程模型
- 魔性の分块 | | jzoj1243 | | 线段树の暴力
题目的打开方式是酱紫的 然而作为一只蒻蒟根本不会线段树该怎么办呢? sro MZX orz 是这样说的:用分块啊! 分块 根据紫萱学姐的教程,分块的打开姿势是这样的: 我们要对一个数组进行整体操作 ...