反对把"最佳实践"、"方法论"、"框架"挂在嘴边

用户体验是一个很大的话题,先从一个故事说起。周末参加了两天的PMP培训,听课期间注意到老师的一个细节,在讲选择题的时候,选项A、C读音正常,而"B"老师读为Boy,"D"老师读为Dog。刚听到的时候大家莞尔一笑,以为这是个善意的玩笑。但是以后的题目都是这样读音。很快,我想明白了,B和D的发音类似,容易混淆;Boy和Dog是简单的单词,发音能够明确区分,也没有类似Bog和Doy的读音混淆。这是什么?这就是用户体验。

用户体验这个词似乎突然流行起来,似乎因为以前过苦日子,不在乎衣着打扮,最近大家富足了,审美提高了,突然迸发出了需求。当然也和大环境有关系,比如苹果的成功,很多人就认为是用户体验至上;360不管口碑如何,产品也经常被(包括Pony)作为用户体验的榜样。

我们公司也是如此,大家言必称用户体验,就像前两年的"敏捷"一样。上个月隔壁的老赵问我有没有做UE的朋友,能够出到15W的年薪。虽然在北京,我认为这也是个不小的数字,可见我们对UE是多么地求"贤"若渴。

如何做用户体验,我一向反对把"最佳实践"、"方法论"、"框架"挂在嘴边,也反对固守己见,不接受别人的见解。没有任何两个项目是完全相同的,也没有任何两个产品面临的现状一样。因此,我们应该以"清零"和"包容"的心态学习成功的经验;同时以"怀疑"和"批判"的态度进行分析;最终形成自己能够想得明白,有可操作性的方法。一句话,反对照抄和不抄。

我们的产品规模很小,功能也很少,这就意味着我们和大型项目的处理方法可能会不同。如何让我们的产品能够拥有良好的"用户体验",从而获得用户的认可,并且叫好又叫座,这是我最近一直在思考的问题,当前主要的结论如下:

第一步,分清责任人,用户体验是产品经理的活。

不要片面把用户体验看做是UE的活或者需求的活或者开发的活。现实情况中,UE未必懂业务,需求未必有美感。如果恰巧你的开发也把用户体验看的很重要,在设计或者编码的时候会自然而然考虑,那么,恭喜你,捡到宝了。这是不现实的:一方面,一个各个岗位都很强而且能够自组织的团队,搭配一个Sales就可以了,还要产品经理干嘛?另一方面,每个人的审美是不同的,每个人编码的时候都考虑到了界面展示,风格都未必统一。再培训一下,统一界面风格,统一色彩搭配,统一控件形状,统一命名规则……如果这样,还是搭配一个专业UE吧,开发好好考虑一下性能、开发效率、Bug数和扩展性吧。拿建筑做比喻,需求就像是设计师,决定做什么;开发负责土建部分,搭建毛坯房;UE负责装饰装修,让建筑适宜人居。因此,除非扩专业的人才,这几个角色都无法单独承担用户体验的工作。产品经理重要的一个职责是整合,他需要从全局和整体处理用户体验的问题。用户体验的好坏往往从需求定义的时候就开始受影响了,因此产品经理需要贯穿项目始终。

第二步,创造氛围

这个氛围指的是让大家认可用户体验很重要,但是避免夸大用户体验的重要性。产品经理需要采取一些措施使得团队成员,不管哪个角色都认可用户体验很重要,当涉及到分派的与用户体验相关的问题的时候需要积极配合。通过创造氛围,也欢迎团队成员就用户体验提出自己的建议,产品经理需要作出判断。这些措施可能包括一起学习用户体验的相关知识、内部培训、换位思考等等。

至于不要夸大重要性,是说真的没有必要在你做需求的时候,脑子里面框个用户体验的框框;在编码的时候,想着怎么配色;在UE的时候,想着客户的骂声。同时,避免镀金的行为:很多时候,加多了,意味着出错的几率大了。

第三步,分清先后

把握先能用,再好用的原则。在项目的初期,要高效率完成能用的版本,这主要为了验证业务思路,确定产品方向。我们做成GCL、GQI两个亿级产品的肖工,曾经分享了一张PPT,给我印象深刻:每个迭代的交付物都是可以独立工作的产品。一定要避免做一个完美的半成品。这里引用百度的一句话:快速迭代,越变越好!

第四步,单独处理

我们的任务安排往往过于追求功能性需求,而忽略非功能性需求。比如在我们的一个Sprint(Scrum术语,表示一个迭代周期)中,往往功能项嫩巩固排到这个迭代的最后一天。大家都忙于做功能、改Bug,有哪门子闲情逸致考虑你的用户体验?能赶上每天的末班车就谢天谢地了,难道真的希望我们通宵达旦地天天干啊?因此,建议将非功能需求单独列为一个Sprint或者功能点(敏捷中常常称为Story),不要将这些想当然认为是功能性需求的一部分。

第五步,验证大都会娱乐城

我们所做的不仅仅是客户验证。在《Show stopper》中提到卡特勒在微软NT开发期间提倡的吃狗食,也就是说所有的人必须在尚未开发完毕的NT上进行开发。因此,一方面,验证分为内部和外部。在产品上市之前,要求我们团队的所有成员都会用我们的产品做工程,都能够帮助用户解决问题,都习惯给我们自己的产品挑刺。我们还需要走出去,找不同的用户或客户对我们的产品进行试用,还需要能够做到试用第三步的方法,快速迭代,越变越好!

另一方面,拿实物验证,不要用原型或者口对口进行用户体验的验证。即使高仿真的原型也不是用户真实工作的软件,因为你无法验证是否会关键时刻出Bug、是否存在性能问题、是否出现令人啼笑不得的提示、是否出现数据的逻辑问题……

第六步,平衡

很多人会乐道苹果是怎么追求用户至上,怎么样追求完美到偏执。如果成功有现成的流程,那么苹果不会这么少。产品经理一项基本技能就是平衡能力:用户体验和进度冲突了怎么办?和成本冲突了怎么办?和资源冲突了怎么办?谨防借着用户体验之口的需求蔓延。举个例子,你花1000元买个相机,你会要求它给你配2个镜头、采用航天材料做外壳、采用顶尖的卡尔蔡司镜头、具备单反能力……

用户体验往往和进度、成本、资源等是有关联的,因此如何做好平衡非常重要。

第七步,总结

不管这个产品成功还是失败,一定要做阶段总结,这样才有可能越做越好。实际上,找一个有做产品经验的人(比如Jobs或者周鸿祎)可能比学习所谓的"最佳实践",做成产品靠谱得多,这就是总结的作用。

时间: 2024-10-26 17:37:47

反对把"最佳实践"、"方法论"、"框架"挂在嘴边的相关文章

atitit.ajax 最佳实践跟框架选型 o99

atitit.ajax 最佳实践跟框架选型 1. 选型框架dwr/dwr3 跟jq 1 2. DWR方便的地方分为两个地方. 1 3. dwr 优点: 1 4. 缺点: 2 5. 根jq的区别 2 1. 选型框架dwr/dwr3 跟jq 2. DWR方便的地方分为两个地方. 前台: 1.前台的js方法的自动生成(由服务端自动发送js脚本到客户端), 用户无需关心,模拟后台的方法调用形式,上手容易. 后台 1.后台获取服务bean的plugin功能. (可以和Spring.Struts集成)提供服

atitit.表格的绑定client side 最佳实践

atitit.表格的绑定client side 最佳实践 1. 框架选型 1 2. #---原理和流程 1 1. 方法1 1 2. Dwr 例子 1 3. 方法2 2 4. Jq例如 2 1. 框架选型 Easyui 好..走十难调整??? 嘎自的表格只好js jvc 兰,,,angular Dwr也能了... 2. #---原理和流程 1. 方法1 获得所有的行,第一的头行except,第二模板line,..排除,,,在的所有的数据行删除. 遍历表格模板tr获得tds的所有的id(yash  

Atitit. js mvc 总结(2)----angular 跟 Knockout o99 最佳实践

Atitit. js mvc 总结(2)----angular  跟 Knockout o99 最佳实践 1. 框架 angular 跟Knockout 1 2. 2. 简单的列表绑定:Knockout 1 3. foreach绑定 3 4. Sumup:hesh angular simply 3 1. Mvc优点 angular 功能包括 3 2. 2.1 数据绑定 就是MVVM 结构, 3 3. 2.10 动画效果, ng-animate 4 5. 参考 5 1. 框架 angular 跟K

java 导出 excel 最佳实践,java 大文件 excel 避免OOM(内存溢出) exce

产品需求 产品经理需要导出一个页面的所有的信息到 EXCEL 文件. 需求分析 对于 excel 导出,是一个很常见的需求. 最常见的解决方案就是使用 poi 直接同步导出一个 excel 文件. 客户体验 & 服务性能 客户体验 如果导出的文件比较大,比如几十万条数据,同步导出页面就会卡主,用户无法进行其他操作. 服务性能 导出的时候,任务比较耗时就会阻塞主线程. 如果导出的服务是暴露给外部(前后端分离),这种大量的数据传输十分消耗性能. 解决方案 使用异常处理导出请求,后台 MQ 通知自己进

分布式服务框架下,如何做到服务化最佳实践?

“升级服务框架后,性能.可靠性等问题日益明显.服务化之后面临的诸多挑战,怎样分析才能给出实践最优解? 在服务化之前,业务通常都是本地API调用,本地方法调用性能损耗较小.服务化之后,服务提供者和消费者之间采用远程网络通信,增加了额外的性能损耗,业务调用的时延将增大,同时由于网络闪断等原因,分布式调用失败的风险也增大.如果服务框架没有足够的容错能力,业务失败率将会大幅提升. 除了性能.可靠性等问题,跨节点的事务一致性问题.分布式调用带来的故障定界困难.海量微服务运维成本增加等也是分布式服务框架必须

OSGi原理与最佳实践:第一章 OSGi框架简介(2)

OSGi原理与最佳实践:第一章 OSGi框架简介(2) 由  ValRay 发布 已被浏览4884次 共有3条评论 已被3个人收藏 2013-08-16 21:23 顶(0) 踩(0) osgi原理与最佳实践 1.1.4 开发传统类型的应用 1.1.4.1 B/S 我们首先来看一下,如何基于 OSGi 来开发 B/S 结构的应用.B/S 结构应用程序的开发,可有两个选择:一个是在 OSGi 的框架中嵌入 Http 服务器,另外一个是在 Servlet 容器中嵌入 OSGi 框架.下面分别介绍这两

OSGi原理与最佳实践:第一章 OSGi框架简介(5)Spring-DM

OSGi原理与最佳实践:第一章 OSGi框架简介(5)Spring-DM 由  ValRay 发布 已被浏览8409次 共有3条评论 已被2个人收藏 2013-08-16 21:29 顶(1) 踩(0) osgi原理与最佳实践 1.3 Spring-DM 1.3.1 简介 Spring-DM 指的是 Spring Dynamic Modules.Spring-DM 的主要目的是能够方便地将 Spring 框架 和OSGi框架结合在一起,使得使用Spring的应用程序可以方便简单地部署在OSGi环

atitit. 统计功能框架的最佳实践(1)---- on hibernate criteria

atitit. 统计功能框架的最佳实践(1)---- on hibernate criteria 1. 关键字 1 2. 统计功能框架普通有有些条件选项...一个日期选项..一个日期类型(日,周,月份,年等) 1 3. 元数据的位置,不需要绑定class 1 4. 设置聚合字段... @reduce(" sum(timLen) "),@reduce(" Avg(timLen) ") 2 5. 设置groupby  字段  @GroupBy 2 6. 设置groupb

开源调度框架Quartz最佳实践

开源调度框架Quartz最佳实践 Quartz是一个Java调度框架,当前的最新版本为2.2.1. 以Quartz 2.2.1版为例,Quartz最佳实践(用于生产系统)总结如下: 1.跳过更新检查Quartz内置了一个“更新检查”特性,因此Quartz项目每次启动后都会检查官网,Quartz是否存在新版本.这个检查是异步的,不影响Quartz项目本身的启动和初始化.可以在Quartz配置文件中,设置org.quartz.scheduler.skipUpdateCheck的属性为true来跳过更