[现代软件工程讲义 的一部分]
软件开发的过程, 就是 “用户最需要的东西” 在下面这一链条中传送,转换,实现,扭曲或丢失的过程。
用户最需要的 >
用户表达出来的 >
软件团队能理解的 (老板/PM) + 团队的商业目标 >
软件团队成员具体表达出来的 (PM 写 spec) >
在各种约束条件下, 具体执行表达出来的 (dev 写代码) >
验证通过的 (Test) >
通过各种渠道告诉目标用户 (发布/推广) >
用户终于能用上了,但是他们不满意 >
软件业界有一个非常著名的秋千图表达了类似的情形:
( 这就是用户要的, 用户表达出来了么, 软件团队理解了么, 执行了么, 用户满意么? )
和用户想要的一样么? 不一样. 用户满意吗? 不满意, 那用户到底想要啥? 我们调查一下, 然后开始新的循环…
我们在开发软件的时候,总想知道用户到底想的是什么, 对各种功能的偏好是什么, 掌握这些信息,我们就可以按部就班地去满足用户的需求。 大家可以靠直觉,靠老板的命令,靠互联网上传来的各种信息,靠拷贝其它软件, 靠其它不靠谱的手段… 当然我们也可以靠一些经过实践证明行之有效的办法。 下面是几种用户调研 (User Study) 的方法:
找到一群目标用户的代表来讨论用户想要什么, 用户对软件的评价等等。 焦点小组是很常用的调研方法,它也有一些弱点:
- 一群人在一起,往往大家会出于讨好其他人的心理来发表意见,避免不一致的意见或冲突。
- 讨论者对于他们不熟悉的事物 (例如颠覆式的创新) 不能表达有价值的想法 – 在汽车出现之前, 我们找一帮马车夫来畅想 “未来的交通工具”, 他们未必会贡献很有价值的想法。
- 讨论的人群容易受到主持人有意或无意的影响。
- 研究者往往从不同意见中挑选最符合自己想法的哪些,然后号称这就是大家的共识。
2) 深入面谈 (in-depth interview)
通过详细的面谈,广泛而深入地了解用户的背景,心理,需求等。这通常是一对一的采访。这个方法好是好, 就是费人费时。
列出所希望的软件有什么样的特点, 然后把这些特点归类。在微软亚洲研究院的时候,我们也曾做过“卡片排序” – 几个不同背景的人聚在一起, 想象新软件有什么特点, 能解决自己的什么痛苦, 或者有什么好玩的地方, 把这些特点都写在小卡片上, 一个主持人再把不同的卡片归类, 讨论, 进一步理清各种愿望的关系。 从某种意义上来说, 这些卡片就是量化了的焦点小组的意见,这些卡片经过归类/排序/定义等过程, 可以帮助我们更好地定义一个软件的信息架构,用户的工作流程,软件菜单结构,网站的浏览路径,各种内容的层次关系等。
4) 用户调查问卷 (User Survey)
给用户事先规定好的问题, 让用户回答。 我们在大街上碰到过不少,有时候你在浏览某个网站的时候,一个弹窗打断了你的思路,它请你回答几个问题。我们用户在回答这类问题的时候,是否心不在焉,乱点一气?
用户调查问卷看似容易, 其实大有门道,下面是一些常见问题:
a) 问题定义不准确, 例如: 你用哪一个搜索引擎? 用户可能提供多个合理的答案: 最近使用的; 最喜欢的但是未必最经常使用的 (例如最喜欢的搜索引擎由于某种原因访问不了); 为某一个领域而使用的 (例如查图像或英语单词); 最近一周/一月/一年使用电搜索引擎也会有不同。
定义不准确的问题会让用户困惑, 我们也许能收集到很多答案,但仍然无法准确了解用户的想法。
b) 使用了含糊的形容词、副词,来述时间、数量、频率、价格等: 最近、有时、经常、偶尔、很少、很多、相当多、很贵、很便宜。这些词语对不同用户和在不同的语境中有不同的意义。
c) 让用户花额外的努力来回答问题: 请问你全家平均每人每年下载多少手机应用软件?
d) 问题带有引导性的倾向: 用户普遍认为, 搜索引擎A 收录了许多侵犯版权的资料而拒绝承认错误, 搜索引擎B 则赢得用户信任, 你会选择A 或B?
e) 问题涉及用户隐私, 用户所在公司的情况等。
用户调查问卷的问题可以有下面的这些方式, 大家可以更加具体情况使用:
a) 全开放式问题: 例如: 你对手机上的日程管理软件的期望是: ________________
这种问题能让用户畅所欲言,但是比较难于整理和量化。
b) 二项选择题: 用户只用回答 是/否 即可。 这类问题便于统计处理,分析也比较容易。但用户没有进一步阐明理由的机会,难以反映意见与程度的差别,了解的情况也不够深入。
这个类型还有一个变种, 就是在两种选择对比中只能选其中之一。
c) 多项选择题,大家在平时的考试中碰到多次。
d) 顺位选择题: 您选择手机背单词软件的主要考虑因素是 (按照优先级填写 1, 2, 3, … ): _ 词汇量; _ 能记录进度; _ 能定制单词表; _ 能和PC 同步; _ 能支持4/6级等专门词库; _ 能支持发音。
5) 用户日志研究 (User Diary Study)
要求用户记录自己日常工作或生活中和所用软件相关的行为, 供以后分析。 用户可以写像日记体的文字描述, 也可以每天填表 (例如跟踪自己每天饮食种类) 。 我个人理解,这时用户调查在时间上的延长。 这要求用户有很高的自律能力, 另外, 如何保护用户的隐私也是一个问题。
6) 民族志/人种学研究 (Ethnographic Study)
这个听起来非常学术的方法其实可以解释为 – 和目标用户同吃同住同劳动。 例如,与其坐在办公室里想象如何给老年人设计手机, 不如去和老年人生活几天,从生活中得到数据和体会。 这是一个论文例子。
人类学的用户调查听起来很高深, 其实未必 – 也许你一直生活在目标人群中, 只不过你对这些需求不够敏感罢了。 在《the social network》 这部电影中, Mark 的一个同学问他, 你知道某某女生是不是有男朋友? Mark 沉思一会, 不理会这个同学,径直跑回宿舍,在 “thefacebook.com” 这个网站上实现 “你有朋友了么”这一功能。
一些有想法的大学生们都在象牙塔里面指点江山, 激扬文字。 走到真实的世界中去, 你才会看到真实的需求, 下面是同学的顿悟:
http://www.cnblogs.com/meng-meng/archive/2011/11/14/2248589.html
我平时接触的同学都是计算机专业的,我平时上的网站都geek味或hacker味十足。我几乎从来不用qq,我从来不上百度贴吧,我从来不打游戏,我不用360也不用任何杀毒软件,我不用hao123做主页。我没事看看google reader,我翻*墙上twitter和facebook,我常逛hacker news和quora,我乐于尝试国外的各种新鲜酷站,我从来没为软件或服务付过费。
原来我并不了解海量中国用户,原来真实的用户并不是我想象的那样。
以前我不理解为什么360的装机量那么大,现在我懂了:1.海量用户并不知道如何管理使用电脑,360那种傻瓜式的一键解决才是他们需要的,2.他们不想花钱,但是不会找什么“破解版”,“序列号”,“注册机”
以前我不理解为什么hao123这么“弱智”的网站能有这么大影响,现在我懂了,我爸爸可以通过它非常轻松的到新浪上看新闻,但如果你让他直接输入网址的话,他肯定会输入“xinlang.com”
以前我不理解为什么有那么多人愿意为了qq上的虚拟形象付钱,现在我懂了,我表姐她们只要上网肯定挂qq,而且女孩都爱漂亮爱虚荣,她们不在乎花点钱打扮打扮自己。
我看过一些非计算机系的同学的电脑,大多凌乱不堪,文件随处乱放,软件都是默认装在了C盘,安装的过程中还被捆绑了一堆流氓软件,各种软件都是开机启动,没有3分钟根本开不开机……
这是2013年一篇对中国三线城市数字生活的描述 ( 作者潘越飞), 算不算人类学调查的一种呢?
7) 软件可用性研究 (Usability Study)
研究用户在使用软件的时候有哪些困难, 并如何改进软件,让软件更好用。 常用的方法是请用户来 微软有专门的 User Study Studio, 经常招募目标用户来做试验,我也曾实地参观过用户使用新版本的Outlook (我们在单向玻璃窗后面)。 更多的团队成员可以在事后看这些用户调研的录像。 调查人员通常让被试者完成一些任务,例如:
在Excel 中, 你想把一个表格中的行和列互换,你怎么能做到呢?
过年了你要想不少客户都发送内容相似的贺年邮件, 但是客户的名称和地址都各不相同, 你怎么用Word/Outlook 完成这个任务?
在Excel 软件中, 你在看一些大的表格的时候,要来回移动,但是这样表格的标题栏就看不到了,怎么样锁定标题栏呢?
我印象很深的一点是 – 用户在我们长长的菜单中幽幽暗暗反反复复中寻找某个功能,我们在玻璃窗后面替他着急… 我们的界面离 “平平淡淡从从容容才是真” 差太远了。
8) 眼动跟踪研究 (Eye Tracking)
你的软件展现了很多信息, 也有很多交互的控制, 怎样才能让用户容易找到看到你想让他们看到的信息,找到他们想使用的功能? 用户看网页上的众多内容通常是什么样的规律? 一些研究发现了 F 模式.
用户通常浏览通栏标题, 然后目光沿着左侧下行, 再平行浏览下面的子标题。如果你有重要内容希望用户知道, 应该放在什么地方呢?
9) 纸上模型调研 (Paper Prototype)
如果要把软件做好了, 再去找用户做调查, 未免太费时,并且修改的成本很高。能否快速地取得用户的反馈? 这时不妨拿一些纸张模型, 让用户去使用, 得到反馈。 这种方法我没有做过,但是听上去不错。这也是用户参与式的设计 (Participatory Design) 的一个例子。另外,模型不一定要用纸, 用小木头块也行 – Palm Pilot 的创始人Jeff Hawkins 就用一块小木板做得和设计中的实物一样,他把它放在上衣口袋中, 时不时拿出来写写画画… 最后发布的 Palm Pilot 及其系列产品开创了 PDA 这样一个新行业。
如果你已经有一些用户在使用你的产品,你想对用户界面做一些改进,但是又不知道到底有多少用户会喜欢新的界面,怎么办?
例如你的网站是两列的布局,但是你很想试一下三列的布局方式, 就像题图一样。
例如你想用弹窗来促使用户对某个重要信息的作出反应, 是把弹窗放在右下角呢,还是放在屏幕中央?
这时候,你是找新的用户去做一对一的深入调研,或者跑到大街上去发调查问卷? 为什么不能让你现有的用户告诉你哪一种设计比较好呢? 这时候不妨考虑A/B Test.
A/B 测试看起来很简单:
1) 决定试验哪两种不同的UI, 以及衡量标准, 数据收集流程, 试验运行时间, 人数
2) 在技术上实现 A/B 测试 (通常在 5% – 10% 的用户上运行试验)
3) 收集数据, 分析数据, 形成结论
Wired 杂志写了一篇关于A/B 测试的文章 – 用奥巴马竞选作为例子, 很值得一看。
很多互联网公司都在用A/B 测试, 研究员们也在用这个方法做研究, 你去访问它们的网站的时候, 有可能就是给它们做了试验, 看 Amazon 和 Microsoft 的例子 (论文).
A/B 测试当然也有弱点:
a) 运行成本随着时间的推移而变大, 增加网站运维的复杂度,对网站数据收集和数据挖掘的能力也是一个考验。
b) 用户的情绪反映你看不到,你只看到交互的行为, 但是交互的行为不是用户的全部反馈。 (例如你看到用户点击屏幕中央的广告更多, 但是也许有更多的用户咒骂屏幕中央的广告)
c) 要分清各种因素的关系, 例如,网站 “改版三列布局” 和 “用户在网站停留时间” 之间是下面的哪一种关系?
– 不相关, 当前收集到的数据只是随机的
– 相关, 但不是决定因素
– 因果关系
d) 用网站当前的用户做实验, 万一引起巨大的反感, 用户就真的流失了。
态度 : 行为 定性 : 定量
下图表示了这些方法在 (态度 : 行为 定性 : 定量) 上的分野:
用户有多种
我们说了这么多用户调研, 很多人假设评价软件的就是购买软件的,就是使用软件的,但是未必。看下面的例子:
a) 你要写一个中学生学习英语的软件,你找谁去做用户调研?
中学生 – 最终用户
家长 – 他们是要掏钱的人,他们不会每天都用软件,有些人都不太会英语,但是他们也有需求
学校老师 – 他们是有巨大影响力的人,他们说不定立下一道规矩,我们班级就用某某软件!
b) 你要写一个企业管理软件, 你要找谁去做用户调研?
做过头了会怎样?
我们有这么多各式各样的工具, 互联网给我们带来了这么多用户和数据, 这是好事, 也有副作用。
世界上能访问用户数据, 并根据数据做分析和改进的公司, 大概 Google 是其中翘楚, 这种 data-centric 的做法做过了头, 也有悲剧发生:
Douglas Bowman 曾经是Google 的视觉设计主管, 2009 年的一天, 他受不了了:
Yes, it’s true that a team at Google couldn’t decide between two blues, so they’re testing 41 shades between each blue to see which one performs better. I had a recent debate over whether a border should be 3, 4, or 5 pixels wide, and was asked to prove my case. I can’t operate in an environment like that. I’ve grown tired of debating such minuscule design decisions…
当你的公司要你用数据来证明 41 种蓝色到底哪一种更好, 或者为一个边栏宽度是3, 4, 或5 而争执不休, 纷纷表示要拿数据来证明的时候, 你怎么办?
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/110219.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...