CMMI工程实践与DevOps(二)
发布时间:2022/3/8 10:16:08 阅读数:1371 发布人:Beyond CMMI
过程改进的建议
确保不要从一个关键的项目开始。关键项目是不允许失败的。而在开始DevOps时,想要获得理解与认可,失败是在所难免的。我们需要从这些失败中吸取教训,不断改进。
从小处做起,我们要清楚实施DevOps不是一个项目,而是一段旅程。这不是一项容易的任务。其中最重要的改变,是将文化和团队心态两方面的重点都放在自动化上。
从自动化单元测试这种简单的事情开始,然后过渡到集成测试、功能测试和回归测试。在每次冲刺开始时,很重要的一点是考虑更好的测试策略,如什么样的测试将是自动的或手动的。然后考虑持续集成和可能的持续部署。基于DevOps实践的自动化过程需要几个步骤,没有特定的终点。
考虑组织面临的制约(如法律法规)。有时不可能实现连续部署,要遵守这些制约,分步完成过程改进。
加速提高团队绩效的另一个方面是从基于文档的实施转变为基于工具的实施。当组织开始实施DevOps实践时,他们会更多地关注能够为整个工作过程带来价值的工具。除了创建文档之外,重要的是关注能够为过程带来价值的工具和集成实践,包括实时验证及向团队提供更快的质量反馈。例如,如果一个过程由工具支持,那么工具的配置就是公司在CMMI评估期间需要提供的证据。由于团队受到标准工作过程的指导,标准工作过程变得更简单了,人们便可以专注于更重要的事情了。
当团队拥有这个过程并且知道它会带来更好的结果时,这是非常棒的。这也是度量指标如此重要的原因。如果你自动化了这些度量指标,人们便不会心存疑虑。当度量结果不理想时,就不会有争议,因为指标已经表明团队需要分析原因,并共同努力找到解决方案。DevOps使得方方面面的人员都参与了进来,这一点是组织实施DevOps实践的一种收益。
改进结论
在实施之初,我们便要引入内部运营和安全专家。这是一项铺垫未来的工作。如果可以让这样的专家参与进来,我们可以使用DevOps自动创建环境,并将基础设施作为服务和代码使用。这将减少环境和安全方面的缺陷。
我们也可以在任何时候开始研究DevOps实践,而无需考虑组织所处的CMMI成熟度级别。比如,我们的一个案例就是在一个差不多成熟度2级的组织中启动了DevOps。我要提醒的是,在所有成熟度级别中实施DevOps都是有很多好处的。
在我们的实施案例中,使用了CMMI-SVC(服务视图)来指导自动化。DevOps可以帮助在CMMI-DEV(开发视图)和CMMI-SVC(服务视图)之间搭建桥梁。我们还希望收集更多的结论,并将重点放在支持领域中,尤其是在机器人的使用方面。
DevOps是一个永恒的旅程,对于团队和组织来说亦是一个有益的旅程。