目标导向设计

个人的人生目标就是成为一个优秀的软件设计者,当然,整点儿国内那些GP不通的“需求分析”是不可能实现的。

根据软件设计界大名鼎鼎的Alan Cooper老大的《About Face 2.0》,我作了一些编译,撰出此文:

目标 vs 任务

任务只是达到目标的中间步骤,在开发过程中,开发者很容易将它们混淆在一起,根据“有哪些任务”来完成用户界面的设计。这虽然能完成很多工作,但不会给用户产生最好的解决办法,并且经常不能让用户满意。

有一个方法可以非常容易区分任务和目标。目标受人的动机驱使,很难陌时间的推移而改变,甚至根本不变。任务是短暂的,几乎完全基于身边的技术条件。例如,当从圣路易斯到旧金山旅行时,一个人的目标可能是快速、合适和安全。在1850年,一个旅客会选择大逢车旅行,并且为了安全,他会一直带着他的来复枪。如今,从圣路易斯到旧金山旅行,一个商人会选择喷气式飞机,并且从安全的角度出发,他会把防身武器留在家里。

目标没有改变,但因为在某些方面完全相反的条件和技术,任务完全变了。

技术,是用来消除不相关的任务

例如,你要在早晨上班,你的目标是尽可能快而安全地到达目的地。使用今天的技术,你只需要借助交通工具,而不是像古代那样平时还在家里养着一匹马供出门之需。利用今天的技术,我们消除了养马这个任务。

从本质上来说,用户的真正的需求,是不会发生变化的

因为我们的“需求”,实际是只是一连串任务的集合,缺乏一个分析、抽象、优化的过程。

设计过程中的反复,往往是因为用户对技术不熟悉,起初他只能为自己计划一些简单的技术任务,要求开发人员为他完成,随后,他对技术的认识度进了一层(尤其是那些看到Demo版从而发生“重大需求变更”的,无一不是因为这个原因!!),认为执行另一个任务会更好地达到他的目标,所以,他的“任务”变了,对开发的要求也变了。这个变更,最主要的原因还是因为开发人员的设计水平不够,不能够分析任务的上下文,掌握用户的真实意图/目标,从而在技术上为用户提出最优的解决方案。

设计先行

常规的软件开发过程基本上都是编码实现功能,功能嵌入界面。正如开工之后无法设计一幢大楼一样,当编码已经开始,就很难再实现让程序围绕用户目标服务了。有的软件确实在关注用户,但他们过多地关注用户要完成的任务,而没有充分地关注他们完成任务时的目标。在技术上很成功,并能很好地完成每一个任务的软件仍然可能在商业上遭遇失败。

产品和系统行为的设计——交互设计(interaction desgin)应该在动手编码之前进行。

目标导向设计

这是交互设计中最重要的原理,它是基于对用户和人类认知原理的理解。

设计基本过程

研究——建模——需求——框架——优化

在研究过程,需要确定产品的范围,检查当前市场规划、品牌策略及竞争者相关技术,与领域专家(用户中的资深人士)交谈,最后确定整个产品的人物角色。此阶段与用户交谈。

建模过程,从人物角色中提取目标和目标驱动下的需求,拟出所有的问题定义,设计出规则:功能和数据需要,商业需求,技术上的约束。接下来是写出脚本提纲,描述人物角色各种关键使用场景,记录情节,进一步拟出更高层次的数据模型。此阶段写管理人员交谈。

框架:实体关系:概念聚类,原理,模式,逻辑,导航结构,输出:流程图。此阶段与程序员交谈。

要想成为一名优秀的设计师,必须牢牢记住:

产品成功的关键是目标的实现,而不是功能上的特性。

此外:交互设计不是凭空猜测

目标导向的过程,还有它在设计决策时清晰的理论基础,能更容易地说服工程师,能让市场和管理部门参与进来,能确保正在考虑的设计不是凭空猜测,或者仅仅是团队成员个人偏好的反映。

设计师的天赋和技巧

想像力:概念技巧;可视化技巧,写作技巧,口头表达技巧,共情作用(EMPATHY)能力,人际关系能力,脑力风暴技巧,分析技巧,咨询技巧。

这其中,EMPATHY是最最重要的,它决定了一个设计师能达到的层次,有兴趣的,可以阅读心理学的相关书籍,因为,交互不是一个界面问题,而是一个人类行为问题。

© 2018 Silent River All Rights Reserved. 本站访客数人次 本站总访问量
Theme by hiero