企业持续集成成熟度模型ECIMM (6) ----案例1:El Emeno投资公司——平衡敏捷和控制

来源:互联网 发布:淘宝运营哪家好 编辑:程序博客网 时间:2024/04/30 15:41

El Emeno投资公司:平衡敏捷和控制


El Emeno投资公司的团队为有价证券的交易者开发交易系统。快速实现新功能能够给他们带来核心竞争力,然而法律方面的需求要求对发布的产品要进行严格的控制和审计。

 

在实施企业持续集成之前,团队发现在提供交易者期望功能方面的优势和安全审计流程缓慢之间处于矛盾状态。不管开发人员实现一个交易者需要的功能是如何的快速,实际上的发布都需要数个签字,手工部署和一个漫长的测试循环。作为弥补,发布工程师被要求加班到深夜或者周末加班来完成部署以及文档准备,陷入了“加班--疲劳--犯错--纠正--再加班”的恶性循环。

 

因此,El Emeno在实施企业持续集成时将自动化和可追踪的部署放在第一优先级上。安全的“一键部署”将加快部署过程,同时提供安全性和可审计性。El Emeno努力达到部署的中级等级,以尽可能快的减轻发布工程师的压力。他们实现了常见的早期测试环境自动部署,解放了发布工程师的双手。

 

下一步是扩展到产品发布自动部署。因为产品部署的敏感性,在最初实施企业持续集成系统时进展缓慢。一个面向指定角色人员的、满足速度和可审计性业务需求的、进行限制的产品部署系统,克服了运营方面的阻力。实现高级的部署成熟度证实解决这个问题是值得的,因为当进行产品部署时不但产生的错误少了,而且延迟也少了。


为了支持中级和高级的部署,El Emeno建立了构建产品仓库来提供需要的可追踪性。其他的中级构建实践(例如配置库依赖、集群构建和持续构建)不在关键路径上,被放在后面来考虑。初级的构建成熟度,再加上一个可靠的工件配置库是一个不错的开始。


当审计检查和用户测试的质量不高时,团队知道错误的代价是昂贵的。一旦部署流程可以流水化,团队将优先建设测试相关的基础设施。基本的自动化回归测试将在每个构建后自动运行,以此替代测试工程师进行的手工冒烟测试。这些使得他们更多的执行探索性测试,以使他们能够发现用更少的时间发现更多的缺陷。

 
随着企业持续集成系统的实施,团队公认有机会在生命周期早期发现软件安全问题。在实施企业持续集成之前,所有的发布都是在生命周期后期进行安全评审。在弄清楚自动功能测试如何使得他们在开发周期内更早捕捉到缺陷后,团队决定让安全检查工具也这样。现在他们每天都使用静态分析工具进行安全扫描,虽然安全扫描通常被认为是一个高级技术,但对金融领域内的El Emeno来说却是一个很自然的事情。


对于El Emeno来说,维护开发历史记录来提供一个清晰的构建日志,同变更历史记录和测试结果一样都是高优先级的。在企业持续集成实施之前,这些信息就是存在的,但是由几个不同领域的工具分散提供。当持续集成系统提供了整合的数据后,El Emeno发现他们的合作更加有效而且用时更少。当他们第一次进行企业持续集成审计时,他们能够向审计师出示任一选择部署的完整日志,构建的变更历史,自动测试的结果以及清晰的安全扫描记录。对此审计师十分满意。


El Emeno还尝试挑战更敏捷的维护控制。对于他们来说,企业持续集成是一个构建生命周期内完全端到端的可追踪的解决方案。这不需要十分复杂的自动化构建,但是需要成熟的部署和报告能力。

原创粉丝点击