对用户研究实践的思考(2)
发布时间:2010-10-19 12:21:00
08年夏,西安交通大学李乐山教授给腾讯设计师培训的时候说:“我们前头搞用户调查,是为了建用户模型,用户模型建出来目的是帮助撰写设计指南供软件开发人员参考。从事的软件开发的很多人员他是不了解用户的,但是他要根据你写的设计指南,将所有的用户需求都涵盖在内。你如果漏了一条,他就可能漏了一个结构,一个功能。这个样子到最后,软件整个都失效了,没有用了。”
这种情况很容易发生在采用“瀑布式”开发流程的软件开发项目。从设计到制定产品特性,到开发,到测试,环环相扣,一步不慎,满盘皆输。2001年, “敏捷开发”的概念被提出来。目前在腾讯,越来越多的产品开发开始采用“迭代式”开发流程。据了解,其他互联网公司也在采用。这种“迭代式”开发的主要做法是:整个产品开发的过程是一系列不断的迭代过程;固定发布时间,发布速度快,有些互联网产品每半月发出一个版本,每次提供一些新产品特性;灰度放量,小部分用户先试用,然后搜集这部分用户反馈意见,快速修改版本,然后再大规模发布产品。
这种“敏捷开发”对用户调查和设计带来的主要影响是:产品发布速度快了,但调查从立项开始,执行分析,都需要花费大量时间,经常赶不上版本发布的节奏;通过灰度放量,可以通过用户的实际使用产品后的反馈了解用户情况,而不用依赖于前期大量分析工作预测用户使用新特性的情况;架构灵活,修改代码的成本低,允许开发出错,不依赖前期调查结果做指南。
从本质上来讲,“敏捷开发”和用户调查并不对立。在中国大力推行敏捷开发流程的咨询公司ThoughtWorks写到: “敏捷思想核心是人的交流。需求问题实际上是个交流问题。商务分析师要和客户交流搞清楚客户到底需要什么,到底为什么需要这些东西?商业价值是商务分析师关注的最终目标,有了目标指向就可以不迷失方向。和客户进行交流的最终目就是挖掘出客户商业目标。可能大家会经常有这样经验——客户说我要这个功能,我想要如何如何样,这时候要特别注意他说这些东西可能并不是真正需求,商务分析师需要详细问客户为什么,挖掘出他真正目标。”典型敏捷过程模型中的一种叫极限编程(Extreme Programming),是通过故事卡(Story Card)来管理需求。这种故事卡几乎可以说是情景分析,任务分析的另外一种表现。“敏捷开发”并不是不再关注用户,而是从不断从试错中获得用户反馈,从而改进产品,其实是“以用户为中心”的另一种表现。
由此看来,“敏捷开发”本身对于程序员来说是“以人为本”的,因为它允许程序员犯错,强调开发者之间的沟通交流,甚至鼓励程序员与用户交流,希望把机械的编程变成愉快的活动。
所以界面设计师对“敏捷开发”的态度不应该是抵触的,应该寻找解决方案。这个问题笔者所在团队正在尝试通过工具和流程来解决——
我们通过工具来缩短调查时间。用户访谈中,邀请用户、做记录和写分析报告是很花时间的。对此,笔者团队正在建立自愿接受访问的用户数据库,未来有需要时从中随时抽取用户;在调研过程中邀请项目组成员包括开发、设计师、产品经理一同来访问和观察用户,第一时间分享有用资料,减少文档写作,只写必要文档。问卷调查中,制作问题是很花时间的,公司内部专门开发了问卷制作和投放系统,从制作到投向用户最快几个小时内就能完成(不包括设计问卷)。数据分析阶段,使用SPSS分析时,将常用分析代码整理出来,下次统计分析可以继续使用,减少分析时间。通过使用工具,缩短调查本身的执行时间。最近团队中一个调查员接到需求,调查盲人对产品的意见,从接到需求到找盲人到访问到出报告,用了一周,其间还同时在进行其他项目,完成这个访谈项目只用了3个工作日。
猜你喜欢
- [概 要] 这篇文章讨论常用的"sql注入"技术的细节,应用于流行的Ms IIS/ASP/SQL-Server平台。这里
- 一、检测它是不是整数function Is_Int(a_str) if&
- 对比测试 scipy.misc 和 PIL.Image 和 libtiff.TIFF 三个库输入:1. (读取矩阵) 读入uint8、uin
- 前言对MySQL表的基本查询还远远达不到实际开发过程中的需求,因此还需要掌握对数据库表的复合查询。本文介绍了多表查询、子查询、自连接、内外连
- 插件下载:blueideasearch.xpi首先第一步 说一下怎么样查看firefox插件的源码, 就我上边写的那个东西,把它下载下来.将
- 所有平台的Mysql下载地址为: MySQL 下载. 挑选你需要的 MySQL Community Server 版本及对应的平台。一、Li
- 如下所示:import pandas as pddef my_min(a, b): return min(abs(a),abs(
- 本文实例讲述了原生JavaScript实现的简单省市县 * 联动功能。分享给大家供大家参考,具体如下: * 联动是我们写表单时必不可少的,比如在
- 一、问题描述使用vscode,在markdown的预览模式下无法预览网络图片二、本机环境该问题与电脑硬件以及操作系统环境无关。本机markd
- 1.下载PyQt官方网站:http://www.riverbankcomputing.com/software/pyqt/download5
- 导语亲爱的小可爱们,大家好! 欢迎来到木子的游戏编程空间经常听到有朋友说,学习编程是一件非常枯燥无味的事情。其实,大家有没有认真想过,可能是
- 创建RandomWalk类为模拟随机漫步,我们将创建一个RandomWalk类,随机选择前进方向,这个类有三个属性,一个存储随机漫步的次数,
- python默认使用的是国外镜像,有时候下载非常慢,最快的办法就是在下载命令中增加国内源:常用的国内源如下:清华大学:https://pyp
- 在工作之余抽了点时间写了一下这个,在ie6-ie7-ff下显示位置基本都一致了。(发现demo页面用栅格线做背景,调试还真的容易得多 。热力
- xml文件:country.xml<data><country name="shdi2hajk">
- 购物车的设计目标 从程序员的观点来看,购物车是维护购物者商品选购、允许察看、允许修改的一个对象。购物车本身是一个非常简单的程序,但开发者要考
- 本文实例为大家分享了Python实现五子棋游戏的具体代码,供大家参考,具体内容如下了解游戏的规则是我们首先需要做的事情,如果不知晓规则,那么
- 侧边栏在响应式设计中起到很大的作用,当屏幕小到手机的屏幕时,能够自适应屏幕大小的侧边栏固然能够为网站添加色彩,那么在Bootstrap的框架
- 这是Pygame zero 最全集合安装Windows系统:按下win+r,输入pip install pyzeropip install
- Mysql参数优化对于新手来讲,是比较难懂的东西,其实这个参数优化,是个很复杂的东西,对于不同的网站,及其在线量,访问量,帖子数量,网络情况