写点什么

记住:你在为谁设计软件?!

  • 2007-04-22
  • 本文字数:1198 字

    阅读完需:约 4 分钟

作为 Rolling Thunder Computing 的主席和计算机课程的教师,David S. Platt 在最近的 SD West(软件开发大会) 的活动上发表了题为“为什么软件如此糟糕?”的讲演。FTPonline 对 Platt 在讲演中所强调部分着重进行了报道,即:作为软件设计者常犯的错误“忽视用户并按照开发者的喜好进行设计”。

除非你在为少数的极客 (骨灰级程序员) 写软件,否则请牢记:你的用户不是你……。这个观点很难出现在开发者的头脑中,他们普遍认为他们所欣赏的用户也一定会欣赏……。再强调一次,你的用户不是你。

Platt 力劝他的听众在设计软件的过程中要更多地关注用户而不是开发者的需要,这一点听起来再明显不过了,他当场使用了几个小问题来引出他的观点:在场的听众所设计软件的用户并非软件开发者。例如,通过听众举手统计, 在场的大多数人都驾驶手动档汽车,这通常比自动挡要难于掌握,难于使用,但是可以使你更好地操纵汽车。很明显,对于大多的开发者而言,他们认为如果能换来更好的操纵感,花一点代价是值得的。而 Platt 指出,在美国销售的汽车中只有百分之 12 到 14 有手动档!很明显,在汽车设计决策方面他的意见不能代表大多数的用户。

为什么大多数的人不喜欢驾驶手动档的汽车?因为他们所关注的不是驾驶本身。他们所关注是可以到达目的地。[听众大笑]

这是一个很重要的分别。你认为用户会按照你希望的方式使用软件,但是他们通常并不认同“你”的方式,他们希望你的软件和他们过去用过的软件在可用性上相似,这样他们就无需改变已经熟悉的工作方式。

用户有自己的工作,有需要达到的目标,有需要联系的人,要完成的使命,软件的正常运转仅仅是这个过程的附属品。当它时时出现问题,或者强迫用户改变自然的工作流程时,它就是用户最大的障碍了。最典型的例子是微软 Office 软件的剪切板功能(最终被从 Office 中去除了),软件可用性方面很小的缺陷都会引起很大的负面体验。在开发过程中遵循简单原则是非常重要的,Platt 建议我们需要做的是“仅仅让它运转起来”,并且提供了作为开发者需要注意的 5 点:

  1. 将一个新人放入设计团队中——所谓新人是指完全不懂得编写软件的人。
  2. 在需要的时候,不要顾忌已有的习惯——老套的方法并不一定正确。
  3. 避免愚蠢的功能——所谓愚蠢是指不要让不确定的功能混入那些确定的功能中。
  4. 小心修改你的软件——发现“大多数沉默的人”是如何想的是件困难的事情,在这种情况下,可用性测试可以提供可信的数据来帮助我们作出决策。
  5. 多想想设计方面的决策是否背离了简单原则。

记住——所谓“恰好工作”是从用户的角度思考,开发者并不使用你的软件。- - - - - -

译者简介:胡凯,2006 年加入 ThoughtWorks ,通过在 ThoughtWorks 多个国家和多个项目的敏捷实践,坚定地站在了敏捷阵营中,目前在进行 CruiseControl 相关的敏捷开源项目。他和许多敏捷开发者一样活跃在敏捷中国 CruiseControl-China 社区中。为 InfoQ 中文站贡献内容,请邮件至 china-editorial@infoq.com

2007-04-22 00:32993

评论

发布
暂无评论
发现更多内容

1307页阿里Android面试全套真题解析在互联网火了,附赠复习资料

android 移动开发

2019-2021历年华为跳动Android面试真题解析,面经解析

android 程序员 移动开发

只需一篇文章吃透Java多线程技术,内容非常全面

Java 程序员 后端

1-3年Android开发工程师面试经验分享,真的太香了

android 程序员 移动开发

原来SqlSession只是个甩手掌柜,Redis有几种数据类型

Java 程序员 后端

人力资源管理系统和oa的区别?

优秀

低代码

史上最全的Java面试题集锦,高级Java工程师面试技术

Java 程序员 后端

15分钟的字节跳动视频面试,34岁Android程序员裸辞

android 程序员 移动开发

厉害了!java使用教程视频,我的Java春季历程

Java 程序员 后端

反向代理、负载均衡实战,【深度思考

Java 程序员 后端

100%好评,扔物线学堂

android 程序员 移动开发

我有一台服务器,能干啥?

程序员鱼皮

程序员 IT 代码 计算机 java

12道Android高级面试题:android项目开发实战入门百度网盘

android 程序员 移动开发

1个月学会Android开发!动脑学院vip

android 程序员 移动开发

2020-2021华为Android面试真题,凭借这份Android面试题集

android 程序员 移动开发

卧薪尝胆70天内推入职阿里,2021Java春招

Java 程序员 后端

厉害了!尚硅谷mysql中employees表,腾讯T2手把手教你

Java 程序员 后端

QCon复盘之《58 集团反爬系统建设之路》

IT蜗壳-Tango

Qcon 10月月更

使用 Spring Boot 进行单元测试

码语者

Java Spring Boot Unit Test

2021Android大厂面试真题,面试必知必会

android 程序员 移动开发

10天用Flutter撸了个高仿携程App,2021年Android面试心得

android 程序员 移动开发

10年阿里开发架构师经验分享:享学课堂架构师vip百度云

android 程序员 移动开发

12道Android高级面试题:android开发视频百度网盘

android 程序员 移动开发

【免费报名】与阿里云一同探索视频云的新技术与新场景

阿里云CloudImagine

阿里云 音视频 视频编码 视频编解码 视频云

DevOps 时代的高效测试之路

CODING DevOps

DevOps 团队 自动化测试 持续交付

河北联通全光智慧专线,构筑更智运营新体验

大数据Flink作业

Clarke

声纹识别帮你守住钱袋子,聊一聊证券行业里的人工智能

Zilliz

AI 向量检索 Milvus 向量

厉害了,java入门电子书百度网盘下载,Java中高级面试

Java 程序员 后端

只用了几百行代码写的百度搜索引擎,程序员Javaweb源码

Java 程序员 后端

只需一篇文章吃透Java多线程技术,那些BAT大厂的Java面试官到底在想些什么

Java 程序员 后端

记住:你在为谁设计软件?!_研发效能_Deborah Hartmann Preuss_InfoQ精选文章