用户体验-敏捷项目中的用户体验-AS10091623.docVIP

  • 4
  • 0
  • 约1.2万字
  • 约 16页
  • 2022-07-15 发布于湖南
  • 举报

用户体验-敏捷项目中的用户体验-AS10091623.doc

敏捷可用性 - 敏捷项目中的用户体验 - - 2007-04-08 作者 Scott W. Ambler 阅读本文英文原文 (翻译:刘松涛) 1. 敏捷软件开发 (ASD – Agile Software Development) 为了解决软件开发者所面临的困难,2001年7月,一个由17个方法学家组成的小组成立了敏捷软件开发 联盟(Agile Software Development Alliance),简称为敏捷联盟(Agile Alliance)。有趣的是,小组每个成员 的背景都不相同,但却最后达成了方法学家们通常不会一致通过的协议。该小组共同制定了一个宣言,该 宣言包含4个价值和12个原则,主要目的是促进更优秀的软件开发方法;该宣言还制定了ASD过程的标 准。 如同软件工程协会的软件能力成熟度模型(Software Engineering Institute‘s Capability Maturity Model Integrated (CMMI))为重量级软件开发过程定义的需求,敏捷宣言则定了敏捷软件开发过程的需求。反应了 这些需求的敏捷过程包含如下内容: , Agile Data (AD) , Agile Microsoft Solutions Framework (MSF) , Agile Modeling (AM) , Agile Unified Process (AUP) , Dynamic System Development Method (DSDM) , Extreme Programming (XP) , Feature Driven Development (FDD) , Scrum , Usage-Centered Design (UCD) 绝大多数的敏捷项目的开发团队都少于10个人,在同一地点工作,可以直接和利益关系人们(stakeholders)沟通,利用一些常用的建模工具比如写字板(writeboard)和公告板(corkboard),拥有自己的开发机器,使用一些必需的工具,比如测试工具。也有人指出,有些敏捷团队可能也会比较大(可能好几百人),可能分散在不同的地理位置上,有些人不是总能够很容易的接触到利益关系人 (Eckstein 2004)。虽然多数的敏捷团队都采用测试主导的开发方式(TDD – test-driven development),也就是开发的过程中间进行测试,写完一部分代码就测试一部分,他们通常都没有测试UI的工具。而且,他们几乎都没有可用性实验室(usability lab),因此从该角度来说,这样的敏捷和传统开发的区别不大。 我在图一描述了一个普通的敏捷SDLC*,包含了4个阶段:第0周期,开发阶段,发布阶段,和生产阶段。尽管很多敏捷开发者否认这种阶段式的概念,但实际上很多的敏捷过程中都包含了各个阶段,比如XP,AUP, 以及敏捷MSF(这里将―阶段‖叫做track)。 软件开发的生命周期 *SDLC: Software Development Life Cycle – 图一:敏捷SDLC 下面我们来看看每一个阶段: 1. 第0周期 敏捷项目开始的第一周时间左右,通常被称为第0周期(‖Iteration 0‖ or ―Cycle 0‖)。在本 阶段中启动项目,主要目标是收集项目的最初支持和资助,积极主动的与利益关系人沟通从而在较层次上定义要开发的软件系统;组建团队;为最初的结构建模;并准备好工作环境。 2. *开发阶段*。在开发阶段,敏捷软件开发者逐步交付高质量的、可以满足利益关系人的不断变化的需求的软件产品。 3. 发布阶段 在此发布阶段,敏捷软件业者将开发中的系统交付到使用生产中。 4. 生产阶段 本阶段/周期目标是保证系统投入使用后,一直有用,并具备持续的生产能力。基本目标是保证系统的正常运行,并帮助最终使用者来使用该系统。 表面上看起来,图一中所示的敏捷SDLC非常像传统的SDLC,但你仔细观察,很快就会发现,它们是不一样的。由于敏捷SDLC是需要高度协作的、重复(iteractive)、循序渐进的,并且和传统项目中的开发者相比,敏捷开发者所承担的责任要多的多。在传统项目中,商业分析师(business analyst)先创建需求模型,之后交给构架师;构架师继而创建设计模型,再交给程序员;程序员写出程序之后再给测试工程师,等等。而在敏捷项目中,开放者和利益关系人密切合作,从而可以更好的了解他们的需求;他们相互配合来实施并测试系统,之后将系统展现给利益关系人从而获得快速的反馈。传统开发过程中分工细致,具有不同专长的人在不同阶段接力传递产品,并可能在整个链条中的各个阶段加入新的问题;敏捷开发者们综合了各种专业技能从而达

文档评论(0)

1亿VIP精品文档

相关文档