01.为什么要做DevOps能力成熟度评估?
当一家公司开始尝试通过DevOps方法论来提升IT部门的研发效能一段时间后,作为公司的决策者,可能会希望了解自己公司当前的研发效能改进情况,以及在同行业中的水平;同时,也想知道未来一段时间内可能达到的状态,以及如何衡量整个研发团队的产出和质量等。
为了解决这些问题,决策者期望能有一个通用的、行业认可度高的能力成熟度模型,来评估企业的DevOps成熟度。这样,企业可以明确自己当前的建设水平,对于表现好的方面,持续保持并力求稳中有进;对于表现不佳的方面,积极寻找解决方案,持续改进和提升。
02.成熟度标准模型如何选择?
目前,整个业界存在多种成熟度模型,常见的有:
中国信息通信研究院(以下简称“信通院”)的DevOps标准是国内较早推出的DevOps领域标准,对相关规范和工艺细节要求严格,已有较多企业和案例通过认证,具有一定的市场影响力。该标准划分的能力域较多,与软件研发、交付领域紧密相关,且企业普遍选择通过的是其中的“持续交付”能力域(即标准3)。
接下来,我们就基于信通院的DevOps标准进行相关的介绍。
03.如何进行评估?
不管是哪个成熟度模型,大致都是从团队组织管理的成熟度(软的方面)和工程技术的成熟度(硬的方面)两个大的维度来设计和评估的。
信通院的DevOps标准,将成熟度划分为5个等级,呈现递进的方式,高级别内容亦包含低级别内容,无需重复引用,如下表所示。
在信通院DevOps成熟度模型中的标准3-持续交付,其分级技术要求包括:配置管理、构建与持续集成、测试管理、部署与发布管理、环境管理、数据管理、度量与反馈等7大能力子域(其下又包含14个能力项和49个能力子项),如下图所示。
下面针对其7个能力子域,展开说明一下其评估要点:
1)配置管理
分为版本控制和变更管理两个能力项。在版本控制方面,主要考察版本控制系统和分支管理的使用情况,以评估研发团队的开发成熟度和代码管理规范的遵循程度。同时,制品管理和单一可信源则强调代码库、制品库等数据的安全性和一致性,以及相应的管理规范的执行。在变更管理方面,主要评估需求/缺陷与代码、制品等配置项的信息关联与双向可追溯性,以及自动化回滚等相关操作的实现情况。
2)构建与持续集成
分为构建实践和持续集成两个能力项。构建计划、构建职责、集成频率、反馈周期等方面的评估,侧重于考察团队在持续集成层面的能力成熟度,以及相关管理规范的完善程度和执行情况。而构建方式、构建环境、集成服务、集成方式等能力子项,则更多地依赖于工具/平台的技术支撑能力。
3)测试管理
分为测试分层策略、代码质量管理和自动化测试三个能力项。测试分层策略要求涵盖代码层面的单元测试、接口/服务层面的接口测试、功能层面的UI测试以及非功能性测试,并设定相应比例和管理规范要求。代码质量管理方面,强调要有组织级质量规约,并能自动化执行(需自动化工具支持),同时要求及时处理和反馈问题。自动化测试则依赖于自动化工具,完成自动化测试的开发、执行和分析。
4)部署与发布管理
分为部署与发布模式、部署流水线等两个能力项。部署与发布模式,强调的是部署相关一些管理规范要求、部署策略、应用配置分离策略、容器化等。部署流水线,主要考察的是相关流水线工具的技术能力。
5)环境管理
这个能力子域主要考察研发环境是否有统一标准规范要求,环境构建是否有平台自动化、自服务能力,环境的依赖和配置是否可实现基础设施即代码的能力等。整理来看,也是比较偏向于工具/平台的技术硬实力。
6)数据管理
分为测试数据管理和数据变更管理两个能力项。测试数据管理,重点考察测试数据来源、数据覆盖场景、数据的独立性等能力。数据变更管理,则主要关注流水线能力,以及数据库备份、回滚、监控等能力。
7)度量与反馈
分为度量指标与数据管理、度量驱动改进两个能力项。度量指标与数据管理主要考察指标定义、指标收集规则以及指标的更新机制。度量驱动改进方面,则对度量工具和持续改进机制都有较高的要求。
04.成熟度评估的价值
那么成熟度评估对企业能带来哪些价值呢?可以从以下三个层面来说明:
05.评估方式及成熟度标准建设建议
成熟度评估的方式有两种:一种是企业内部自评,通过自评可以了解自身的强项与弱项,从而进行有针对性的补强和优化;另一种是邀请信通院专家进行官方评估,以获得认证证书,进而提升企业的社会认可度和知名度。具体选择哪种评估方式,应根据企业自身的实际情况来决定。
关于如何选择评估方式,这里有一些建议。例如,可以先选择1-2个项目参与信通院官方的认证。这一过程中,企业不仅能深入理解和认知成熟度标准,还能积累通过评估的经验,并最终获得官方认证证书。
在获得官方认证后,企业可以在信通院标准的基础上,进行调整和优化(取其精华,去其糟粕),从而构建并制定符合本企业特色的DevOps成熟度标准。这样的标准不仅有助于企业进行内部评估与推广,还可能实现成本更优、效果更佳的评估效果。
申请演示