级别: 中级 Khurram Nizami (knizami@us.ibm.com), 全球技术推广,
IBM
2008 年 3 月 26 日 这篇文章描述了使用有 IBM®Rational®Build Forge™,能够帮您开始快速意识到利用一个软件交付自动化解决的最佳实践。具体的说,它将涉及基本计划和基本原则,初始部署和规模的考虑,创立您现存的过程,以及您启动并运行后的方向和目的。
自动化操作软件交付过程
软件交付过程的自动化很可能就是软件开发生命周期(SDLC)中现代化的“最终边境”。当今,许多企业通过利用客户解决方案来自动化他们的交付过程,从而开始他们的第一步。这些解决方案能够帮助企业制造所应得的,而忽略了协调,组织以及自动化交付过程的实际价值。
这篇文章描述了使用有 IBM®Rational®Build Forge™,能够帮您开始快速意识到利用一个软件交付自动化解决的最佳实践。准确地说,它将涉及基本计划和基本原则,最初的部署和批量分配的考虑,创立您现存的过程,以及您启动并运行后的方向和目的。
成功的策略
正确的计划和策略通常能够导致最终的价值和快速失败之间巨大的差别。您的软件交付自动解决方案不应该是一个大爆炸式的部署。相反,应该阶段性执行,应该重点强调以最低风险获取最大价值的自动化过程。这需要您评估现存的软件交付过程,决定其中的哪一个适合这个脚本。
并不是所有的项目或者软件交付过程都能够或者应该最初就是自动化的。您可能会发现能够准确地运行复杂地交付过程是很吸引人的,因为伴随它们的是昂贵的管理费用和潜在的价值。然而,您只能在成功建立更简单的交付过程之后才能运行它们。
复杂的交付过程包括多个工作流程和用户组,处理多个条款,需要来自多个存储空间和数据源的集成,以及在多个环境中进行操作。简单的过程通常包含来自单一数据源的信息和集成,有一个主要的用户组和一个平台或者环境类型,并且只需要交付的自动化操作穿越两个或者三个环境。
一个有效的策略是,从您现存的软件交付过程列表中选择选择一个单一的项目 或者过程,然后利用您所希望的软件交付自动化解决方案来引导一个校验值。这将帮助您为软件交付自动化能够带您企业的价值,提供一个很有说服力的案例,同时还能让您快速实现这些利益。您应该慎重确保您的软件交付自动化工作没有偏离您所选择的项目的目标。您还应该确保自动化项目调用了正确的人力和资源。
此外,您应该考虑如何清楚地向您的企业说明软件交付自动化解决方案为企业所带来的价值。您的商业价值分析应该包括您在生产率中的改进,成本的节省,以及时间和销售。您还应该说明您如何证明解决方案的投资回收率和收支平横点。
例如,如果您的企业主要基于项目的企业,那么您可以把您的软件交付自动化解决方案作为一个与其它费用共享的服务来表达。当项目来评价这个方案时,这样可以帮您的软件交付自动解决方案自己为自己买单。您还可以进一步阐述这个解决方案向单个的项目所提供的附加值,以及这个方案是如何将企业作为一个整体使之受益的。IBM Rational 有助于您进行软件交付过程自动化的计划和价值分析。
启动并运行
一个软件交付自动化解决方案启动所需要的硬件在很大程度上是根据您的过程,过程步骤总数,以及项目数量和同时进行的活动用户数量来确定的。您可以在对它们进行较大范围变更之前运行您所选择的过程,使它对您的交付自动化解决方案产生效果。这样您就可以为您的过程执行设定基准的点,还可以用数量易控的变更进行不断的改进。
您最初的软件交付自动化部署还不需要过多的硬件和资源集中化。您的硬件规格将很大程度上取决于将要同时执行的项目的数量,其次取决于同时使用的用户数量。下面的硬件概要就是支持同时有100-150个用户时部署的例子:
-
操作系统:Microsoft®Windows®
-
硬件结构:服务器质量,双核处理器
-
CPU:2 GHz
-
RAM:2 GB
-
HDD:200 GB
利用 IBM Rational Build Forge 作为一个例子来讨论,您最初的配置中应该在您所选择的软件交付自动化服务器上安装 Build Forge 引擎和核心。然后要在服务器上 Build Forge 构建和完成它的工作的位置安装 Build Forge 代理。例如,您可以在您的开发、测试、试生产,以及产品服务器上安装这个代理,因此 Buid Forge 就能够组织使您的软件发布穿越这些环境。
下一步您将确保 Build Forge 能够访问所有与它有相互作用的存贮空间和数据源。例如,您的交付过程可能会从 IBM®Rational®ClearCase®以及其它存储空间中检索和整合资源。 Build Forge 支持大量的适配器与不同的数据源进行接口。
Build Forge 支持水平和垂直的扩展性。这意味着当您利用少量昂贵的服务器来构成计算资源时,Build Forge 将利用对服务器增强硬件的方法,当您采用多个低成本服务器时,为了灵活的下载平衡 ,Build Forge 允许您集成不同的物理层。将一个 Build Forge 配置转移倒一个新服务器是十分容易的事情,它可以让您将一个较小的服务器配置转移到您所希望的较大的,多个服务器中。Build Forge 还支持服务器虚拟化,让您能够最大化您的硬件资源的价值。
执行您的过程
当您执行一个软件交付自动化时,并不意味着您要重新设置您的交付过程。事实上 ,您最初的目标应该跟您的软件交付自动化方案一样商业化。在您启动和首次运行之前 ,您只需要花费很少的时间来编写新的脚本或者使您现存的过程流线型化。
企业经常会犯的错误是,利用一个新软件交付自动化系统同时彻底地执行新的或者相当重要的更新交付过程。您的主要目的启动现存的过程并它,因此您可以使您的软件交付自动化系统对您的项目结果产生的变更减少到最低程度。因此仅仅一天的时间,您的过程不会,也应该不会像您所期望的那样达到最理想的状态。
首先 ,在您现存的软件交付过程中采用这些步骤,与先前存在的过程脚本一起,将它们转化为 Build Forge 项目的过程。较大的过程事实上可能是多个,相互相互作用的过程一起运行。在单独的项目中,您可以执行这些相关过程的不同工作流程,然后创建一个可以对它们进行在线执行或者将它们联系在一起的主要项目。不要忘记了告示和进度表:您的软件交付过程并不仅仅局限于运行在一个服务器上的事务。
当您的交付过程启动并运行之后,您可以重新访问过程中的步骤,找到一些机会和改良点。您可以克隆您正在增强的 Build Forge 项目,然后将这个克隆作为您增强的一个测试区域。通过寻找平行的步骤执行开始您的过程改良工作,然后重构或者删除一些步骤。您还可以添加一些可选择的通过/失败执行来使您的过程自动化更弹性或者减少干涩。
Build Forge 可以使您轻松且快速地评价您的过程的健康状况,这个综合性的报告包括迭代速率,性能,最优化等等。逐渐改良和证明您的软件分发自动化方案的价值不仅可以降低风险,而且能够加强您的组织支持和维持软件交付自动化的实行。
现在该做什么呢?
当您逐步走向成功时,Build Forge 的真正实力和价值也得到了体现。一个基于 Build Forge 的软件交付自动化方案 可以使其它项目和客户更加容易地采取软件交付自动化方案。
软件交付自动化不仅仅是构建自动化。软件交付自动化方案的真实价值是灵敏的管理和对软件交付第一步进行监督。例如,利用 Build Forge 您可以为您的利益相关者们自动产生和交付释放报告。这些报告可以您的需求,变化以及测试结果,然后向您提供一个软件交付的综合性生命周期的见解。
您首先要做的事情是再次访问您的自动化过程,寻找可重新利用的步骤。例如,要寻找的一些共同的可重新利用的步骤有以下这些:
- 从各种存贮空间中恢复源代码
- 应用软件包
- 部署到各种环境中
接下来,您可以看看资料清单(BOM)报告并对它进行制定,使其包括您认为比较重要的信息。Build Forge 可以让您轻松地更新在对 BOM 信息存档时用来与各种系统和存储器相互作用地适配器。
您还可以为 Build Forge 扩充用户基础使包含更多的角色,为他们提供更大范围的自助服务选择。例如,您可能拥有海边的开发小组,在分布式软件交付过程中他们也需要控制。利用 Build Forge,您可以 为这些小组提供自助服务的通道,授权他们可以在没有其它小组介入的情况下影响和更改这个交付过程。
您可以提供渐进式安全和存取控管,这样不同的角色和小组只对认为可接受的区域产生影响。这只是当您仍然维持必要的管理时,如何能够使您的小组保持敏捷的一个例子。
最后,您还可以打破软件交付自动化的边界,从 Build Forge 中获得更大的价值。例如,客户利用 Build Forge 应用于许多创新软件,包括常规系统管理任务,比如:
软件交付自动化的价值远远不只是构建自动化。软件交付自动化能够向在时间和敏捷灵活度方面向您提供重要的利益。快速启动并运行,证明价值,并不像您想象的那样困难。
查看参考资料部分,探究 Build Forge 怎样能够帮您的企业快速从软件交付自动化方案中获取价值,以及怎样使您达到商业目标。
下载 | 描述 | 名字 | 大小 | 下载方法 |
|---|
| Article in PDF format | BF_SW_delivery_automation.pdf | 90KB | HTTP |
|---|
参考资料 学习
获得产品和技术
- 在 developerWorks Rational 专区的Build Forge 区域可以为构建和发布工程师和管理者找到更多资源,包括文章和白皮书、培训练链接、讨论论坛,产品文献和支持。
- 在 developerWorks Rational 专区的 Rational ClearCase 产品专题 可以为 ClearCase 用户和管理人员找到更多资源,包括文章和白皮书、插件、脚本和触发器、培训链接、讨论区,以及产品文档和支持。
- 在 developerWorks Rational 专区Rational ClearQuest 产品专题,ClearQuest 用户和管理人员可能找到更多的资源,包括 ClearQuest hook、Eclipse 插件、产品文档、文章以及白皮书。
- 下载IBM 产品评估版本,熟练掌握 DB2®、Lotus®、 Rational®、Tivoli®, 以及 WebSphere®的应用程序开发工具和中间件。
讨论
关于作者  | |  | Khurram Nizami 负责全球范围 IBM Rational 团队产品的应用。Khurram 的专家技术通过运用实际的解决方案帮助客户和 IBM 来挑战面向当今的软件交付社区。Khurram 的专业技能和所感兴趣的区域是全球化开发和交付(Global Development and Delivery,GDD)。 |
对本文的评价
|