范围层
我们做的某些事是因为其过程具有价值,就想慢跑或练习钢琴一样。而我们做的另一些事情是因为其产品具有价值,就像做一块蛋糕或修理一辆汽车。定义项目范围则同时做做这两件事:这是一个有价值的过程,同时能产生有价值的产品。
💡这是一个有趣的比喻。
过程的价值在于,当整个事情还处在假设阶段的时候,它能迫使你去考虑潜在的冲突和产品中一些粗略的点。我们能确定现在能解决哪些事情,而哪些必须要再迟一点才能解决。
产品的价值在于,被定义的这个产品给了整个团队一个参考点,明确了这个项目中要完成的全部工作,它也提供了一门用于讨论这件事情的共同的语言。定义好你的要求能保证在设计过程中不会出现模凌两可的情况。
项目最大的绊脚石是没有一个人愿意去定义需求。
定义需求:
需求的三种类型:
不管你是从企业内部的管理者,还是直接从用户处获得的帮助,来定义的这些需求,这个过程中得到的需求将分成三个主要类别。首先,是人们讲述的、他们想要的东西。这中间有一部分是非常清晰的好想法,会通过各种途径体现在最终产品上。
有时候人们口中说出来的、所期望的特性其实并不是他们想要的,当人们在某个过程或某个产品中遭遇到一些困难时,想象有某种解决办法可以缓解这一困难,对任何人来讲都是很正常的反应。有时这个解决办法是行不通的,或者仅仅是治标不治本的办法。通过与用户探讨这些建议,你有时候可以得出真正解决问题的、完全不同的需求。
得到的第三种类型的需求是人们不知道他们是否需求的特性。当你让人们讨论新的需求和战略目标时,他们有时会突然想起某个伟大的构思,而根本忘记了那个正在维护中的产品。
讽刺的是,那些很少去想象产品新方向的人,恰恰是参与创建和设计产品最深入的人。当你把所有的时间都投入到维持现有产品时,你经常会忘掉哪些是真正的限制条件,而哪些是为了简化产品而曾经做过的选择。
获得需求的方法:
(1.)让一个工程师、一个客服人员、一个营销人员坐到一间会议室中谈论同一个产品,这会对大家都有启发意义。听取从自己不熟悉的角度出发来考虑的、对于产品的观点,并给予反馈,可以鼓励人们多角度全方位地思考开发中的产品遇到的问题以及解决方法。
(2)有一种叫做人物角色的技术,通过创建虚拟人物来帮助我们能好地理解用户需求。在决定功能需求的时候,我们可以再次使用这些人物角色,把我们的虚拟人物放到一个简短的故事之中,我们称之为“场景”。一个场景是一个简短的故事,简单描述了一个人物角色会如何完成这些用户需求。通过“想象我们的用户将会经历什么样的过程”,我们就可以找到帮助他顺利完成这个过程的潜在需求。
(3)从竞争对手处得到一些启示。任何一个在做同样一件事的企业基本上在试图满足同样的用户需求,同时也在试图完成相似的产品目标。竞争对手是否找到一种特别有效的特性,能完成其中的某个战略目标?他们是如何权衡和调整我们所面对的那些问题的?
(4)即使不是产品的直接竞争对手也能提供丰富的潜在需求。例如一些游戏平台允许用户创建自己人的社交群组,那么在我们的数字录像软件上采用相似的特性或建立类似的机制,也许就能给我们一定的竞争优势,用来超越直接竞争对手。
功能规格说明
文档不能解决问题,但定义可以。我们需要的不是文档有多厚或有多详细,而是足够清楚和准确。功能规格说明不需要包含产品的每一个细节——只需要包含在设计或开发过程中出现有可能混淆的功能定义。同时功能规格说明也不需要展望产品未来的理想化状态——只需要记录在创建这个产品时遇见确定下来的决议。
无论这个项目有多么庞大或多么复杂,有几条规则适用于撰写任何类型的功能规格说明:
1.乐观。描述这个系统将要做什么事情去“防止”不好的情况发生,而不是描述这个系统“不应该做什么不好的事情。
如”这个系统不允许用户购买美元风筝线的风筝。“-》”如果用户想买一个没有线的风筝的话,这个系统应该引导用户到风筝线页面。
2.具体。尽可能详细地解释清楚状况,这是我们能决定一个功能是否被实现的最佳途径。
对比:a.最受欢迎的视频要重点标注
b.上一周被播放最多的视频要显示在列表的最前端。
3.避免主观的语气。这是另外一种使需求“保持明确”和“避免歧义”的途径。如“这个网站的风格应该是时尚的、闪耀的。
内容需求:
尽可能早地确定某个人来负责每一个内容元素也是非常重要的。一旦某个内容特性被大家所认可,确定其对战略目标是有效的,它都会不可避免地被当成一个好主意——只要是别人来负责建设和维护它。
应该定义每一个内容特性的“更新频率”。你必须要确定一个频率,它是介于你的用户期望值和有效资源之间的一个合理的中间值。
确定需求优先级
收集潜在的需求或想法不是很困难。几乎每个经常接触产品的人(不管他们是企业内部还是外部的人)都能说出至少一个“这个产品应该增加哪些特性”的某个想法。最棘手的部分是排列出哪些功能应该包含到你现在的这个项目中去。
在战略目标和需求之间,你几乎看不到一对一简单关系。有时一个需求可以满足多个战略目标。同样,一个战略目标也常常关系到多个不同的需求。
由于项目范围是建立在战略层上的。我们应该评估这些需求是否能满足我们的战略目标(无论是网站目标还是用户需求)。除了这两种目标,我们还要额外确定第三种范围:实现这些需求的可行性有多大?
有些需求不能实现,有些需求由于资源有限可以规划到下一个版本中。有些特性要和其他的一起权衡,才能得到一个连贯的、统一的产品。
留意那些看上去有可能需要改变战略的特性建议,它们在制定愿景文档期间并不明显。任何不符合当前项目的战略目标的特性建议,都要通过范围定义将其排除出去。但是如果有那么一个特性,尽管它不在项目范围之内,也超越了任何一个的限制条件,但听起来仍然像一个不错的想法,那么此时你可能需要重点审视某些战略目标。不管怎么样,如果你发现自己正在反复审视战略目标,那么你极有可能太早进入了需求定义阶段。
如果你的战略计划或愿景文档在战略目标的范围内制定了一个清晰的优先级别顺序,那么这些优先级别应该是决定是否采纳人们所建议的相关特性的首要因素。
解决管理层之间的争论的最好办法是要求“制定战略”。关注战略目标,而不是各种实现这些目标的手段。当你面对的是一个总是把注意力放在某个战略目标特征上的高层管理者,如果你能向他保证他所关注的这个特征可以用另一个方式来满足的话,他就不会感觉自己的意见被忽略了。
对决策者的需求表示认同,是解决特性冲突的关键。
结构层
什么是结构层:
在定义好用户需求并排列好优先级别之后,我们对于最终产品将会包括什么特性已经有了清楚的图像。然而,这些需求并没有说明如何将这些分散的片段组成一个整体。这就是范围层的上面一层:为网站创建一个概念结构。
交互设计和信息架构都强调一个重点:确定各个将要呈现给用户的元素的“模式”(patterns)和“顺序”(sequences)。交互设计关注于将影响用户执行和完成任务的元素。信息架构则关注如何将信息表达给用户的元素。
交互设计和信息架构要求去理解用户——理解用户的工作方式、行为和思考方式。
交互设计:
交互设计关注于描述“可能的用户行为”,同时定义“系统如何配合与响应”这些用户行为。
过去一个时代计算机体验不好的原因:
在过去,计算能力是一种稀缺资源,所以最佳的方法就是在种种系统局限下让软件正常运行。
对计算机而言,最好的工作方式从来都是和真正的使用者所期望的、最好的工作方式背道而驰。
这种情形持续了很多年,但我们因此知道了用户是如何使用科技产品的,然后终于有了这样的想法:与其针对机器的最佳工作方式来设计系统,不如设计一个对用户而言最好的系统。取代送员工去上编程课程的,是一个被称作交互设计的新兴学科。
概念模型。
用户对于“交互组件将怎样工作“的观点称为概念模型。如”购物车“。
使用人们熟悉的概念模型,会使用户很快适应一个不熟悉的网站。当然,打破传统也没有错——只要你有一个好理由说明”为什么这样做“,同时准备好另一个符合用户需求且在情理之中的概念模型以备使用。
信息架构:
战略告诉我们“用户的需求是什么”,范围则告诉我们“什么样的信息将满足那些用户需求”。在创建结构时,我们就要具体地识别出用户心目中至关重要的那些信息。成功的用户体验,就是能事先预知用户的期望并将其纳入设计之中。
团队角色与流程
信息架构或交互设计的主要文档是示意图。视觉化地呈现结构,对我们而言,这是表达“分支、群组、组件之间的联系”的一种最高效的方式。网站结构总是很复杂的,用文字去表达这些复杂的概念,有谁会真的去看呢?
你是否有一位专家来解决结构问题并不重要,重要的是这些问题能由某个人来负责。一个建立在明确规划上的网站,会减少频繁检查维护的工作量,也能为网站的所有者带来可见的结果,同时还能满足他们的用户的需求。
框架层
什么是框架层:界面设计、导航设计、信息设计。
如果涉及到提供给用户做某些事的能力,属于“界面设计”。界面的意思是说,通过它,用户能真正接触到那些“在结构层的交互设计中”确定的“具体功能”。
如果是提供给用户去某个地方的能力,这是“导航设计”。
如果是传达想法给用户的话,那就是“信息设计”。信息设计是这个层面中范围最广的一个要素。因为无论是界面设计还是导航设计,都不可能在没有“一个良好的信息设计的支持”的前提下取得成功。
习惯和比喻
让你的界面与用户早已养成的那些习惯保持一致很重要,但是更重要的事,界面要与它自身保持一致。网站特性的概念有助于你保持内部一致性。
有效地使用比喻,就是要减少用户在“理解和使用你的产品功能”时对猜测的要求。
界面设计
界面设计要做的全部事情就是选择正确的界面元素。
哪个功能要在哪个界面上完成,是我们在结构呈的交互设计中已经决定的;而这些功能在界面上如何被用户认知到,则属于界面设计的范畴。
成功的界面设计是那些能让用户一眼就看到“最重要的东西”的界面设计。而另一方面,不重要的东西,不应该被注意到。设计复杂系统的界面所面临的最大挑战之一,是弄清楚用户不需要知道哪些东西,并减少它们的可发现性(或者完全把它们排除出去)。
好的程序员总是要考虑到很少发生的场景。经验丰富的程序员,总是平等地对待每一种可能性,不管它代表了一个用户还是一千个用户。这种思路对于界面设计是行不通的。一个将极端情况呈现出来的界面,等于给大多数用户提供一个设计不良的界面,而让少数用户满意。
一个简单的技巧,就是在这个界面第一次呈现给用户的时候,仔细考虑每一个选项的默认值。
另一个更好的做法是,能自动记住某个用户最后一次选择状态的系统。
线框图
页面布局是将信息设计、界面设计和导航设计放置到一起,形成一个统一的、有内在凝聚力的架构。页面布局必须结合所有类型的导航系统,每一个旨在传达不同结构中的视图设计;也必须结合任何一个在这个页面上的功能所需要的所有界面元素;还包括支持以上这些内容的信息设计,当然也包括在这个页面上内容的信息设计本身。
线框图在正式建立网站的视觉设计的流程中,是必要的第一步,几乎每一个参与开发过程的人都会在其他任务节点中使用它。负责战略层、范围层和结构呈的设计者可以借助线框图来保证最终产品能满足他们的期望。真正负责建设这个网站的人,则使用线框图来回答关于网站应该如何运作的问题。
表现层(感知设计)
评估一个产品视觉设计的简单方法之一,是提出这样的问题:你的视线首先落在什么地方?哪个设计要素在第一时间吸引了用户的注意力?它们是对于战略目标来讲很重要的东西吗?或者用户第一时间注意到的东西与他们的(或你的)目标是背道而驰的吗?
另一种找出主要设计元素的方法是眯着眼睛或斜着去看这个页面,直到你不能认出任何细节——或者走到房间的另一头从那个地方来看这个页面。
要素的应用
不管你的产品有多复杂,用户体验要素都是一样的。但是,将这些要素背后的想法付诸实施却是一次自我挑战。这不仅仅是时间和资源的问题——它常常是一个心态的问题。
创建良好的用户体验最重要的工作内容是大量收集亟需解决的非常细微的问题。
提出正确的问题
正确的做法是,将每一个决定都建立在对其背后议题的理解之上。
对于你即将面临的问题抱有一种正确的心态是最重要的。每一个用户体验的设计过程的其他方面都有可能导致调整,以适应时间、金钱和为你工作的人员。
那些最难被感知的要素(产品的战略层、范围层和结构层)在决定用户体验的最终成功或失败方面扮演了一个必不可少的角色。
在上一层级的错误可能会削弱更低层面的正确决策。