设计和工程的心脏是一种评论的思想。这将使你在很多文件上分清什么是值得作的。从电影主任到项目经理,到设计者或程序员。这个技巧可以被学习,但因为它独立于技术领域,所以它常常被我们忘记。在工程,设计,或可用性的大多数失败都是因错误的决定和贫乏的经验引起的。开发者们和设计者在开发设计的过程中都应该持有批评的思想。批评的思想应该包含在一个web或软件开发中的 3 个过程中:计划,想法产生,和工程管理。最重要的在于计划编制,他将影响以后的方方面面。
开发工程的最普通的失败是不能正确定义问题。如果目标是含糊的,那末不可能知道它是否被解决了。而且就算目标被定义好,它也可能是一个错误的目标。因此这些 2 种失败,含糊的目标和错误的目标, 与技术和才智没关系。如果你不能防止这些错误,那末世界上最好的开发者或设计者都将失败。你可以写大段的代码或创造奇妙的图案, 但是如果你不解决正确的问题,你的努力被浪费。
理解这个问题
使用批判的思想第一步是用客观的眼光看待问题,作为一个开发者或设计者,你不可能考虑到你正在做的工作是错误的。或你的创作方向是偏离跑道的。要正确确定自己的方向,你需要从多重的来源形成三角形信息。一个开发者、 一个管理者和一个重要的顾客它们的观点被分开来看的话,只具有极小的价值。为了更好的设计,你需要站在一个更高的高度,发现更多的问题。并且直接与用户对话,关注他们的看法问题,以一种不同于以往的方式工作。
附加的挑战是:你接近用户的方式将会影响你从他们得到的信息。如果你无意中偏重于你的问题,那末除非用户接受过训练,否则他不能给你提供可靠的信息。观察并且理解顾客的技巧是复杂的,这就是一流的网络工作组和软件队都有可用性工程师的主要的原因。如果你想做大的工程,那么你需要聘请专业的人士。
当研究和解决问题时,我们应该注意下列问题:
◇我们的顾客是谁?他们有什么技巧和知识?
◇他们的经验可以理解什么样的不同的数据和资源?
◇他们使用我们的产品或网络站点要完成什么样的目标和任务?
◇我们假设的任务是什么,并且我们怎么能验证他们?
◇ 我们有什么样的数据来源?
如果你对这些问题的答案不是充满信心,那么你不要开始。这些信息是你的开发工作的基础。在你开始工作以前,保证你和你的顾客有足够的坚实的理解和沟通。如果它是你的第一个版本,你还需要尽可能了解你的竞争者和他们的用户的信息。
分析
作为一个开发者,有无限的数字和问题等你去解决,又或者你要为界面增加一种新的特征的。因此并不是每一个问题都需要去解决。有时为解决一个问题创造出 2 个新问题。你应该好判断什么是应该和值得作的什么是可以延迟的。
把你从客户或其他渠道收集的信息浓缩成一句话,形成一个典型问题。这个问题应该反映出客户的想法和观点。例如,“调整编辑框宽度到 15 个字符”不是一个问题。但是“输入很长的搜索条件很困难”。则是一个问题。差别非常生动。我们通常错过真实的问题。在这个例子,解决搜索条件的问题有许多另外的方法, 包括改变编辑框的尺寸。但是如果你是太狭隘的,你决不会看见其他选择。
为每个问题提供支持信息。包括关于这个问题的细节,关于它的报导,解决方案,甚至潜在的想法。也许用户仅仅使用这个支持信息的某个子集,或则它仅仅在某个状况发生。但是你需要假设很多可能发生的情况,并使你的用户在问题发生时可以看到支持信息。
如果你在一个小组工作,创造一个列出所有问题的短文件,并且包括每一个支持信息。
例如:
◇ 从网络站点的一个导航栏遨游到另外一个是困难的。
◇用户必须长时间等待软件装载。
◇我们的安全错误信息很难理解。
◇登记注册页有太多问题,用户经常放弃它。
◇在地点索引上发现一个特定的产品太难。
工作列表和优先权
工作列表是非常有用的。将你的工作列出一个表并且安排它们的优先次序。没有一个清楚的优先权,工作组将在什么事情应该被做,事情什么应该停止上争论不已。
最好的步骤是创造一张精炼的工作顺序列表。在工作组中成员通过表工作,并且首先通过工作列表来了解那些条款是最重要的, 那些是最不重要的最后项目。在组中的其他成员可以注释这个工作表。而表的主人才可以更新和修订工作表。这样多种的想法和建议经过筛选将会趋向于最正确的观点。