2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

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

  • 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:321095

评论

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

英伟达 H100 vs. 苹果M2,大模型训练,哪款性价比更高?

GPU算力

用于提取数据的三个开源NLP工具

互联网工科生

nlp NLP 大模型

企业做数字化转型,请先避开这5个坑!

优秀

数字化转型

什么样的程序员在35岁后仍然保持竞争力?

互联网工科生

程序员 技术 持续学习 经验

MobTech秒验,一键登录快人一步!

MobTech袤博科技

前端 App 免密登录 登录验证 秒验

新鲜出炉!Go薪资最高,JS需求量最大!

树上有只程序猿

Java c++ Python 编程语言

云图说丨初识华为云OrgID:轻松实现统一帐号、统一授权

华为云开发者联盟

云计算 后端 华为云 华为云开发者联盟 企业号 7 月 PK 榜

AI算力爆发,新职业出现,你发现了吗?

小齐写代码

建设数字工厂:生产订单批量拆分的实现方法

华为云开发者联盟

云计算 后端 华为云 华为云开发者联盟 企业号 7 月 PK 榜

全球视频编码领域顶级大赛放榜,网易云信首次参赛即斩获H.265赛道多项指标第一

网易云信

音视频 H.265 音视频通话

语雀 × 支付宝小程序云:发布技术干货,赢语雀会员和周边!

TRaaS

文档写作 #程序员

对线面试官 - HashMap

派大星

HashMap底层原理 Java 面试题

ChatGPT下程序员应该何去何从?

小齐写代码

信创产业未来发展如何

小齐写代码

Spring高手之路10——解锁Spring组件扫描的新视角

砖业洋__

spring @Component 包扫描 bean的默认名称

2023 数字生态发展大会,和鲸 ModelWhale 入选中国信通院“铸基计划”《高质量数字化转型产品及服务全景图》

ModelWhale

数字化转型 中国信通院 铸基计划

JMeter 查看 TPS 数据

Liam

程序员 测试 Jmeter 测试工具 TPS

大模型时代,企业如何重构 AI 应用落地范式?

Fabarta

软件测试/测试开发丨Python 内置库 文件处理 学习笔记分享

测试人

Python 程序员 软件测试 文件处理 内置库

企业全面预算管理的生存指南:建立成功的FP&A团队

智达方通

全面预算管理 企业全面预算管理 财务规划与分析 财务数据

低代码:告别繁琐,提速软件开发

互联网工科生

软件开发 低代码 数字化

IDC公布2022中国大数据平台私有化部署市场份额,柏睿数据位列第一梯队

新消费日报

全球视频编码领域顶级大赛放榜,网易云信首次参赛即斩获H.265赛道多项指标第一

网易智企

音视频技术 H.265

听说 Spring Bean 的创建还有一条捷径?

江南一点雨

spring

Flink 实践教程:入门(11):MongoDB Sink 的使用

腾讯云大数据

流计算 Oceanus

国内常见的16款低代码开发平台介绍

优秀

低代码开发平台 低代码平台 企业级低代码平台

新版安卓iOS双端语音派对聊天APP源码开发核心功能和开发要点介绍

山东布谷科技胡月

语音聊天APP源码 视频语音直播app开发 语音社交APP搭建 语音房APP开发 语音厅源码

Java学习13:static关键字,this关键字

java易二三

Java 编程 程序员 计算机

人人都有大模型用!大模型ChatGLM2-6B新手速通!

飞桨PaddlePaddle

人工智能 百度 paddle 飞桨 百度飞桨

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