写点什么

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

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

评论

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

《架构师训练营》第五周 命题作业

Vue3 Composition API如何替换Vue Mixins

志学Python

Vue Vue3 composition-api

week5-作业一致性HASH算法的JAVA实现

蒜泥精英

一致性Hash实现

olderwei

极客大学架构师训练营

第五周总结

晨光

架构师训练营 第五周 【学习总结】

小K

架构师训练营 - 第五周 - 总结

sljoai

极客大学架构师训练营 第五周

week5-作业

蒜泥精英

架构师训练营 - 第五周学习总结

hellohuan

极客大学架构师训练营

第五周命题作业

腾志文(清样)

架构师训练营 第五周 学习心得

LiJun

一致性hash算法

ashuai1106

极客大学架构师训练营

第五周总结

腾志文(清样)

第5周 技术选型:技术选型能力反映了架构师的综合水平(一)

陆不得

架构师训练营第5周作业

R20114

java实现一致性 hash 算法

极客李

采用负载均衡技术总结

superman

一致性哈希在分布式缓存上的实践

hellohuan

极客大学架构师训练营

第五周作业

重新来过

Week5-作业

龙7

分布式和异步的技术选型

拈香(曾德政)

缓存 分布式 极客大学架构师训练营 技术选型 异步

架构师 0 期 | 一致性 Hash 算法

刁架构

极客大学架构师训练营

架构师训练营第五周-总结

王权富贵

极客大学架构师训练营

架构师训练营第五周课后作业

竹森先生

极客大学 极客大学架构师训练营

架构师训练营第五周作业

烟雨濛濛

架构师训练营 -Week 05 命题作业

华乐彬

极客大学架构师训练营 作业 一致性Hash算法

2020-07-04-第五周学习总结

路易斯李李李

缓存总结

ashuai1106

架构师 极客大学架构师训练营

第五周作业

晨光

分布式缓存架构设计

极客李

深入学习一致性Hash

拈香(曾德政)

算法 极客大学架构师训练营 一致性Hash算法

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