企业持续集成成熟度模型ECIMM (1)----前言


前言

我们的持续集成和自动化实践成熟度如何?我们在哪里可以得到针对我们的具体问题和需求最需要改进的地方?其他组织如何解决这些一样的问题?这个指南将帮助你回答这些问题。敏捷软件开发和持续集成同目前企业的大规模、分布团队和严格管理的开发需求的现状之间发生碰撞已经很普遍了,这些导致了在软件开发整个生命周期内的自动化工作量急剧扩大。具有顶级执行力的组织已经跨越了团队级别的持续集成工作,开始尝试企业级别的端到端自动化集成解决方案,这使得企业可以以更低的成本更快的交付具有更高质量的产品。尽管有这些优点,但是业内的自动化实践依然是参差不齐的,很多团队仍然在缓慢且高风险的手工部署中挣扎,而某些团队却可以在一天内进行多次高效且足够安全的产品部署。路漫漫其修远,从哪里开始呢?

 

1.企业多样性

当我们创建这个指南时面临的一个挑战是:一个企业,甚至是一个企业的不同团队之间都具有很大的差异性。医疗设备的需求肯定和游戏制作、电子商务站点增加功能或者创建内部的SOA的需求有很大的差异。单一的成熟度模型不是万能的,因此我们选择了企业持续集成的四个维度(构建,部署,测试和报告)作为一个整体来衡量其成熟度。对于每一个维度,我们通过实践活动的分类来识别对应的等级,并说明每个组织为什么要(或者不要)采纳他们。通过这个模型,你可以了解目前的行业平均水平,并且知道哪些实践你应该继续坚持,哪些实践你已经落后。这个判定标准来自于相关领域内近年来的数百个团队的第一手经验和报告。我们还创建了三个案例来演示如何应用这个模型来满足企业不同的需求,并展示他们如何利用成熟度模型来计划改进以获得最好的投资回报率。


2.成熟度等级

在这篇文章中,企业持续集成各个维度的成熟度等级将会以相同的方式描述。成熟度等级一般情况下都是由低向高的,在这里我们使用五个等级:入门、初级、中级、高级、资深。为了便于理解这些等级,我们先看以“自动化”为例的典型例子:工程师为了完成一个目标,必须执行一个冗长且易错的完全手动执行的过程,以此为起点我们映射其自动化流程的成熟度等级如下所示:

 


作为团队的起点是入门等级,他们开始创建一些简单的脚步来自动运行某些特别慢或者有问题的部分。自动化的好处包括节省时间和减少错误。团队为了进一步的提高达到中级等级,他们在单一脚本里实现了整个过程的自动化。脚本化的结果是流水线化的过程很容易交给其他人执行。团队为了进一步提高达到高级等级,他们将使用某个程序自动调用脚本来替代手工执行该脚本。这个程序可能在后台运行,每次都通过正确的“开关符”,在正确的位置执行相同的脚本;这个程序可能有简单的“一键”触发界面,也可能通过定时器自动传入参数运行。

成熟度的高级等级对绝大部分的过程来说是极好的,因此也是我们推荐的目标。在大部分的团队中,许多工程过程还仅仅在辅助脚本自动化这个级别,因此初级是业内的平均水平。团队缺少辅助脚本不仅仅是思想的缺失,而且落后于整体水平。

 

虽然资深等级的元素只有一个,但是实现它还是很昂贵的,然而他却是某些团队的目标。换句话说,大多数组织将实现资深等级,而少数人则不会。例如,资深等级的实践在某些复杂条件过程需要时会被自动激活调用。这个等级对于大部分的过程是不合算的,但是在某些场景下却是必须的。

 

当然,我们认为的高级或者资深级别都会随着时间而改变。在持续集成刚刚开始时,当代码提交后自动触发构建被认为是疯狂的,但是现在持续集成工具的发展已经普遍支持“回滚”而不再需要牺牲大量的时间和质量,现在它只是中级的一个活动而已。

 


原文:www.urbancode.com    Enterprise Continuous Integration Maturity Model(ECIMM)

翻译:OscarYang(原始发表于http://hi.baidu.com/cmmi/),转载请注明

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值