9 月 13 日,2025 Inclusion・外滩大会「开源嘉年华」正在限量报名中! 了解详情
写点什么

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

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

评论

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

英伟达被约谈?国产替代迎来新机遇

禅道项目管理

软件开发 信创 软件安全 国产化替代 禅道项目管理软件

私有化部署局域网 IM:BeeWorks支持内网使用

BeeWorks

即时通讯 IM 私有化部署

Rust 性能提升“最后一公里”:详解 Profiling 瓶颈定位与优化|得物技术

得物技术

rust Profile rust语言

非凸科技受邀参加Community Over Code Asia 2025 Rust分论坛

非凸科技

Java干货分享

codemonkey

#java #并发

超融合架构 “破壁”:从企业到数据中心的全能应用版图

智驱前线

开源能源管理系统应用前景:以 MyEMS 为例

开源能源管理系统

开源 能源管理系统

ClkLog埋点与用户行为分析系统2.0:架构升级性能跃迁,限时优惠速来体验

ClkLog

开源 用户行为分析 CDP 客户画像 埋点分析系统

跨文化冲突下的品牌舆情管理

沃观Wovision

出海企业 舆情监控 沃观Wovision 海外舆情监测

一文教你Docker自建Jupyter Notebook,并用内网穿透实现远程访问

科技热闻

告别研发痛点!群核科技靠 “自动化左移” 重构质量效能,效能飙升有何秘诀?

杭州群核科技质量效能

全前维护LED显示屏优势和选购指南

Dylan

LED显示屏 全彩LED显示屏 户外LED显示屏 led显示屏厂家 户内led显示屏

通过Milvus内置Sparse-BM25算法进行全文检索并将混合检索应用于RAG系统

阿里云大数据AI技术

全文检索 Milvus 混合检索 RAG应用 Sparse-BM25算法

Apache SeaTunnel 新定位!迈向多模态数据集成的统一工具

白鲸开源

大数据 开源 数据集成 多模态 Apache SeaTunnel

昆仑万维「Matrix-Game 2.0」发布,国产开源的Genie 3来啦!

新消费日报

CAD中如何绘制圆弧?详细教程来了

在路上

cad cad看图 CAD看图王

哈尔滨等保测评中的 “神秘角色”:测评师

等保测评

一文吃透 Promise 与 async/await,异步编程也能如此简单!建议收藏!

左诗右码

主流自动化测试框架的技术解析与实战指南

测吧(北京)科技有限公司

人工智能 智能体 测试开发 playwright selenium

技术文档 | 使用 Spring AI 实现一个简单的 Pulsar MCP Server

AscentStream

MCP

VS Code Server本地Docker部署+贝锐花生壳内网穿透远程访问教程

科技热闻

黑龙江等保测评核心指标解析:技术安全与管理安全的双重保障

等保测评

企业 IM 即时通讯BeeWorks

BeeWorks

即时通讯 IM 私有化部署

Prometheus 告警时为何无法获取现场值

巴辉特

Prometheus 监控告警 夜莺监控 运维监控 开源监控

大数据-65 Kafka 高级特性 Broker ISR 宕机重平衡 实测详解

武子康

Java 大数据 kafka 分布式 消息队列

京东店铺所有商品API技术指南

tbapi

京东API 京东数据接口 京东店铺所有商品接口 京东店铺数据采集

7 月 SeaTunnel 社区狂飙:新特性、强优化、贡献者满分输出

白鲸开源

开源 数据同步 数据集成 Apache SeaTunnel

CST帮助文档:SIMULIA网格处理软件---PowerDELTA

思茂信息

cst cst电磁仿真 CST Studio Suite

MyEMS:重塑能源管理,驱动高效节能新变革

开源能源管理系统

开源 能源管理系统

黑龙江等保测评全流程解析:从定级到整改的完整指南

等保测评

超越预算,打开企业预算管理新思维

智达方通

全面预算管理 财务管理 成本预算管理

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