软件设计中的可用性

本主题介绍可用性的概念,以及为什么它应该成为任何软件设计项目的重要组成部分。

简介

在创建软件的上下文中,术语“可用性”代表了一种将用户而不是系统置于过程中心的方法。 这种理念被称为以用户为中心的设计,从设计过程的一开始就融入了用户的关注和倡导,并规定用户的需求应该是任何设计决策中最重要的一项。

这种方法最突出的方面是可用性测试,在该测试中,用户使用产品界面并与产品界面进行交互,并与设计人员和开发人员分享他们的观点和关注点。

定义可用性

本节定义了可用性在软件开发环境中的含义,以及它与开发过程的其他方面的关系。

易用性

可用性是衡量使用产品执行规定任务的容易程度的指标。 这与实用性和亲和力的相关概念不同。

可用性与实用性

决定产品质量的一个核心属性是有用性。 这将衡量产品的实际用途能否达到设计人员想要实现的目标。 有用性的概念进一步分为实用性和可用性。 尽管这些术语是相关的,但它们不能互换。

实用性是指产品执行一项或多项任务的能力。 产品设计用于执行的任务越多,其实用性就越强。

以 20 世纪 80 年代末典型的 Microsoft MS-DOS 字处理器为例。 此类程序提供了许多强大的文本编辑和操作功能,但要求用户学习和记住数十个弧形击键才能执行。 像这样的应用程序可以说具有高实用性(它们为用户提供了必要的功能),但可用性较低(用户必须花费大量时间和精力来学习和使用它们)。 相比之下,设计良好的简单应用程序(如计算器)可能非常易于使用,但没有提供太多实用性。

这两种特性都是市场接受度所必需的,而且都是有用性整体概念的一部分。 显然,如果一个程序非常有用,但不能做任何有价值的事情,那没有人会使用。 而当用户面对一个功能强大却难以使用的程序时,他们很可能会抵制它,或者寻找替代方案。

可用性测试可以帮助确定用户执行特定任务的容易程度。 但是,这不能直接帮助确定产品本身是否具有价值或实用性。 (用户可以在可用性测试期间自愿提出与实用性相关的评论,但任何评论都应该用其他更稳健的研究方法进行验证。)

喜欢它与使用它

在产品中,亲和力总是可取的特性。 如果人们喜欢某个产品,则更有可能使用它并将其推荐给其他人。 但和实用性一样,应小心不要把亲和力和可用性混为一谈。

人们喜欢产品的原因往往与实用性和可用性无关。 他们可能会被产品的风格所吸引,或者被他们认为产品赋予他们的身份所吸引。 人们通常喜欢高可用性的产品,但你不应该认为这意味着一个受欢迎的产品是可用的。

可用性是指一个人是否可以使用产品来执行他们需要执行的任务。 可用性测试主要衡量性能,而不是偏好。 然而,标准化问卷可用于衡量不同产品的偏好。

发现与学习与效率

可用性有很多方面,但传统上这个术语专门指发现、学习和效率的特性。

  • 发现包括根据特定需求寻找和发现产品的功能。 可用性测试可以确定用户找到一个功能需要多长时间,以及用户在这一过程中犯了多少错误(关于位置的错误选择)。
  • 学习是指用户了解如何使用发现的功能来完成任务的过程。 可用性测试可以确定这个过程需要多长时间,以及用户在学习功能时犯了多少错误。
  • 效率是指用户在不需要进一步学习的情况下“掌握”并使用该功能的程度。 可用性测试可以确定经验丰富的用户执行使用该功能所需的步骤需要多长时间。

可用性的这三个基本方面受到手头任务的性质和用户执行任务的频率的强烈影响。 某些功能很少使用,或者非常复杂,以至于用户每次都需要重新学习;对于这些功能,Microsoft 通常会开发向导来指导用户完成该过程。

标语不起作用

软件开发人员有时认为,像“使产品更容易使用”这样的简单口号将有助于解决可用性问题。 虽然对可用性持积极态度很重要,但只有在创建特定产品的背景下,对普通用户进行适当的可用性测试,才能为开发人员提供创建满足用户需求的产品所需的信息。 “使产品更容易使用”应该是每个软件开发人员的口号;但只有当开发人员知道可用性意味着什么时,才有意义。 与普通用户一起测试是找到答案的最可靠方法。

为什么可用性很重要?

本节解答了一些常见的问题,比如为什么可用性很重要,以及如何将以用户为中心的设计原则融入到开发过程中。

你为什么要关心?

如果可用性考虑因素尚未纳入到产品开发过程中,你可能想知道为什么有必要或值得考虑。 毕竟,完全有可能在不执行任何可用性工作的情况下发布一个有效的、无错误的产品。 但是,结合以用户为中心的设计原则可以在几个方面大大改进产品。

执行可用性测试的最佳理由是减少来自用户的支持电话数量。 可用性差是用户拨打软件技术支持热线的主要原因,每一位软件公司高管和信息服务经理都知道产品支持的成本有多高。 此外,向用户收取支持费用会增加用户对产品的潜在不满。 如果用户发现使用你的产品很容易,他们就不需要经常打电话寻求技术支持。

对于为内部使用而生产的软件,将可用性作为开发过程的重要组成部分的下一个最佳理由是降低培训成本。 对于用户来说,一个高可用性的产品比一个可用性不是很重要的产品更容易学习。 用户学习功能的速度更快,保留知识的时间更长,这与降低培训成本和时间直接相关。

可用性测试有助于提高用户接受度。 可接受性来自许多因素,包括可用性、实用性和亲和力。 对于零售产品,用户接受度通常与重复购买或忠诚度直接相关,这意味着用户可能会向他人推荐该产品。 对于内部应用程序,用户的接受度与使用软件执行其设计任务的意愿相关,这有助于提高生产力。 提高可用性是提高用户接受度的因素之一。

可用性可以帮助你的产品从竞争对手中脱颖而出。 如果两种产品在实用性上基本相等,那么可用性更好的产品可能会被认为更好的产品。 此外,Windows 外观和随附的编程指南为基本用户界面提供了公平的竞争环境,因此许多提供类似功能的程序在外观和行为上都有些相似。 这些相似之处意味着可用性上的微小差异会对用户偏好产生重大影响。

最后,每个产品最终都要经过可用性测试。 用户每次使用产品时都会对其进行可用性测试,并通过持续使用或不使用来得出结论。 在产品投放市场之前对其进行测试有助于确保用户对产品的体验是积极的。

它的成本是多少?

软件开发人员和项目经理经常担心,启动以用户为中心的设计过程和执行适当的可用性测试将需要大量的时间和金钱。 现实情况是,专注于用户的时间和金钱成本通常相对较小;当然,与不这样做的成本相比也是如此。

例如,考虑在开发周期的后期进行设计修订的时间和金钱成本,而不是在产品仍在绘图板上的早期。 等到测试阶段才让用户接触产品进行可用性测试,可能会导致花费大量时间开发的部分程序被拆除。 等到产品真正发布后,再根据负面反馈或支持糟糕的设计进行更改,可能会因为产品支持成本高或用户接受度差而导致成本不可估量地增加。

合理的可用性研究通常可以在大约两周或更短的时间内完成,并且可以大大减少在开发周期后期进行更改的时间和成本。 执行测试的成本将根据产品的性质和测试的接口部分而变化。

将可用性测试视为类似于代码测试。 成功的项目经理在规划开发项目时会考虑代码测试。 他们并不认为这是必须附加到项目进度和预算中的额外内容。 相反,项目经理接受代码测试作为开展业务的一项成本,因为替代方案的成本要高得多。 这同样适用于可用性测试。

如何改善可用性?

在阅读并理解可用性的重要性之后,软件开发人员有时会倾向于添加可用性,就好像它是一种可以简单地添加到产品中以使其更可用的成分一样。 相反,可用性应该是设计过程本身的一部分,而不是在这里或那里添加到过程中的“东西”。 可用性专家提到“以用户为中心”和“以用户为中心的设计”的原因是,可用性取决于将用户的需求放在设计过程的中心位置。 以用户为中心的设计不只是遵循一套管理界面中按钮和菜单放置的规则。 可用性测试是检查设计工作的机会。 而不是一种为产品“添加”可用性的方式。

Gould、Boies 和 Lewis(1991 年)确定了以用户为中心的设计的四个重要原则:

  • 尽早关注用户。

    开发人员应在设计过程的早期集中精力了解用户的需求。

  • 一体化设计。

    设计的所有方面都应并行发展,而不是按顺序发展。 使产品的内部设计与用户界面的需求保持一致。

  • 早期和持续的测试。

    目前唯一可行的软件设计方法是经验方法:如果真正的用户决定它有效,那么设计就有效。 在整个开发过程中整合可用性测试,让用户有机会在产品发布之前就设计提供反馈。

  • 迭代设计。

    大问题往往掩盖小问题。 设计人员和开发人员应该通过几轮测试反复修改设计。

为什么我应该让用户参与进来?

开发人员应认识到他们不是典型的用户。 比起普通用户,他们对自己开发的系统有更深入的了解和理解。 因此,对于大多数用户来说,界面中不清楚或令人困惑的方面对于参与过该项目的人来说可能非常清楚。 一些软件开发人员能够在一定程度上与普通用户产生共鸣,但无法替代实际用户与产品的真实互动。

因此,通过尽早关注典型用户的需求,并经常根据用户测试修改设计,以用户为中心的软件开发人员可以产生更好的设计,从而产生更好的产品。

更好的设计会让用户更好地接受。 零售软件的好处是显而易见的:销售额增加。 对于为内部使用而开发的软件,接受度也很重要:越更多地关注以用户为中心的设计,就可以提高生产力,减少对支持的需求。 从开发之初就积极地让用户参与进来,也表达了他们对自己关注的问题和需求的兴趣,这增加了他们帮助开发工作的意愿。

我不能只遵循指南吗?

Microsoft 为 Windows 计算平台开发了一套界面指南,以确保 Windows 程序的外观一致。 其他公司也为其他计算平台制定了类似的指南,Jakob Nielsen 等可用性专家也撰写了大量关于设计可用网页的文章。 有了这些主题提供的大量信息,设计人员有时认为严格遵循指南和标准是生产可用产品所必需的一切。

这种方法的问题在于,指南本质上具有通用性。 指南必须适用于各种各样的情况,因此并不总是为正在开发的特定应用程序规定最佳行动方案。 遵循一组编写良好的准则可能有助于设计一致的界面,但他们无法保证它是可用性,除非它通过真实用户进行测试。 在使用指南时,不要像参考烹饪书一样使用指南,因为指南为所有结果中的最佳结果指明了方向。 两个开发人员可以用两种不同的方式实现相同的指南,并且这两种实现可能并不同样适合于这种情况。 有时,严格遵守指南可能会导致结果不佳或指南之间存在冲突。 只有以用户为中心的设计才能在这些问题成为问题之前帮助解决这些问题。

另一种思考方式是:让以用户为中心的设计成为设计决策的仲裁者,而不是用户界面指南。

是否需要构建可用性实验室?

不要认为可用性测试意味着要投入一个昂贵的实验室,配备天花板安装的摄像头、单向镜和其他焦点小组装饰。 可以肯定的是,进行大量测试的公司通常会发现建立专门的实验室很方便,可用性顾问通常拥有广泛的设施和设备来为客户提供服务。 但是,有用的、有效的可用性测试可以在各种设置和环境中进行。

一种方法是简单地拥有一个测试人员?一个擅长进行人类参与者研究和收集数据的人?当用户工作时坐在他或她身后,观察用户执行任务。 这可以很容易地在会议室或办公室中执行。 有关通过观察进行测试的详细信息,请参阅其他资源中的 Dumas 和 Redish 条目。

随着可用性测试的发展和越来越多的参与,可以添加诸如摄像机、单向镜或允许你实时查看和记录用户监视器的工具之类的设备。

或者,可以将测试外包给可用性顾问。 以下部分包含寻找合适顾问的提示。

我该如何开始?

一旦决定将以用户为中心的设计原则整合到开发过程中,就需要决定是聘请可用性专业人员还是将可用性测试外包给供应商。

可用性专业人员协会 (UPA) 有一个供应商指南,可以帮助找到可用性顾问。

一些咨询小组还可以帮助建立可用性实验室或制定内部可用性计划,将可用性原则纳入设计过程。

如果聘请可用性专业人员,人因工程学会有一项安置服务,可以帮助寻找潜在的员工。 许多可用性专业人士也属于 ACM 人机交互专门兴趣小组 (SIGCHI) 和 UPA。 在他们的出版物或会议上发布招聘广告。

无论采用哪种方式,请记住这些都是测试服务。 设计人员不是典型用户这一原则同样适用于可用性专业人士。

有关这些公司和组织的更多信息以及有关可用性测试和以用户为中心的设计的更多信息,请参阅其他资源