CMMI工程实践与DevOps

许多人认为,DevOps的唯一用途是帮助实施CMMI中的工程类实践,如产品集成(PI)和技术解决方案(TS)。然而,DevOps可以作为一种帮助组织高效实施过程的策略。它还可以改进验证确认(VV)实践,更好地衡量工作过程的自动化程度,提高质量,降低成本。

很多实施了DevOps的公司还观察到与质量和绩效目标相关的重要定量结果,以及与实施符合CMMI的过程相关的定性结果。

我们实际执行过在实施CMMI 5级的过程中使用DevOps实践。得到的结论是这样的组合对于试图达到高成熟度状态或正在启动CMMI实施计划的组织来说,都是有帮助的。无论CMMI的成熟度如何,DevOps都有助益,如提高生产率和质量、减少返工等。

强调“为什么”

有了DevOps思维,你可以要求团队朝着完美的方向改进,并将这些改进建立在度量指标和最佳实践的基础之上。指导和培训每个步骤的原因是至关重要的。这有助于加速实施并取得成果。

在自动化工作过程和配置工具时,团队需要了解他们这在做什么。当他们理解即将开始的工作和最佳实践时,他们也将理解、正确配置并更好地选择出最适合工作过程和组织环境的工具。

向着卓越转变和关注度量指标是非常重要的。团队必须知道他们会有所进步。当团队理解他们在做什么时,便会提出更多想法,同时感受到自己便是工作过程的所有者。这可以创造一个积极的工作环境,从某种意义上说,也为员工提供了更好的生活质量。

过程改进的建议

确保不要从一个关键的项目开始。关键项目是不允许失败的。而在开始DevOps时,想要获得理解与认可,失败是在所难免的。我们需要从这些失败中吸取教训,不断改进。

从小处做起,我们要清楚实施DevOps不是一个项目,而是一段旅程。这不是一项容易的任务。其中最重要的改变,是将文化和团队心态两方面的重点都放在自动化上。

从自动化单元测试这种简单的事情开始,然后过渡到集成测试、功能测试和回归测试。在每次冲刺开始时,很重要的一点是考虑更好的测试策略,如什么样的测试将是自动的或手动的。然后考虑持续集成和可能的持续部署。基于DevOps实践的自动化过程需要几个步骤,没有特定的终点。

考虑组织面临的制约(如法律法规)。有时不可能实现连续部署,要遵守这些制约,分步完成过程改进。

加速提高团队绩效的另一个方面是从基于文档的实施转变为基于工具的实施。当组织开始实施DevOps实践时,他们会更多地关注能够为整个工作过程带来价值的工具。除了创建文档之外,重要的是关注能够为过程带来价值的工具和集成实践,包括实时验证及向团队提供更快的质量反馈。例如,如果一个过程由工具支持,那么工具的配置就是公司在CMMI评估期间需要提供的证据。由于团队受到标准工作过程的指导,标准工作过程变得更简单了,人们便可以专注于更重要的事情了。

当团队拥有这个过程并且知道它会带来更好的结果时,这是非常棒的。这也是度量指标如此重要的原因。如果你自动化了这些度量指标,人们便不会心存疑虑。当度量结果不理想时,就不会有争议,因为指标已经表明团队需要分析原因,并共同努力找到解决方案。DevOps使得方方面面的人员都参与了进来,这一点是组织实施DevOps实践的一种收益。

改进结论

在实施之初,我们便要引入内部运营和安全专家。这是一项铺垫未来的工作。如果可以让这样的专家参与进来,我们可以使用DevOps自动创建环境,并将基础设施作为服务和代码使用。这将减少环境和安全方面的缺陷。

我们也可以在任何时候开始研究DevOps实践,而无需考虑组织所处的CMMI成熟度级别。比如,我们的一个案例就是在一个差不多成熟度2级的组织中启动了DevOps。我要提醒的是,在所有成熟度级别中实施DevOps都是有很多好处的。

在我们的实施案例中,使用了CMMI-SVC(服务视图)来指导自动化。DevOps可以帮助在CMMI-DEV(开发视图)和CMMI-SVC(服务视图)之间搭建桥梁。我们还希望收集更多的结论,并将重点放在支持领域中,尤其是在机器人的使用方面。

DevOps是一个永恒的旅程,对于团队和组织来说亦是一个有益的旅程。

 

作者:Analia Irigoyen and Mariano Montoni

编译:凡奉信息

原文地址:https://cmmiinstitute.com/news/blog/capability-counts-series-reaching-cmmi-engineering

凡奉首页    管理实践    CMMI管理实践    CMMI工程实践与DevOps
创建时间:2022-02-24 00:00
收藏
2024-01-30