一、PODE 工作法产生的背景

2020年初,受疫情影响,中国联通软件研究院运营保障与调度中心的各运维研发项目面临如下问题与挑战:

(1)产品化不高
各产品稳定性和性能有待提高,易用性有待改善,产品化程度低,实施推广成本高。

(2)团队协同弱
项目团队成员分布在北京总部,哈尔滨分院,济南分院,广州分院,西安分院,南京分院六个院,团队成员分布比较分散,多院团队的分散办公导致协同较弱。

(3)研发效能低
传统瀑布型与敏捷型研发模式均不适用于当前团队,研发效能较低,已上线产品稳定性低。

(4)自主性较差
团队成员自主性较差,存在“等上派活、等人提需求”的现象。
运营保障与调度中心为解决以上问题,建立运维研发高效协同新生态,创新性发明PODE (Product + OKR + DevOps + Empower)工作法,通过划小产品团队,聚焦团队目标,采用 DevOps 开发模式,授权团队开展工作,如图1所示。PODE工作法在天眼核心研发项目、运行保障项目进行了试点,2020年效果显著,并计划2021年在全部门内推广。本文以天眼核心研发项目组为例阐述此方法论的落地实践。

效果显著,“PODE”工作法,助力运维研发创新实践_PODE

图1 PODE工作法

二、Product

PODE工作法的P即Product,每个产品设立产品负责人Product Owner(PO),PO 可以理解为“产品经理+项目经理”的结合体。

天眼研发团队以价值为导向,采用“平台+应用”的产品设计理念,为了提升产品团队的沟通效率,2020年2月,天眼核心研发项目组按PO理念重新划分了组织架构,划小产品团队,整个项目组划分为生产运营工作台,智能监控告警平台,任务调度平台,调用链&浏览器监控,AIOps,云测试平台产品敏捷开发小组,指定了各产品负责人PO,每个产品团队规模在5-9人,更加敏捷高效。调整后的组织架构如图2所示。

效果显著,“PODE”工作法,助力运维研发创新实践_OKR_02

注意要点:各产品线应尽量独立,减少沟通成本,如发现两个产品线交互较多,当及时合并,基础平台当由一个产品线独立建设,为其他产品线提供服务。

2020年5月,运营保障与调度中心总经理在试用天眼初始版本产品后,发现易用性有待提高,提出“五从文化”核心理念补充到Product方法论中:

(1)从“为上线负责”到“为效果负责”
我们的产品建设采用MVP(Minimum Viable Product,最小可行产品)原则,强调小步快跑、快速迭代。我们更加聚焦产品的使用价值,为用户的使用效果负责。

(2)从“关注管理者”到“关注用户”
我们的产品除了关注管理者,更关注一线用户的效率和体验,致力于解决一线人员的实际问题。

(3)从“能用就行”到“极致体验”
产品不仅满足功能,也要关注用户体验,我们致力于通过精巧的UI设计,可靠的性能,方便快捷的操作,友好的交互等打造“极致体验”的产品。

(4)从“定制化”到“产品化”
我们采用产品化的思维方式,聚焦体现核心价值的产品,致力于提供产品化的解决方案。

(5)从“PC端”到“移动端”
移动互联网时代,移动端是产品发展的必然趋势。移动端设计要求在更小的屏幕上实现复杂功能,并关注用户体验,这也是实现咖啡运维的基础。

三、OKR

OKR(Objectives and Key Results)即目标与关键成果法,OKR的主要目标是明确公司和团队的“目标”以及明确每个目标达成的可衡量的“关键结果”。2020年3月,天眼核心研发项目组使用OKR方法管理跟踪团队目标及完成情况。

1. OKR制定的三步法

天眼核心研发各产品线团队根据项目组年度OKR制定本小组的季度OKR,OKR制定遵循三步法,如图3所示。

效果显著,“PODE”工作法,助力运维研发创新实践_OKR_03

图3 OKR制定的三步法

(1)自下而上,制定产品小组OKR
各产品线成员充分沟通,明确产品范畴,聚焦主要目标,初步制定产品小组的OKR,本环节重点是要让全员参与制定OKR。

(2)自下而上、自上而下相结合,制定项目团队OKR
各产品负责人和项目经理充分沟通,确保产品小组目标与整个团队及组织目标一致,共同制定项目团队OKR。项目经理注意各产品线间互相支撑配合,制定协同OKR,以更好地实现团队OKR。

(3)自上而下,产品线负责人与组员制定产品小组OKR与个人OKR
根据确定的项目团队OKR,各产品线负责人制定最终确认的产品小组OKR,小组成员制定个人工作OKR。针对个人业务和技术的薄弱环节,制定个人成长OKR,实现工作和个人成长相结合,能力在学习和实践中不断提升。

2.OKR四象限(团队、个人)

经历过OKR三步法以后,各产品线、团队成员需运用四象限法则落实产品线与个人的OKR,四象限如图4所示。

效果显著,“PODE”工作法,助力运维研发创新实践_OKR_04

图4 OKR四象限

(1)左上角:本周的工作计划
各产品线负责人制定本产品线的本周OKR,团队成员制定个人本周的OKR。

(2)左下角:本月的计划
各产品线负责人制定本产品线的本月OKR,团队成员制定个人本月的OKR。

(3)右上角:本季度OKR
各产品线负责人制定本产品线的本季度OKR,团队成员制定个人本季度的OKR。

(4)右下角:协同,问题,进步,分享
需要各产品线协同解决的OKR,包括协同开发,问题解决,培训分享等,促进各产品小组的协作和组织目标的实现。

3.项目组工作日历

各产品小组的每周工作日历如图5所示。

(1)OKR规划会议
每周一,各产品小组召开OKR规划会议。根据小组月度OKR,负责人与团队成员共同沟通,制定产品线本周的OKR,团队成员制定个人本周的OKR。

(2)每日晨会
每周二,周三,周四,各划小产品线例行晨会,跟踪各成员已完成工作,计划工作,风险与问题。各产品线负责人及时与项目经理沟通、反馈风险与问题,项目经理总体协调资源,协助解决。

(3)OKR复盘会议
每周五,全项目组成员召开OKR复盘会议。每人1分钟复盘本周完成的工作,公开透明地向全组展示已完成的工作,并提出风险与问题,沟通制定协作与改进措施,并跟踪解决。

效果显著,“PODE”工作法,助力运维研发创新实践_OKR_05

图5 每周工作日历

四、DevOps

DevOps(Development和Operations的组合词),是一组过程、方法与系统的统称,用于促进开发、技术运营和质量保障(QA)部门之间的沟通、协作与整合。它是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。通过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。

天眼核心研发项目组实现DevOps主要依赖于流程、架构、工具。天眼项目组针对各产品线的持续交付现状进行调查研究,并制定了适合本项目的《DevOps标准化流程》,并使用天梯对研发过程进行一站式管理,使用天眼进行自动化测试和监控。图6是天眼产品持续交付图。

效果显著,“PODE”工作法,助力运维研发创新实践_PODE_06

图6 天眼产品持续交付

(1)代码管理:所有产品代码使用天梯的GitLab进行代码管理,并对权限进行合理配置。

(2)编码规范:全员学习了《Java开发手册》,遵守编码规范,本机安装阿里巴巴插件和Sonarlint插件进行代码本地自查,保证增量代码无新增问题。

(3)持续集成:使用天梯持续集成功能进行代码自动编译,构建,使用CQM进行静态代码检查,并实现自动化部署,各产品线在架构上由于使用了“微前端”与“微服务”(技术架构详见图7),具备独立发布能力,故全部采用主干开发模式。

(4)单元测试:开发人员编写代码的同时实现自动化单元测试。

(5)自动化测试和压力测试:使用天眼云测试平台进行自动化接口测试,UI测试和压力测试。

(6)手工测试:团队成员进行交叉功能测试和探索性测试。各产品线负责人进行生产环境的发版验证。

(7)运维监控:使用天眼智能监控告警,前端浏览器监控,调用链等对程序进行监控。

效果显著,“PODE”工作法,助力运维研发创新实践_OKR_07

图7 天眼产品技术架构

五、Empower

Empower即授权,天眼项目组通过充分授权,充分激发团队活力,发挥团队成员的积极性,如图8所示,包括以下四个方面:

(1)领导者
打造“领导者-领导者”管理模式、划小产品团队、授权产品线负责人,打造“中坚层”力量。

(2)自组织
结合OKR,产品线自组织、自奋进、自进化、激发全员的创新力,有想法时只要说明:“我要做什么,为何而做”。

(3)产品线
树立产品长期愿景,赋予使命与责任,人人都做传教士、而非雇佣兵,激发全员活力。

(4)有灵魂
鼓励团队质疑与讨论,不做盲目的遵从,做一个有灵魂的程序员,人人都是“领导者”。

效果显著,“PODE”工作法,助力运维研发创新实践_PODE_08

图8 授权

六、总结

PODE工作法,以产品为愿景增强了员工的使命感与责任感,运用OKR保障核心目标、协同目标、关键结果的完成,同时关注员工的自驱、成长与参与,DevOps从流程与工具上提升了团队的研发效能,授权思维培养打造层层领导梯队。最后,以此工作法与实践分享给全体运维研发同事,祝元旦快乐。

七、效果

效果显著,“PODE”工作法,助力运维研发创新实践_PODE_09

转载:  https://mp.weixin.qq.com/s/f7LTVfCtNyCtTEmxj_xe-g