美文网首页ACT | 敏捷教练工具箱
大型DevOps工具团队的规模化敏捷探索

大型DevOps工具团队的规模化敏捷探索

作者: Waaaaaaa111 | 来源:发表于2018-03-20 21:41 被阅读29次

    背景与挑战

    平安神兵Wizard是平安科技基于20+年金融IT管理经验研发的一站式敏捷管理与持续交付平台,对内支撑了平安集团各专业公司的产品研发管理,对外主要面向金融行业客户输出产品和服务。

    这个产品的团队从2年前开始组建,目前总共有50+人,涵盖了从方案规划、产品设计、技术研发,到推广支持、市场运营、售前顾问、实施交付等各种职能。在规模化敏捷管理上,存在着以下几个主要挑战:

    1、多团队异地分布:团队分布在深圳、上海、成都3地,沟通协作代价增大;

    2、领域专业性很强:产品以研发体系/敏捷/精益/Devops为业务领域,设计/销售/实施都依赖于领域专家;

    3、规划欠缺前瞻性:产品的前瞻性规划依赖于对行业/方法论发展的敏锐把握、及对客户潜在需求的深刻洞察,难度很大;

    4、质量保障挑战大:公司内部推广半年,已有10+专业公司的1000+业务系统在平台持续集成、自动部署、自动归并,质量保障上不容有失。

    规模化敏捷改进原则

    我们借鉴了业界一些规模化敏捷管理的思想和实践,来持续优化产品运作及管理,下文将围绕以下6个改进原则来展开:

    1、目标对齐

    2、可视管理

    3、跨域协同

    4、质量内建

    5、技术创新

    6、学习成长

    团队组织架构设计

    产品的业务架构大致可以分为3部分:

    敏捷管理:涵盖从需求、迭代、看板、版本、度量的全流程管理;

    持续交付:实现编译、打包、加固、扫描、验证、部署的端到端自动化流水线;

    质量保障:提供专项的自动化、性能等测试工具,并与流水线集成

    另外还有一些公共服务,例如统一的用户中心、配置管理、底层代码拓扑分析,等。

    团队组织架构的设计,基本上与业务架构相匹配。

    产品研发划分为3个小团队,1个负责敏捷管理相关服务,分别负责敏捷管理、持续交付;

    包含市场运营、实施推广、方案规划、交互视觉设计、售前支持等职能性小团队,其中有一些是虚拟团队(如EPG人员、敏捷教练兼职参与);

    成立产品委员会,负责维护产品愿景、路线图、EPIC(大的专项需求)列表,EPIC Owner由委员会成员担任,EPIC方案由委员会共同评审;

    设置系统架构师、Devops工程师等公共角色。系统架构师负责产品技术架构、服务划分与治理,定义团队的技术规范,负责架构/基础设施相关的使能特性(Enablers)规划;Devops工程师负责建立及强化产品的自动化持续交付流水线,并指导分层自动化质量保障机制的落地。

    实践分享一:目标对齐

    1、统一团队对产品的愿景、定位、目标客户画像、客户核心痛点及产品(及服务)卖点的认识(详略);

    2、持续规划与更新产品迭代路线图,希望能看到未来2个季度的潜在特性规划;

    3、统一产品Logo、Slogan,拍摄产品形象宣传片。宣传片我们以“川藏线老司机”立意,寓意神兵Wizard产品的专业可靠、客户为先。

    实践分享二:可视管理

    可视化“作战人员地图”,让人员、角色、分工一目了然,方便随需调遣;

    2、借助大触摸屏电视可视化电子看板信息,神兵Wizard跟大触摸屏电视有很好的体验适配,团队每日的站会都是在电视前开的;

    3、建立多维看板管理,包括需求分层看板、销售漏斗看板、产品运营看板、推广覆盖面看板、CoP活动看板等,下图是神兵Wizard团队自身的需求分层看板示意;

    实践分享三:跨域协同

    1、销售过程中建立多角色的协同机制,提升有效leads筛选率及转化率;

    2、产品需求的的管理与流转过程建立多角色的协同机制,提升需求前瞻性,并让需求过程更加有序。在价值分析阶段,我们采用7段论的电梯演讲结构(目标客户、诉求与痛点、产品名称、产品定位、产品价值主张、主要竞品、相对竞品的优势)来分析需求价值;在方案设计阶段,分析需求的流程/场景(业务视角)、实现方案(系统视角),分解Feature并对提供简要描述(名称、业务收益、关键验收条件);在开发排期阶段,分解Story并将高优先级Story纳入最近的版本。

    3、将需求划分为5个领域,建立研发产能分配的参考比例,提供了需求排期、人力分配的指导原则。这5个领域是:产品规划设计、技术架构优化、商业化支持、用户反馈优化、定制化开发。

    4、在反馈管理上,除了系统内置入口、用户微信群、微信公众号、问题上报通道等工具获取,也与其他接触用户的角色协同来获取,包括客户部门的工具推广接口人、服务于客户部门的敏捷教练与项目经理,他们与一线团队沟通,了解用户诉求,并进行初步的问题界定与方案评估,然后提交给产品团队;需求优化实现之后,他们再协助支持实施落地,形成闭环。

    5、协调神兵Wizard各服务的发布节奏,在常规的版本节奏上,部分服务每周一发,部分服务双周一发;

    实践分享四:质量内建

    建立持续交付流水线,实现测试环境从编译打包、代码扫描、部署、测试等全流程自动化,及STG及PRD环境一键部署(含应用包、数据库脚本、应用及环境配置文件等);

    2、构建分层自动化测试体系,包括界面、接口、单元的三层质量防护,单元测试聚焦在系统的一些核心代码上,UI自动化测试聚焦于产品的最核心的业务功能(用例数量在100个以下),把重点放在接口测试,使用神兵Inner平台实现了所有应用接口的全覆盖。

    3、建立灰度发布机制,目前简单的使用了2套环境来实现灰度的发布过程。

    实践分享五:技术创新

    平安神兵Wizard积极鼓励技术创新,到目前为止已申请15个技术专利,还有近20个专利正在申请之中。下面简单分享其中几个:

    1、动态方法链路与拓扑分析。实现了如差异化分析,可比较版本间实际有效的代码修改并定位测试用例集增量测试范围;调用链分析,精确定位代码变更影响链路及定位测试用例集增量测试范围;执行流分析,精确定位变更影响的逻辑分支,可探测测试用例集未覆盖逻辑分支,指导新增测试用例;

    2、基于Docker动态创建环境。通过调用Rancher(PaaS)接口,实现在分钟级完成一个应用的新环境的搭建启动(完成环境创建、中间件部署、应用部署工作),能帮忙开发、测试迅速搭建新环境使用,用完又可以立刻销毁;

    3、PUBBO分布式服务架构。在DUBBO基础上扩展更强功能,实现服务之间的身份传递、验证。角色验证;扩展hession协议,支持文件上传、下载;引入Kryo作为序列化引擎,提升25%左右的序列化性能,等;

    实践分享六:学习成长

    1、持续运作CoP(Community of Practices)实践社区,我们发起了项目管理、测试、开发、产品设计、产品运营、过程改进等6个CoP,同学们自愿报名、轮流主持,持续的组织学习、分享、交流;

    2、建立团队“感谢墙”&“荣誉树“,感谢墙促进同事之间的紧密协作、拉近心的距离,荣誉树增强团队的集体荣誉感、强化奋斗动力,这些里面的内容都是整个团队一起共创的。

    改进成效小结

    1、2017年在平安集团10+家专业公司启动工具推广,目前已接入1000+个子系统,部署效率从小时级提升到分钟级,接入系统中自动化部署占比90%+,平均每日部署次数3.6,累计部署次数68000+,累计节省部署耗时13人年。需求Lead Time也持续提升,整体30天需求实现率提升到90%+,2周需求实现率提升到60%+。

    2、团队成立2年来,在公司内外获取了不少沉甸甸的奖项,如2016公司十佳团队、2017公司卓越工程奖、《金融电子化》评选的科技创新突出贡献奖,等。

    成绩是暂时的,挑战还有很多。规模化敏捷,我们持续探索,依旧在路上……

    相关文章

      网友评论

        本文标题:大型DevOps工具团队的规模化敏捷探索

        本文链接:https://www.haomeiwen.com/subject/nymifftx.html