作业调度平台建设的关键要素
1)架构层面采用集中管控和分布运行模式 2)作业调度平台的柔性 3)高可靠性 4)管理监控运维能力
02 DevOps:建立数字化的软件生产线
软件生产过程中的十四大浪费
技术中台设计原则中提到了精益运营理论TOC,落地以DevOps为核心的数字化的软件生产线时也是利用TOC方法论来审视软件生产的全流程,查找其中的瓶颈、制约因素和浪费,然后考虑和践行解决方式,通过度量来考察成果。先来看一下普遍存在的浪费现象。
金融企业科技部门的主要流程分类
大中型项目全生命周期建设和投产流程,通常用于大型项目群的管理过程,以及新增系统的建设管理过程。
小型项目全生命周期建设和投产流程,通常用于已有系统的优化、依据业务或技术迭代进行变更管理的过程。 紧急上线流程,通常用于基于SLA保障的紧急处置过程管理。
数字化的软件生产全流程融合
基于DevOps的数字化要与软件生产线全流程相融合,不只是需要软件生产的全流程第一级的流程环节,还需要第二级,甚至第三级的子流程(或流程活动环节)。
我们建议进行如下梳理工作:
每个流程活动对应的输入,明确其必选项和可选项,明确其必选项的检查标准(是否可将其结构化,是否可通过程序自动检查其完成程度)。每个流程活动对应的输出,明确其必选项和可选项,明确其必选项的检查标准(是否可将其结构化,是否可通过程序自动检查其完成程度)。每个流程活动对应的角色,通过RACI(R:流程由谁发起,A:由谁负责审批,C:如有问题咨询谁,I:流程完成后通知谁)的模型进行表述,从而明确此流程活动的分工操作界面。要完成此活动需要使用的工具,并且结合其输入、输出,能否将其加工生产的过程自动化。
我们在分析完每个二、三级子流程(活动)之后,可明确各串联流程活动之间的交付物(此输出为彼输入),以及交付物的质量标准(必选项是哪些,必选项要完成到什么程度才能流入到下一流程活动环节),每个活动的分工梳理清晰之后,才能打通各活动对应的工具形成自动化的工具链,使工件自动化流转。
打造数字生产线需要做到的五个统一
通过以上的讲述,希望大家能够理解,软件生产过程中的精益运营没有那么的“阳春白雪”,更多做的是“下里巴人”的事情。在工业生产中,精益改进体现在流水线工人是通过按钮、还是通过扫描枪、或是通过拉绳通知下游工序环节。如果用了按钮,按钮是放在流水线上(会不会引起误操作),还是放在旁边的柱子上(要不要工人起身)。在软件生产中,其实也是一样的道理,开发人员的代码是每日提交还是单个功能开发完后提交,后续触发的代码评审是每天都审核代码,还是按功能点审核。以上种种都是要在实践中摸索和实践才能找到最适合的点,并且每个组织又因为自身的情况,解决方式又不尽相同。
度量与引领性指标必不可少
基于金融行业的特点,提供一些度量视图的建议,从而使我们通过度量,在了解如何建设数字化的软件生产线基础上,能够持续优化我们的生产线。
项目群视角:项目群是金融科技管理过程中一个很具特色的项目协同管理方式。在金融企业中,通常单一业务需求或合并后的业务需求会触发多个系统的配合改造来满足,这就出现了一个主项目、多个配合项目协同开发、协同投产的情况。部门视角:部门视角则是由科技管理团队/部门划分来决定,并为部门管理来提供决策支撑。在金融企业中,通常按核心类、渠道类、管理类、信贷类进行部门团队的划分。建议将一些引领性指标引入到部门管理之中,并按日/周提供报表、排名、风险等,帮助部门管理者提供决策依据。单一系统视角:对于单一系统,依据系统的重要程度和团队大小的差异,开发模式通常分为多月度版本(多特性)并行(如:核心和信贷等系统)和单月度版本串行的模式,也可能根据建设周期的不同在两者之间进行切换。