Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

敏捷实践和安装开发

330 views

Published on

Is wp agile-practice_mar13-chi

Published in: Technology
  • Hi there! Get Your Professional Job-Winning Resume Here - Check our website! http://bit.ly/resumpro
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

敏捷实践和安装开发

  1. 1. 白 皮 书 敏捷实践和安装开发
  2. 2. 敏捷实践和安装开发 2 敏捷实践和安装开发 商业和定制应用程序开发项目越来越多地利用敏捷流程交付 软件。敏捷流程具有多次迭代和向用户频繁地交付有效软件 等特征,用户会就相关应用程序范围和方向快速且持续地提 供反馈。这种方法让团队能够不断完善软件的外观,同时迅 速更改功能集,以响应不断变化的业务机遇。 但是,创建和管理灵活安装包的能力是满足敏捷项目目标的 关键组成部分。良好的安装开发解决方案让团队能迅速在一 个包内交付新版本,支持客户轻松安装和卸载,并支持敏捷 开发实践中几个最重要的目标。敏捷团队关注以迭代的方式 和优秀的用户体验交付软件,也致力于寻求一种开发安装包 的自动化解决方案。 敏捷开发的业务驱动因素 有多种软件应用程序可用的业务环境往往变化很快。企业组 织由市场商机、法规和法律变化、新业务关系和人员变动驱 动。这些变化的出现往往只有很少的前兆甚至毫无前兆,机 遇通常稍纵即逝。为了利用这些机遇,通常需要新应用程序 或现有应用程序的新功能。 这样的现实情况同样适用于打包的商业应用程序和内部开发 的自定义应用程序。客户需要快速变化,无法满足这些需求 会导致客户转而寻求其他替代产品。 应用程序在发布之前,通常需要一年甚至更久的开发和测试 时间。即便是为现有应用程序添加新功能,往往也需要数个 月的工作量。采用传统方法时,必须在流程之初了解需求, 以保证开发工作的可预测性,在软件交付之前,收到的用户 群反馈极少,或者不会收到他们的反馈。尽管有时在最终交 付之前会经过一个 beta 测试阶段,但 beta 测试的目的是识 别缺陷,而非更改功能或外观。 如果用户或业务需求临时发生变化,那么开发团队几乎无法 调整新需求。大多数情况下,更改需求或添加新需求会增加 开发工作的时间和资金。换句话说,传统软件开发方法并不 是针对当今的业务需求而设计的。 这些业务状况致使开发团队采用敏捷技术,以便更好地满足 用户群的需求。敏捷开发为团队提供了以下支持: • 采用迭代开发方法,一次处理少数几个功能,从而更加 迅速地将重要功能交付给用户。 • 根据不断变化的业务需求在中期进行校正,以响应项目 开展过程中的用户需求变化。 • 基于迭代式发布,采用定期用户反馈优化功能和用户界 面。 即便构建商业打包软件的团队也会发现敏捷方法的有用之 处。除了能够迅速部署少数引人入胜的功能之外,这种方法
  3. 3. 敏捷实践和安装开发 3 还提供了一种机制,支持根据新技术或目标市场的大规模变 动来调整功能集。 商业应用程序开发人员通常不会以满足一位客户或某个用户 组的需求为目标。但来自多名客户的及时反馈有助于产品经 理和开发团队调整后续迭代,以响应希望使用多个版本的早 期采用者的反馈意见。 敏捷流程的共同特征 敏捷方法多种多样,包括 Scrum、特征驱动开发和极限编 程。特定敏捷方法的选择通常依赖于团队成员的过往经验。 在实践中,许多团队都会研究敏捷方法,选取最适合其技能 和文化的具体技术和实践。 尽管敏捷方法在许多细节方面各有不同,但它们有着一些共 同的特征。首先,敏捷团队通过一系列迭代开发软件,典型 的迭代周期为一周至一个月。这让团队能够在有限的时间段 内集中精力处理少数功能,并尽最大努力交付这些功能。后 续迭代将在执行之前进行规划。后续迭代的目标可能是添加 更多的功能、更改现有功能,或者是解决缺陷或其他局限之 处。 敏捷方法带来了在每次迭代结束时交付可正常工作的软件的 优势。这意味着团队能尽早完成构建,往往能实时发现和修 复缺陷,并确保大多数构建都获得可安装、可使用的软件。 可正常工作的软件必须能让用户群轻松安装和开始使用该软 件,并在新迭代可用时无缝地完成替换。 每一位开发人员的代码都将在每天进行集成,或者连续进行 集成,这支持交付可正常工作的软件的能力。每一次集成都 会通过自动化构建加以验证,保证尽快检测集成错误。许多 团队发现这种方法可以显著地减少集成问题,并且可以使软 件的开发更加迅速。 敏捷方法也依赖于才能出众、积极上进的开发人员。构成敏 捷团队的开发人员通常是在不同地理位置工作、远距离开展 协作的专业人士。这些专业人士可以独立地处理特定组件, 也能确保所有组件在构建时都能顺利地共同工作。 敏捷方法的局限性 尽管优势显著,但敏捷方法也会给开发团队带来一些必须克 服的挑战。或许最大的挑战是交付能在每次迭代结束时干净 彻底地安装和卸载的软件.在许多情况下,会完全跳过注册表 键,遗留下不必要的临时设置路径或特权。有时用户必须手 动移动相关文件,并设置个别注册表键。 团队常常会交付一系列组织完整性或安装完整性有限的压缩 文件,或者在每次迭代后耗费漫长的时间以确保安装是安全 的并且便于用户使用。无论如何,这都不属于对时间或资源 的有效利用。 敏捷团队在地理上可能较为分散,因此必须谨慎规划开发工 作,让独立开发人员能够为一组既定的接口编写代码。大多 数情况下,安装代码的不同部分可能由地理上分散的开发人 员或小型团队持有,必须无缝地整合这些部分,以确保安装 项目成功构建和执行。即便在密切配合的情况下,初始构建 和安装的成功也需要团队之间进行多次沟通。 因此,安装是敏捷团队必须解决的一个难题。敏捷开发存在 许多交付需求,而且在发生延迟时调整任务的能力极为有 限,因此这种问题在敏捷开发中尤为明显。由于存在所有这 些局限性,因此亟需找到一种更好的方法,以便为采用迭代 开发方法且通过多个连续版本交付给用户的应用程序开发安 装项目。 应用程序安装的最佳实践 安装是敏捷开发工作的重要组件。如果不具备迅速、轻松地 安装和卸载一个应用程序的多个连续版本的能力,就不可能 获得有关这些功能的质量和后续工作方向的用户反馈。此 外,困难或耗时的安装和卸载将导致用户拒绝继续使用软 件,令用户无法享受到新功能的直接收益。 因此,采用敏捷开发的软件团队需要利用最佳实践来提供最 佳用户体验,减少支持电话的数量,并提高其软件的认可 度。团队应在应用程序的范围设定和设计过程中规划开发, 确定所需文件以及这些文件的特权和位置,确定必要的注册 表键和这些注册表键的位置,确定所用目录以及条件安装组 件。设计完成后,安装应与第一批迭代中的某个迭代并行开 发。 在开发人员竭力实现新项目的第一次成功构建时,他们必须 同时关注该构建的完整安装包。在基础架构保持坚实可靠的 情况下,稍后添加文件或其他对象时也要确保直观简单。
  4. 4. 敏捷实践和安装开发 4 由于敏捷团队可能会利用持续集成实践,因此安装也应作为 这种实践的一部分。除了持续集成、构建和测试所有软件之 外,该团队还应集成和构建必要的安装包。 最后,团队应尽可能利用自动化。根据敏捷宣言的原则,学 习和使用的简单性同样重要。因此,任何自动化方法都必须 保持简单、灵活、可配置。通过选择正确的工具来支持特定 活动的自动化,即可显著改进敏捷流程。 敏捷安装和 InstallShield 打包和安装应支持组织的业务目标。在许多情况下,这意味 着通过单一安装流程提供多个应用程序和组件。打包和安装 应简化开发、许可和维护,而非导致其更加复杂。长期以 来,Flexera Software 的 InstallShield 始终保持着 Windows 应用程序安装开发领域的领先地位,它使传统和敏捷开发团 队能够满足安装创作需求,以便更加迅速地交付软件迭代。 InstallShield 为频繁面对变化的敏捷团队提供了创建和提供 应用程序安装选项的灵活性。例如,发布工程师可以利用 InstallShield Standalone Build 来自动化安装的每夜构建, 帮助开发团队实现连续构建集成。每夜构建或连续构建是任 何敏捷实践的重要组成部分,Standalone Build 可确保在迭 代完成后立即部署项目。 在团队设置每夜构建或连续构建流程时,不仅可以包含应用 程序构建,还可以包含安装构建。构建可以包含一个应用程 序,利用 InstallShield 2012 Spring 提供的新套件支持,也 可以包含由多个独立应用程序以及相关必备组件组成的套 件。在开发过程中,可以定期测试安装,在开发和测试完成 后,即可直接进行发布。 InstallShield 自动化界面让团队成员能利用脚本添加新文 件,添加或删除功能,启动构建流程,并更改产品名称和 升级代码、发布设置、汇总信息流项目、发布标记和类似 的信息。 经过增强的全新 InstallShield 2012 Spring Collaboration 加 载项让独立开发团队成员能在每次迭代过程中同时参与安装 的开发工作。每一名开发人员或技术作者都可以创建一个或 多个开发人员安装清单 (DIM) - 一种功能定制的相关项目集 合,比如产品文件、快捷方式、注册表条目和其他要素,所 有这些要素共同构成产品安装的独立、逻辑分离的部分。团 队可将 DIM 集成到多个安装项目中,并按需加以重用,从 而提高效率。 InstallShield 的敏捷性体现为团队可以创建集成包,满足广 泛的客户和用户需求。这包括轻松将多种产品捆绑为一个统 一套件安装的能力,从而消除了开发复杂的定制启动程序或 引导应用程序的需要;整合 32 位和 64 位安装包;为最终 用户提供使用用户界面或静默地运行套件安装的选项;允许 开发人员指定是否在“添加/删除程序”中为整个套件显示 单独一个条目;为开发人员提供完整、集中化的用户体验设 计控制。 利用这些功能,敏捷团队即可随初始迭代一起并行设置安装 项目,并在规划和执行后续迭代时保持安装处于最新状态。 典型的安装开发场景从团队的独立成员处理其开发职责对应 的安装单元开始。由于团队成员独立工作,因此其安装组件 必须能在集成后保证协同工作。这些组件彼此结合,共同作 为集成安装包的单元。 InstallShield 特性和功能让这些团队能按计划、高质量地满 足其应用程序交付需求。无论项目属于单独应用程序,还是 复杂的产品和组件套件,InstallShield 支持团队使用敏捷或 传统开发流程迅速、准确地构建安装包,并在需要时集成这 些安装包,通过为客户和用户提供仅选择和许可必要应用程 序的灵活性来满足业务目标。 结束语 敏捷开发团队致力于尽早、频繁地为用户交付正确的软件, 安装的重要性不低于功能和 bug 修复。团队可以在项目启动 之初规划安装,并利用 InstallShield 等自动化工具为迭代发 布准备和管理安装包。结果将能够通过一个应用程序的多次 迭代交付卓越的初始用户体验,同时减轻开发团队的工作负 载,缓解其压力。
  5. 5. Flexera Software LLC 1000 East Woodfield Road, Suite 400 Schaumburg, IL 60173 USA Schaumburg (全球总部): +1 800-809-5659 英国(欧洲、中东总部): +44 870-871-1111 +44 870-873-6300 澳大利亚(亚太地区总部): +61 3-9895-2000 如需查找更多办公地点,请访问: www.flexerasoftware.com 版权所有 © 2013 Flexera Software LLC. 本文提到的所有其他商标和产品名称均为其各自所有者的商标和注册商标。 IS_WP_Agile-Practice_Mar13

×