思步网

查看: 103704|回复: 52
打印 上一主题 下一主题

[其他理论] 浅析敏捷开发及其可用性

[复制链接]
敏捷开发 意在解决传统开发方式中存在的可用性问题,但是却对用户体验带来了新麻烦。然而,不少公司通过改造敏捷开发方法,在实现目的的同时避免了这些麻烦。
  快速应用开发流程如敏捷开发和Scrum(Scrum是敏捷开发的另一种方式)是提高还是威胁用户体验质量,这取决于如何运用这些方法。
 
敏捷开发的优势

  敏捷开发解决了长期困扰可用性专家们的三大问题:
  以过去50年的经验看,传统瀑布式开发导致了差的用户体验。原因很简单:需求说明书从来没对过。
  理想情况下,如果严格执行,需求是可能反映用户想要的东西的。但是更通常地反映的是离操作层太远以至于不知道操作细节的“典型”用户们的要求。一般而言,用户想要的和用户需要的是完全不同的,这就是“观其行而非听其言”一直成为首要可用性指南的原因。
  如果从撰写需求到交付产品需要很长的时间,用户的需求将非常可能发生变化,致使撰写的需求和用户实际的需求之间距离越来越大。
  在过去的25年中,可用性工作中提高设计质量的最好方法之一是观察用户和该设计进行交互(through either a functional or mocked-up screen )。假如开发者们在时间溜走之前没有这样做,那他们的大部分的开发工作可能是围绕错误的设计在进行。
  同样,在瀑布开发后继阶段,按照文档苟且行事会带来诸多问题,更糟糕的是让开发者对照文档逐条逐字实现。很多问题出现在实施交互设计细节之中,在陈旧的设计和用户体验专家也已经早已离开的情况下,让开发者解决可用性问题,有点不现实。
  自1989年以来,因为其易操作性,在开发过程中可以被开发者经常使用的“简化的可用性工程”(discount usability engineering)被认为是提高用户体验的最佳方法。然而,在严格的瀑布开发流程中,这个方法根本不可能操作,原因在于无法在流程中获得用户反馈。
  敏捷开发有望解决传统开发方法对良好易用性造成的系统障碍。
  
敏捷开发带来的问题

  敏捷开发对系统质量最大威胁在于它是由开发者提出,主要针对系统实现的方法。结果,交互设计和可用性问题经常被低估,而被认为是开发过程的附属结果。这显然和过去30年的经验相矛盾,用户体验在系统开发中的重要性随着我们从大型机发展到个人电脑再到网络的过程中稳步增强。随着用户增多和使用范围的扩大,现实世界对搞可用性的需求日益增大。
  为了建立好质量的用户体验,开发团队需要交互设计和可用性方法。对于小一点的团队,并不一定需要专门的设计师和可用性专家。让开发人员自己做交互设计和可用性考虑最为合适。但是,不管设计或可用性人员是专职还是兼职,重点在于在开发中要将交互设计和可用性设计作为单独明确的开发活动来实施。
  对于一个认真做交互设计和可用性的项目,必须和编码一样平等分配“story points”(译注:Story point是用于评估完成每个Story所要付出劳动,使用相对尺寸来估计)。
  另一个问题是,在开发中把一个产品分解成了更小的模块,让每人一次完成一个模块。此方法就冒了这样的风险:破坏了一个完整的用户体验概念——不同的部分始终如一的表现,帮助用户建立起一个完整的系统概念模型。最糟糕不过的是,界面设计成了修修补补的大杂烩。
  为了解决这个问题,团队可以设计包括用户界面架构的“storyboards” 和“原型”,以这些工具为参考点来设计单独的模块。为了避免在前期花费太多的时间,团队可以设计如纸面原型(不用编码的)的低保真原型,就像我们一直提倡的那样。
  敏捷开发团队通常在相当短的“sprints”中完成所有功能,一般就持续3个星期。以如此紧迫的期限,开发者们可能会绕过可用性设计,因为他们觉得没有时间去做测试或其它用户研究。
  
解决方案包含三个部分:

  (1)用几天时间来做一些可用性活动,比如用户测试。一个富有成效的方法是在确切知道测试时会用到的东西时就提前做好准备。每周一次测试是非常可行的,且提供了一个整合多个用户反馈轮回的极好方法,甚至在最短的“sprint”里。
  我们有一个关于“怎样操作一回完整的用户测试”的3天课程课程真实地就团队自己的项目进行测试。你可以在一天之内完成这种类型的快速测试,而且准备测试的时间和分析结果的时间总共不到一天。
  (2)大部分成功的团队都采用了“并行工作”(parallel track)法,用户体验工作在开发编码之前就连续地进行了。因此,到开始开发一个模块的时候,该模块原始的用户体验工作就刚好完成。
  (3)最后,我们需要全面的用户调研(foundational user research),而不是单独针对功能点的设计开发。比较理想的是,公司应该在一个项目开始之前做这个工作。当然,大公司应该具备一些关于用户工作流程、人物角色和可用性指南的基本知识,这样以后的很多项目都可以参考使用。
  
让敏捷和可用性相得益彰

  很有理由相信可用性和敏捷开发方法是一定可以并存来提高用户体验质量的。
  敏捷开发提供了很多机会来克服传统开发方法中长期阻止可用性的一些问题。
  作为程序设计方法而不是系统开发方法狭隘地使用敏捷开发可能会摧毁近10年来在整合可用性和开发方法的进展。但是,正如上文所说,每个问题都有相应的解决方法。只要团队把它们当成明确的问题来解决,就不会有损产品质量。
  最后,我们从研究中得知很多公司工作开展得很顺畅——只要他们用以质量为中心的系统开发方法,并配以合适的敏捷开发。
  对这些优势、问题和起作用的经验事实的分析是基于以下研究:
  (1)对105个设计者和开发专家的调查。
  (2)对12个公司关于敏捷开发项目深入的个案研究。
  虽然这些数据资料表现出很大希望,但我们还是发现了几例不好的结果,强调公司整合敏捷开发和可用性要采取明确措施的必要性。
  对于支持敏捷开发团队的用户体验从业人员来说,主要的变化在于心态。拥有良好而全面的用户体验知识将有助于理解怎样去改变传统设计和评估方法,从而满足敏捷开发团队的不同关注点
  总之,如果要取得成功,你就需要既有自信,又要把握敏捷开发的要义。
  如果你已经准备改变你的做事方法并付诸实施,你就有机会提高自身效率同时提升你在团队中的影响力。






上一篇:高效敏捷的十大经验法则
下一篇:敏捷开发之写不写文档
[发帖际遇]: 相思赋予谁 乐于助人,奖励 8 (金) 金币. 幸运榜 / 衰神榜
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖 支持支持 反对反对
回复 论坛版权

使用道具 举报

我了个去,顶了
好帖必须得顶起
啥也不说了,楼主就是给力!
很有借鉴意义,先收藏了,谢谢楼主。
以我的经验来看,楼主的想法是可以执行的~
路过 帮顶 嘿嘿
看起来好像不错的样子
看起来不错
确实不错,顶先
向楼主学习
路过 帮顶 嘿嘿
看了LZ的帖子,我只想说一句很好很强大!
路过 帮顶 嘿嘿
我是个凑数的。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则



思步组织思步科技|思步网|火花学堂|思步文库|思步问答|思步英才|天下心
© 2007 思步网 浙ICP备10212573号-4(首次备案号:浙ICP备07035264号)|邮箱:service#step365.com(将#换成@)|服务热线:0571-28827450
在线培训课程|求职招聘|思步文库|官方微信|手机APP|思步问答|微博平台|官方QQ群|交流论坛|软件工程透析|关于我们|申请友链|
点击这里给我发消息     点击这里给我发消息
思步 step365 过程改进 CMMI中文 质量保证 质量管理 流程体系 需求跟踪矩阵 敏捷开发 Scrum 软件度量 项目评审 全员改进 流程管理 人力资源 6sigma 信息安全 ISO27001认证 IT服务管理 ISO20000认证 ISO9000认证 软件测试 SQA 配置管理 IPD 软件工程 PMP认证 PMP试题 PMBOK中文 精益研发 agile 顾问式管理培训
返回顶部