zoukankan      html  css  js  c++  java
  • 《交互设计之路——让高科技产品回归人性》读书笔记(十)

    第十三章

    • 最高管理层说:“做成像Outlook那样。”市场人员说:“要赶上竞争对手。”销售人员说:“这个客户要求有这个功能。”程序员说:“要与我们上一个版本保持一致。”你听谁的?虽然其他人站在那里要求行动,但客户是唯一手里拿着支票的人。每个商业人员没法不受他的影响。如果收了那张支票,你就开始变成“客户驱动”的公司。很多公司都受用了此方式,但它是错误的,它直接将你置于虎背之上。听从客户的意见,意味着做客户告诉你去做的事。这样就让老虎决定着你的方向。
    • 如果厂商开始让客户决定产品应该有什么功能,厂商内部就会出现非常严重、但几乎察觉不到的变化。公司内部的所有人都会会敏感地觉察到这种变化,他们会自觉地将客户的要求提高到至高无上的地位。而实际情况可能是,你只是一家公司,却拥有数十或上百的客户。如果你去满足所有(或那些大客户),谁来协调他们之间相互冲突的要求呢?
    • 收取了支票,就等于将控制权交给了客户。客户是有钱,但是他们缺乏两个关键点:(1)他们不会关心你的长期利益;(2)他们不知道如何设计产品。无论客户具有多么好的意图,他们没有能力将你的产品看做概念完整的东西。大多数客户公司将主要精力放在自己的业务上,不可能悉心关注别人的产品。他们有时甚至会向你发出相互矛盾的命令,但是期望你选择正确的那个去遵从。
    • 如果你被客户驱使,你的产品版本之间就会发生很大变化,而不可能有序地成长。最终,产品里充满了不协调的部分和随机的功能。每位客户不得不在你的产品中寻找自己喜欢的功能,同时躲避自己不喜欢的功能。他们都会感觉到越新的版本,使用起来越困难。一些著名公司的产品复杂得需要接受几个月的培训才能去做简单的工作。因此整个流程成了去培训、安装、配置和维护这些巨兽。客户不喜欢这样的产品,这样的产品在竞争能力中将会非常脆弱。
    • 销售“解决问题的能力”和销售“过去的经验”是两种完全不同的销售方式。销售“解决问题的能力”难度很大。因为此能力而雇佣你的人,必须非常信任你,因为他们期待你去做你也没有做过的事情。销售“过去的经验”则容易得多。潜在的用户可以看到,因为你以前为别人解决过类似的问题。所以你可以再次为他们解决同样的问题。你会发现,运用经验可以赚更多的钱,也更容易。因为,他要做的工作是他反复做过很多次的工作。
    • 有远见意味着远离一些利润非常高的交易,这样做很困难,但是有利于长远的生存。根据我的经验,我们很少失去那些交易。如果你能自信地从一个拿着支票的客户身边走开,客户可能对你更加信任,重新审视他们对你的要求。即使这样,你还是应该走开。
    • 你必须尽早建立长期利益和短期利益的平平衡。你不能说,“我在两年内运用短期战术,以后切换到长期战略。”你必须从第一天就建立平衡。你总是可以推迟短期性的思考。但是你永远不能推迟长期性的思考。
    • 制作电影和编写软件一样,非常昂贵。制作电影的过程分为三个主要阶段:前期制作、拍摄、后期制作。在前期制作阶段,制片商准备和修改剧本,设计场景和服装,聘请演员和摄制人员,筹措资金。在拍摄阶段,灯光闪烁,投影机转来转去,导演大声叫喊,演员进入角色。在后期制作阶段,进行影片剪辑,配音,市场推广。电影制作的这三个阶段,可以很好地对应到软件创建过程的三个阶段。
    • 在软件创建的前期阶段,经理们安排交互设计,聘用程序员,筹措资金。在创建阶段,显示器发着光,编译器反复运行,经理们做出指示,程序员们产出代码。在软件创建的后期阶段,进行程序调试,编写操作文档,也会准备好市场宣传方案。
    • 三段结构的重要意义在于,前期制作阶段的目的是将拍摄阶段的时间最短化。让摄制组开始工作的费用是极其昂贵的。从一个长长的拍摄计划中节省几天的费用,可以相当于几周多余的前期制作或者后期制作的费用。制作一部现代影片,需要在前期制作上花费一年或更多的时间,用两个月左右的时间集中拍摄,然后用数用时间进行后期制作。
    • 电影制片商知道,他们只有一次做对的机会,所以决不会省去前期的制作。在软件工程世界,很多经理相信,他们可以在下一个版本号中做改进,因而做事前计划的压力变小。这种假设的代价是非常昂贵的。制作现代软件的复杂程序不亚于制作一部现代电影,然而纵观大多数软件开发过程,人们似乎忽视了这个事实。我们看到的大多数软件开发团队花费数天或数周(最多)时间进行计划和设计,然后花费6个月到18个月进行编程,然后只花费额外的两个多月进行调试、测试和文档编写。如果,我们可以从电影制片商那里学到很多东西。如果我们在前期阶段(设计阶段)花费更多的时间,就可以减少大量昂贵的编程时间。
    • 电影制作的前期阶段,是资金花费最少的阶段。为一个充满爆炸和特殊效果的追逐场景创建一个详尽的情节设计,不需要花费多少钱。即使做全盘改动,所需要的只不过是一枚橡皮、一支笔和一些时间。在纸上正确地描述所有细节,会在拍摄装着特技演员和炸药的汽车时节省数百万美元。前期制作是为节省金钱和增加最终成功的可能性而进行的时间投资。如果导演改变想法,不去爆破一辆列车而是一架直升飞机,在前期制作阶段去改变是简单、低廉而容易的,而在拍摄阶段进行这样的改变是愚蠢的。制片商知道这个道理,所以他们会在前期制作阶段花费充足的时间,然后在制作过程中按照计划进行。
    • 为什么我们以截然不同的思路对待软件的创建过程呢?我们在事前计划上花费的时间和努力少得可怜.我们的做法是,写满白板,编写一份列有一行一个功能名称的表格,然后让那些非常昂贵的程序员去做前途未卜的编程工作。与制片商一样,我们知道在编写代码时做出改变的代价是昂贵的,然而我们却不在事前计划中做时间和人员投资。相反,我们聘用程序员,让他们开始编写代码,然后辩解我们不能做出改变了,因为昂贵的代码编写工作已经正在进行了。
    • 交互设计师自己必须做出两个承诺。第一,交互设计师承担一些风险。他们不能只站在边线外,给程序员提建议,而让程序员对产品的成功负责。只有好的想法远远不够,必须将正确的想法应用到实践,而这只有在交互设计师自己置身其中才会发生。要知道,程序员在写每一行代码的时候都在承担风险。第二,交互设计师必须将设计工作做成书面文档。
    • 设计必须是书面形式,非常详尽,附有证据和例子。交互设计师需要用文字、白板、动画、素描等形式充分完整、细致地描述设计。那样程序员才可以将设计看做蓝图,以此实际编写代码。
    • 商业名言:“如果没有文字记录,就等于不存在。”在软件设计领域这是千真万确的。因为程序员的动机与用户的动机非常不同,任何没有形成文字的东西都会得到曲解或忽视。 设计师必须明确说明不可以在某处加入对话框,对于程序员来说,对话框是好东西,他在多余时间制作几个对话框是在为用户做好事。然而,对于用户来说,对话框消耗他们精力,降低工作效率,非常可恨。
    • 在一个理想世界里,开发经理会给设计师一年的设计时间,然后给程序员三个月时间编写代码。但是在现实世界中,这两个数字正好颠倒了。在这种情况下,设计文档必须有所省略。设计师不仅要知道好的设计是什么样的,还要知道什么重要。交互设计师必须决定程序的哪些部分必须经过设计,哪些部分应该留给程序员去解决。
    • 很多人错误地认为交互设计师做工作也是他们所需要做的工作,就是设计用户界面。当然,界面设计是交互设计中必不可少的部分,但是在设计过程中处于次要的地位,更像零售行业的包装环节。界面设计是在交互产品的目标和行为确定以后才开始的。但是,有着华丽包装的坏产品始终还是坏产品。经常是这样,产品开发接近尾声时,专家们被请来做界面设计。设计真正能发挥作用的时机已经错过,设计师再大的努力(无论多么伟大)都不会有很大的影响。
    • “完成”的软件是什么样的?交互设计师做出的文档,主要目的就是回答这个问题。书面的设计文档是控制实际编程的有力机制。它就像电影剧本一样,让每一个人清楚,产品如何工作,创建它和使用它涉及到哪些工作,什么时候完成。通常,开发过程中的编程部分最难控制,风险最大。如果不知道编程什么时候结束将付出高昂的代价。
    • 交互设计师起着中间人的作用,设计师可以将来自市场人员的需求传达给程序员。如果市场人员感到疑惑,他们可以将疑惑描述给设计师,设计师与他们一起用角色进行研究。以此为基础,设计师可以将它们转化为描述交互行为的设计文档。
    • 设计意味着更强的可预见性。经过设计的产品意味着,编程阶段能更好地得到预测。它也意味着,管理层能够更好地预测和衡量产品的成功。这两点在基于软件的产品开发中是风险最大、代价最高的方面。它们能降低生产成本,戳穿市场不可预测的神话。设计服务的价值体现在节约了几个月的烧钱时间。
    • 创立成功业务的核心是确保每位相关人员朝向同一目标工作。目标不清楚或不一致都会成倍地浪费资源和精力。要想成功,每个人都需要朝一个方向努力,有一个人朝不同的方向努力,就会让所有的人付出代价。
    • 去掉最后期限管理和功能清单谈判,书面的产品描述文档将把公司的精力转向产品质量,引起产品质量的极大提升。其结果又会进一步提升无法衡量的价值:客户忠诚。

    第十四章

    • 我们必须让项目中的每一个人都清楚地认识到,设计文档是必须遵守的蓝图,不是一种建议。如果不公司强调对设计的承诺,程序员们会自认为只有他们才能真正地为创建成功的产品负责。
    • 尽管管理层们很清楚让程序员闲置的成本,但是他们更知道,让程序员在错误的地方“浇注”代码是更加昂贵的。
    • 我们必须在整个公司范围内树立一种强烈的意识:交互设计是一个需要专业技能的领域,交互产品必须经过设计才能在竞争激烈的市场上获得成功。
    • 做出一个好产品,迭代是必不可少的。一般要迭代几次才能让细节正确。如果事先做交互设计,迭代的次数就会显著减少。推出一个产品新版本的花费很高,如果能将版本的数量减少,如从4个减少到2个,就能节省很多时间和金钱。减少版本数量,减少丢弃的代码,将更加节省开发过程的费用。程序员们经常抱怨我们的设计导致更复杂的代码,这种说法有时是对的,然而,总的编程工作量会减少很多。
    • 大多数程序员和技术经理对现在的开发过程很认同,但他们并不是非常固执。如果他们看到交互设计多么有效,他们会本着务实的态度去改变。
    • 程序员的目标和设计师的目标是一致的:他们都希望产品获得成功。不同的是,他们使用的工具和衡量成功的尺度非常不同。 
    • 交互设计师能够和程序员平起平坐的基础是,提交精确而完整的交互设计文档。设计师只有提交让人信服的解决办法,程序员才会逐渐信任和依靠他们。

    (全书看完)

  • 相关阅读:
    C++的几个晦涩特性
    高效学习的工具Mnemosyne
    允许OSQA上传任意类型的文件
    新一代J2ME终端标准MSAfor CLDC——解读JSR248
    JAVA实现简单的HTTP服务器
    什么是Web 2.0
    Java 手机与空间制图服务(WMS)应用集成
    广西移动SP结算工作管理流程
    2007年Enterprise 2.0的10大趋势
    移动虚拟专用网的发展与未来应用
  • 原文地址:https://www.cnblogs.com/cj723/p/1260216.html
Copyright © 2011-2022 走看看