Post date:2023-09-20 15:02:39
随着数字化进程的不断加速,传统的IT架构“厚、重、笨”,需求支撑的周期长、速度慢、长链条、紧耦合、灵活性差,严重制约了业务创新模式的发展。基于此,五矿信托开启探索企业级的DevOps建设,引入DevOps工具链加强流程体系建设,用统一的工具链实现稳敏双态实践并行,确保项目质量与管理的“可视、可管、可控、可信”。
01. 公司科技建设摸底,明晰改进方向与目标
兵马未动、粮草先行。公司级DevOps体系建设过程中,首先要摸清科技建设情况,避免闭门造车。关于CI、CD、DevOps等情况,前期的摸底工作必不可少,经过调研,各项目组已经基本实现DevOps相关过程,相关工具链的使用也都有了一些积累,包括技术、规范、工具、理念等。但在以下方面还存在改进空间,这也是大多数公司的现状和需要提升的方向。
1)效能管理:研发过程中没有全流程度量统计,端到端的跟踪报表需要手工出,没有针对团队、个人的数据分析,从而不好衡量团队的产出。
2)需求管理:各个团队各自管理自己的需求,工具没有统一,知识库、应用的制品库等相对割裂,不方便统一管理。
3)研发过程:在研发过程中,特别是从代码的编译打包到环境部署阶段,还有很多的人工操作,且单元测试或者自动化测试覆盖率有待提升,测试用例未与需求做强关联。
4)技术积累:对于相同领域和方向各个团队的技术架构没做统一,需要聚焦几个框架才能保证后续研发的效率与质量,DevOps平台工具都是各自搭建,没有统一标准,在使用和维护方面投入较大。
02. 公司级DevOps 体系,落地最佳实践
DevOps平台要真正在企业内部落地需要从管理、规范、行业标准、实践、平台改进五个方面做好保障支撑。一是需要公司的支持,DevOps体系推广第一要义是要有领导的支持,明方向,定原则。二是要有相关制度配合,建立完整的制度、指标和考核标准。三是通过行业权威认证、包括成熟度评级、各种相关行业业内组织标准,与业内深度交流。四是培训实践,在内部做好培训,包括工程域、管理域,具体的工具链、敏捷工程实践,理念、方法、技术等,并且还要通过试点实践。五是对平台及工程域、管理域相关制度持续改进,迭代过程中调整改进功能等。
在DevOps体系具体落地过程来看,首先从各个团队中选取合适的项目进行试点,以便在实际操作中验证这些策略的有效性和可行性。接着根据一期建设内容拆解需求任务并细化具体模块能力实现,各团队成员根据拆分任务划分工作边界,确保每个团队都能专注于自己的领域。由DevOps团队牵头整体系统建设计划,明确具体的分工责任人。制定项目计划(包括进度计划、风险计划、沟通计划)、周报制度和例会制度,成立小组,制定阶段性的成果或者日作计划,跨小组共同建设部分,做好配合协作制度。建立版本管理方案、代码库迁移方案、DevOps平台权限管理方案、命名规范和用户手册等制度规范,成熟度模型评价体系等。
此外,落地时还强调了团队之间的协作和沟通的重要性。通过制定项目计划周报制度和例会制度等措施,确保团队成员之间的信息共享和问题解决能够及时有效地进行。同时,跨小组共同建设部分也有助于加强团队之间的合作和交流。例如可以组织定期的技术分享会议或者团队建设活动,以促进不同团队之间的互动和知识传递。
最后,还要注重质量保证和持续改进,通过建立统一的质量和衡量标准,确保所有团队都遵循相同的质量标准和最佳实践,从而提高整体产品质量。同时,实施监控和度量工具,收集数据并对项目进行持续改进,使软件生产活动能被持续度量、反馈、优化。例如,可以使用开源的监控工具来收集应用程序的性能指标和错误日志,并使用可视化工具来展示数据结果,帮助开发人员快速定位和解决问题。
03. 重塑研发管理效能,实现稳敏相融
五矿信托针对流程体系建设和平台支撑能力进行了双向探索。在流程体系建设上,搭建起统一的DevOps工具链;在平台支撑能力方面,围绕流程规范、工具能力、运营服务等构建起全新的DevOps能力体系。实践中,五矿信托把工具体系相融合,通过端到端一体化方式推动稳敏双态开发、测试及发布流程(如图1)。以质量风控流程为例,基于需求管理、代码管理和相关DevOps工具链集成,在代码仓库上,通过工作项目ID能够与代码进行关联,并在需求管理工具上可以看到需求信息、开发信息和反馈信息、测试用例及一些Bug情况。
04. 贯彻工具平台落地,提升研发效能
五矿信托通过组建虚拟团队,拆解任务需求,细化成员分工,实现DevOps平台在企业内部落地。在持续改进方面,通过DevOps平台对研发全生命周期可控、可视,自行识别短板,进而持续迭代优化。同时,导入敏捷实践、看板实践和研发过程管理系统,实现对人员、团队、组织的透明化管理;增加数字化分析能力,通过设定度量指标体系、提供组织级效能分析、提供对接外围的数据接口等让组织效能看得清;完善DevOps生态链,从衡量研发投入产出、生成版本发布计划等环节提升平台能力,形成最佳实践,帮助企业各研发团队更好地、更规范地去使用平台,实现研发效能整体提升(如图2)。
05. 统一DevOps 工具链管理,让价值流真正流转
DevOps平台功能分为过程管理、持续交付、测试管理三部分,上有统一的平台权限管理,下有统一的安全能力质量保证,做到从需求、研发、测试、部署,端到端的自动化流转与全方位管理,让价值流真正流转起来。在实施中,五矿信托通过工具支撑敏捷管理项目流程、构建集成、部署等能力,实现流程编排自动化;统一管理测试用例,把测试管理环节纳入需求交付整理流程,启用自动化引擎指定执行测试脚本,精确度量,实时监控,提高测试有效性。
「DevOps平台功能分为过程管理、持续交付、测试管理三部分,上有统一的平台权限管理,下有统一的安全能力质量保证,做到从需求、研发、测试、部署,端到端的自动化流转与全方位管理,让价值流真正流转起来。」
五矿信托申请演示