1、ASD概述
近年来,敏捷软件开发(Agile Software Development,ASD)方法被越来越多的软件公司采用,来应对系统开发过程中日益增长的复杂度。ASD能够保证快速且高质量地实现用户需求,但是用户对产品的情感反映被严重忽略,即不能保证产品与用户间建立良好的情感关联。与此同时,用户体验理念开始逐渐被设计领域从业者所接受,并被不断优化演进。1988年设计理论专家唐纳德·诺曼[1]提出以用户为中心的设计(User-Centered Design,UCD)理念,自此这种思维方式逐渐成为用户体验设计领域的主流趋势。UCD采用更加人性化的方法,使用户参与甚至主导产品或系统的设计过程,此种思维方式极大地增强了用户体验。
本文将以用户为中心的用户体验设计引入敏捷开发方法,并在此基础上优化了敏捷开发流程,一定程度上改善了上述ASD方法面临的问题,获得了更好的用户体验。
2、以用户为中心的用户体验模型
用户体验指用户在使用特定的产品、系统或服务时的态度和情感。一个好的用户体验不仅能够提升客户的忠诚度及转化率,而且可以提高公司运作效率及品牌影响力。但是用户体验具有主观性,这也正是用户体验设计的难点所在。基于此,杰西·加瑞特[2]在2000年提出了用户体验设计模型。这个模型包含5个要素:战略、范围、结构、框架、表现。其中,战略层主要用于界定用户群、用户需求及目标;范围层主要用于将需求分类、分级,转化为对应的功能和内容;结构层主要任务是创建概念模型;框架层主要用于确定详细的界面外观、导航和信息设计;表现层将内容、功能和美学汇集到一起产生最终设计。该模型中的上层要素与下层要素具有双向约束,从而在整体上保持一致性。用户体验模型要求在模型的每一个层次中都要把用户列入考虑范围,让用户由参与者转变为共同设计者。这种理念最大的优点是根据用户会如何使用产品来进行设计的优化,而不是强迫用户改变使用习惯来适应产品。
3、ASD流程
ASD是从1990年开始逐渐引起广泛关注的一系列新型轻量级软件开发方法,其最初目的是为了应对软件开发过程中业务需求不明确或频繁变化的问题[3]。ASD包含了多个具体的开发方法。本文主要研究的是Scrum开发流程,如图1所示。Scrum是ASD中最富有成效且应用范围最广的几种方法学之一,推崇限时迭代、持续集成和发布[4]。
图1 Scrum流程