UML软件工程组织

 

 

面向 SMB 的企业级构建自动化:消除未管理的 SMB 构建过程中的混乱和风险
 
2008-03-07 作者:Cheri Bergeron 来源:IBM
 
本文内容包括:
阅读构建自动化(常常被中小企业(small and medium businesses,SMB)忽略的过程)如何在提高软件质量并支持分布及外包的开发环境的同时帮助减少成本和风险,以及优化资源。本文介绍了 IBM Rational Build Forge Express Edition,它是明确为 SMB 设计并定价的企业级构建自动化框架。

 与小中型组织比较,大型公司开发软件的方式不仅有差别,而且有相似处。尤其是被开发的应用程序的复杂性和功能可能没有真正的差别。许多较小的公司正在构建它们可能为客户寄存的十分复杂且创新的应用程序或商业服务。软件功能的宽度也不随着商家的大小而不同,因为这是由所有竞争的组织所承受的市场力所推动的。

虽然对于团队来说,不管公司的大小如何,开发任务的复杂性可能是类似的,但是可以应用于克服无穷的开发挑战的资源水平经常是不等的。这种差异的一个表现是,较大的公司可以负担以专门的角色培训并雇佣员工,但小公司的开发团队成员经常有多个角色和职责。大公司的团队可以更关注过程,而 SMB 团队经常将几乎全部的努力指向软件功能的生成上。

因此,SMB 团队更可能用手工的构建过程,这个过程可能在不同的版本之间不同,让团队中不同的人执行也不同。当太多的智力资产位于一个或一些人的头脑中时,结果可能是,成本、进度和产品质量的不可预测性和风险是不可接受的。

在本文中,我将介绍中小型公司的开发团队如何管理它们的构建过程,并且讨论处理风险、优化资源利用,以及最大化较小团队的竞争力的一些方法。然后我将从高层次简要介绍用于在 SMB 开发环境中将构建和发布管理自动化的 IBM® Rational® Build Forge® Express 的关键功能。

SMB 领域中的构建管理

在 SMB 领域中,团队可能没有精力去关注软件交付品是如何装配的。它们可能利用构建产品所能采用的任何方法来“鲁莽地做事”。而当软件产品的构建没有标准化的方法时,负压的团队总是犯错。结果经常是时间损失以及凑合的产品质量 —— 在当今的竞争世界中(快速地交付质量好的产品的压力极大)SMB 所不能冒险的产品。

更糟的是,如果 SMB 失去了那个知道所有权构建方法的人,那么它可能“崩溃”。这对于构建服务器本身是一样的。服务器的配置经常随着时间增长并演进,并且大部分或全部处于未管理的情况下。举例来说,只有一个或一些人可能知道在构建中需要使用什么库,以及它们存在哪里。构建服务器甚至可能不被备份,因为它们可能不是支持业务过程的 IT 基础架构的一部分。因此当这些内部产生的系统之一崩溃时,团队可能没有描述其配置的可靠文档。

相反地,如果您能够每次执行软件构建时都详尽地编写服务器配置文档的话会怎样?不仅有消除未编制服务器配置文档的风险的优势,而且这会让您在相同的环境中重新生成构建,进行更快地故障检修。

从构建管理的角度看,许多 SMB 开发环境都存在多重破损点的风险:员工、硬件、软件、过程,和文档。如果这些方面中有任何一些失败了,那么结果将是破坏性的,影响操作成本及客户满意。当重要的人员离开公司,或者硬件失败时,可能不存在安全网可用。当这样的事件发生时,很典型的是,团队从零开始进行新的,同样特定的构建管理过程。这种“重新启动”发生的时间离发布日期越近,它对客户满意、收入,和公司的底线的影响就越大。

类似的崩溃随时准备再次发生,因为由于时间约束和资源的缺乏,基本的过程问题和差异通常没有得到解决。较大公司的开发团队一般通过可靠的构建服务器管理、自动生成文档的系统,和在集中的地方(更多主流的开发组织,而不是一些选定的,可理解的地方)获得重要的软件构建过程的整体更强的能力来处理风险。

当 SMB 团队采用构建自动化时,这些破损点就消失了。替换破损点的是每次可以一贯地执行构建任务的按钮操作,因此产品质量不再处于危险中。集中的构建自动化通过消除“秘方”和许多装配代码所需的专门知识,同样地向更大范围的团队成员开放过程。一旦了解了自动的构建系统,风险就减少了,而且整个开发团队收益了。

更多的选择

资源约束影响 SMB 开发团队的另一种方式是额外施加使用最节省成本的开发选项的压力。这可能意味着外包和/或离岸,尤其是当这些方法可以加速投放市场的时间时。

但是成功的外包常常依靠健壮的过程,并且需要分布团队有效沟通所依靠的基础结构。许多 SMB 开发组织也需要支持远程工作的团队成员,例如不愿意离开处于另一个时区的家的专家或顾问。

在不需要很多额外开销的情况下,构建自动化可以通过创建公共协作的构建管理环境(在该环境中,团队可以看到分布的构建过程,从而有效地分享工作)来帮助 SMB 团队满足这些需求。对构建信息和过程的基于 Web 的,实时访问对于较小的公司来说是如此重要,消除了等待跨时区接收电子邮件或语音消息所浪费的时间。这种非生产时间会侵蚀 SMB 团队的速度和敏捷性。

对客户更好的响应

对比较小的和较大的公司之间的另一个差别是,对于 SMB 来说,每个客户都是至关重要的。当然大型公司拥有关键客户,但是它们的共同的成功或失败不像较小公司那样依赖于和少部分关键客户之间的关系。因此,SMB 开发团队几乎没有出错的余地,它对客户满意很关注。因此当客户报告软件故障时,对于较小的公司来说,回过头来对该问题的解决可能更重要。

虽然隔离并再现问题比实际地修补时间更长,但是缺乏构建管理和文档的这个 SMB 开发团队的地方病会进一步延迟这些工作,并且就团队成员来说,会导致各种的豪言壮语。

因此,您所获得的对再现、隔离,并解决故障的支持(伴随健壮的构建自动化框架)在 SMB 环境中是更关键且有价值的。因为对客户的反应是极为重要的,所以 SMB 确实需要一个全面且精确的“材料清单”,精确地指定交付什么、发生了什么源变更、实际的文件差别是什么、构建该具体的发布版本所使用的系统配置是什么 —— 所有那些“发布版本 DNA”,它对于快速诊断和客户问题的修补都是至关重要的。这是为什么构建自动化对于 SMB 来说是非常强大的有竞争力的工具的重要原因之一。

法规遵循的支持

提供发布材料清单的功能不但帮助 SMB 支持它们的软件,而且还帮助 SMB 围绕法规遵循和企业治理来支持其本身它们的客户来。举例来说,对于医疗设备、制药和生物技术行业的新兴公司来说,对于联邦法规和方针的遵循是最重要的 —— 组织的生存可能很大程度依赖于第三方审计的批准。

面对着为了遵循法规而收集关于软件发布版本的精确且完整的信息的重要需求,SMB 可以通过以下两种方式来响应:

  • 手工收集信息。该方法会主要分散开发和支持软件的团队的核心能力。
  • 使用自动的构建管理系统为您获取所需的数据。

当然,构建管理工具需要能够聚集并组织从任何您拥有的开发工具那里来的审计数据,即使这些工具是来自不同的厂商。举例来说,您的测试系统可能来自 Mercury,而您的源控制系统是开源的。有了此功能,您可以打破信息竖井,将团队的协调管理和过程文档的编制自动化,进一步确保获得关键的过程知识。在任一时候,对于任意版本,您可以考虑该功能来查明用作“随需的审计文档”的内容、系统、过程和控制 —— 这不仅对审计有益,而且对更大范围的开发环境有益。

然而,法规遵循问题对每个 SMB 不是同等地要求,您可能突然发现自己在支持一个需要用于其自己的法规遵循或治理意图而需要详细的软件审计的客户。在那种情况下,预先提出可以满足需求的展望的能力是关键的有竞争力的区分。

更强的战略计划

相对于 SMB 的较大的竞争者来说,它经常依赖更大的企业敏捷性的优势。但如果您不知道打算去哪里,那么您的速度可以造成多大的差别呢?SMB 开发团队需要可以提供对信息的立即访问的自动化,这些信息让它们了解:我们能够履行承诺吗?代码中故障的主体在哪里?如果我们加入该特性会错过截止期限吗?在已知机会的大小的情况下,对比下一个修补版本,在此版本中应该加入什么功能?

当您试图在市场中击败较大的公司时,您需要硬数据,以及对软件装配过程的洞察,这样您就可以隔离出问题,并且准确回答“如果怎么办”的问题。在这点上,构建管理过程可以向商家提供战略信息。

您还可以使用与构建相关的信息来回答关于您自己的开发过程的问题,特别是当过程是分布的时。例如:我们外包的提供者在做高质量的工作吗?值得去了解在接收的软件的质量以及什么代码有错。使用构建自动化,就会很容易地从每夜的构建统计中了解这些信息,这当然比在收到已打包的交付品之后两三个月才查明要好。

在与外包有关的地方,构建自动化就让您将适当的检查和平衡并入开发过程,从而支持项目管理。举例来说,您可以指定在每天晚上构建软件工件,并将其传到本地服务器上。这样,如果您因为不论什么技术或商业原因而不能访问提供者,那么您会有其工作的最近记录。

IBM Rational Build Forge Express Edition

IBM Rational Build Forge Express Edition 提供最新的企业级构建自动化技术,并且特别为 SMB 设计并定价。Rational Build Forge Express Edition 通过一致的,可重复的过程和改进的查找故障错误的能力,帮助 SMB 团队提高软件质量并缩短投放市场的时间。

Rational Build Forge Express Edition 提供的关键特性和好处:

  • 简单、灵活、向导驱动的安装过程,并且带有用于快速采用的示例工程模板
  • 与现有的构建脚本、批处理文件和开发工具相兼容,在利用现有投资的同时,用最小地开支平稳且节省成本地进行实现
  • 用领先的源控制、测试和缺陷跟踪产品,以及流行的集成开发环境(integrated development environments,IDEs)的插件简化集成,从而让您在首选的环境中工作的适配器
  • 能够配置列出构建内容和变更的“材料清单” —— 甚至跨越不同的系统 —— 从而更快地解决问题,更有效地测试,并且流线化法规遵循活动
  • 集中的、基于 Web 的控制台,为了更大的项目一致性和减少了的新项目的设立时间,获取并标准化重复性的任务
  • 通过在领先的 IDE 中自服务地访问预配置的构建过程,增加个人的生产力
  • 错误日志过滤及自动的通知,用于快速地错误侦测和解决
  • 支持分布的,多平台的构建,帮助管理分布的开发场景
  • 本地化为十种语言,全 Unicode 支持,简化全球的采用
  • 用多进度选项来将不同的构建任务自动化,来压缩构建循环(甚至推动更快速地开发)
  • 自编制文档的审查追踪跟踪过程变更,用于更容易地法规遵循管理

随着过程的演进,Rational Build Forge Express Edition 自动地获取、文档化,并保留极其重要的开发和交付过程,因此团队成员不需要为了参与构建过程而深入了解底层的逻辑。在确保了可重复性的同时,Rational Build Forge Express Edition 减少了与未编制文档的或特别的构建规程相关的风险。

Build Forge Express Edition 可以通过将扩展“超过构建”的任务自动化来进一步支持小型团队。作为脚本执行引擎,它可以将各种各样的开发活动自动化,包括测试自动化、Web 部署、应用程序移植,和安装。

打包和融资

在了解了较小的商家经常面对重大的资源约束之后,SMB 可以在吸引人的,且高供给的“收益时付钱”融资计划中购买 Rational Build Forge Express Edition。这反映出 IBM 正在帮助建立的软件定价领域中的新的且成长的趋势,借此,组织可以支付软件,就如同软件通过节省的时间和成本、减少的错误、更大的竞争性的利用、更快的 ROI 等等来向自己支付一样,而不是强迫组织为预先购买分配资金。

反映了以 SMB 为中心的定价趋势的进一步表现之后,IBM 合伙人现在还提供完整的,预配置的“变更和发布管理系统”,并绑定了所有必要的硬件和软件,并且按照类似的按程计费的计划融资。

结束语

对于中小型企业来说,健壮的构建自动化的好处大大超过了控制成本和风险,利用分布的开发模型,甚至交付更大的客户满意。构建自动化使得企业能够进行战略的决策制定,战略的决策制定可以帮助 SMB 绘制出产品开发的方向,并且优化及利用有竞争力的区别。

有了像 Rational Build Forge Express Edition(提供关于您的项目的报告、量度,以及分析功能)的解决方案,您就可以绘制出前进的地方,找到当前过程中的弱点和瓶颈,并且通常更有效且更有见解地进行计划。有了对您的构建和发布活动的扩展性的了解,您可以在前进中越来越聪明 —— 使您能够更快地响应,并且制定更好的决策,这使您能够面对竞争对手(不论它们的大小)。

参考资源

要了解更多关于 Rational Build Forge Express Edition 的信息,请参见 Rational Build Forge Express Edition

Rational Edge 上最近出现的一篇关于 IBM Rational Build Forge 的文章: 对于企业质量管理和构建驱动敏捷性的自动化构建管理

参考资料

学习

讨论

  • 参与论坛讨论
  • 现在开办了一个特别为 Rational Edge 的文章创办的 新论坛,现在您就可以分享您对本文或本期杂志或以前杂志中的其他文章的想法。阅读世界各地您的同行们所说的内容,生成您自己的讨论,或者加入正在进行的讨论。单击 这里 开始。
  • 全球 Rational 用户组社区

组织简介 | 联系我们 |   Copyright 2002 ®  UML软件工程组织 京ICP备10020922号

京公海网安备110108001071号