当前位置: 首页 > 科技观察

浅谈携程研发效率提升的实践

时间:2023-03-18 19:02:46 科技观察

1.前言管理大师彼得·德鲁克在其著作《有效的主管》中简洁地指出:“效率是‘以正确的方式做事’,有效性是‘做正确的事’'.效率和效果不容忽视。我们希望同时提高效率和效果,但如果效率和效果不能同时实现,我们应该首先着眼于提高效率。”携程研发效率提升的指导思想是立足于做正确的事,并以“持续、快速、优质地交付有效价值”作为研发效率提升的核心目标,通过不断的改进和探索,使团队思考更有效,工作效率更高。在提升研发效率的过程中,我们遇到了很多挑战,归纳起来核心现象如下:1.目标不一致导致协作效率低下:BigLodging有36个不同规模的敏捷团队,有不到10人的小特性团队,也有10人以下的全功能敏捷团队50多人,每个团队相对独立,存在着不可避免的协作关系。减免和协同作用。当AB团队的目标不一致时,先完成自己的目标或支持对方完成目标的过程会增加很多额外的协作和沟通成本。2.视角碎片化,导致价值无效:产品只负责输出需求,开发只关心任务完成,最终交付验收发现不是想要的功能。这是大型酒店在敏捷转型前遇到的最多的问题。团队成员的碎片化视角导致每个角色只专注于自己熟悉的领域,而忽视了目标价值的交付,最终会造成不必要的浪费。3、基础设施薄弱,导致成本增加:有一种误区认为只要转型敏捷,研发效率就能提高10倍。实践发现,基础设施的薄弱在一定程度上增加了团队的负担。例如,为了持续频繁发布,缺乏自动化测试带来额外的人工回归成本;例如,代码质量不可靠导致测试频繁返工等,不仅在一定程度上影响团队的交付效率,还会导致用户满意度下降。.4、衡量难,缺乏客观的衡量数据:某大型酒店的敏捷转型试点,是从一块物理白板、一堆便利贴、几支油性笔开始的。没有电子信息的沉淀,完成测量的工作量和成本都非常高。当时为了采集测量数据,需要人工记录过程信息,然后用Excel进行整理整合,再进行分析处理。人为的记录和分析,使得数据缺乏一定的客观性,无法很好地衡量团队的改进效果,也无法有效指导团队的改进方向。为改善上述问题,我们从想好、做好、做快三个维度齐头并进,持续优化,深耕:用OKR工作法拉动产研,用MVP实践深入协作,并围绕价值交付使用深入的敏捷实践来创建敏捷企业文化使用DevOps实践来支持快速团队交付。2.OKR工作法——上下同心,目标一致。清晰一致的目标是各部门和组织所有成员合作的基础。共同的目标是组织建立和存在的客观基础,是组织改进和发展的客观基础,也是为组织创造更大价值的必要因素。OKR方法(Objectives&KeyResults)是企业、团队和员工个人目标设定和沟通的最佳实践和工具。它是一种通过结果来衡量过程的方法和实践。同时,OKR也是一种能够促进员工和团队协同工作的思维模式。大容OKR工作方式的推广,有效促进了团队成员之间的紧密协作,同时也面临着更多的挑战:如何将整个组织的力量集中在重要的事情上,如何在组织内部进行组织管理,以帮助战略落地目标横向对齐,消除“部门墙”壁垒,协作更高效如何透明组织和团队化目标,暴露重复、冗余、无价的任务,节约成本面对挑战,BigLodging不断探索和改进:1.推进产学研融合,注重整体价值传递。以敏捷团队为单位,团队的PO/TO与团队一起创造价值,将每个人的工作与团队的目标联系起来。计划评审按季度进行,执行月度评审进度和风险节奏。技术和业务需求都集中在价值的交付上,并在团队内部形成健康的平衡。2.试行产学研结合的行业级季度OKR评审活动。为更好地实现上下左右对齐的目标,提升协同效率,大住宿从今年一季度开始试行部门产研结合的季度规划评审活动。各组会前准备评审材料;审议会议审议材料,并进行讨论、反馈和建议;会后根据会议内容,形成下一季度OKR调整内容和建议。通过活动,大家可以看到各个部门、岗位和其他相关方之间的相互依存关系,明确自身的价值定位,实现团队之间的紧密高效协作。从而打破筒仓效应,最大限度地整合组织资源。3.借助IDEV目标管理工具,更有效透明的OKR。IDEV是公司提供的统一的产品研发管理平台。去年接入IDEV后,BigLodging不仅提高了产品研发流程的透明度,还率先实现了数字化需求管理。结合实践管理,发现明确需求目标可以更好地支持需求的交付。IDEV平台经过沟通设计,开发目标管理功能,支持团队数字化目标管理。将每个需求与专用的KR对齐目标相关联,并使用关联功能来管理相关团队之间的需求。工具支持的信息透明化使团队更有效地协调和相互支持,确保团队之间步调一致,从而实现最终目标。3、MVP实践——共识价值,杜绝浪费O代表一种追求和方向,KR是衡量目标达成的关键结果。为了更好的支持KR的实现,团队统一采用MVP思维。在规定的时间范围内选择最合适的需求,以最低的成本和最快的速度将产品的主要功能和特性信息传递给用户,并通过尽早接触用户、获取客户反馈和市场验证来改进产品,迭代升级以避免无效的要求。为更好地贯彻MVP实践,BigLodging主要采取了以下两个措施:1.合理拆分需求,降低试错成本。需求拆分越小,越容易理解需求,修改成本越低,缺陷越早暴露,价值流动越快,能够越早交付给用户,提前得到反馈。但是,如果需求拆分得太小,批量开发也会增加测试和发布的成本。如何通过合理拆分需求来降低试错成本?大住宿研发提效计划实施过程中,首先对产研需求进行标准化,同意在IDEV上创建的每一个需求都是可以独立交付、独立验收、可以独立衡量的最小维度价值维度。由于产学研角度的差异,会产生不合理的拆分要求。如果研发团队不假思索地接受产品拆分,就会失去对需求的整体理解,也会面临技术实现之间的冲突,也可能会出现代码问题。结构影响。大酒店在需求标准化后,进一步培养壮大了产研团队,共同拆分需求机制并落实到位。2、MVP思想贯穿于需求的整个生命周期。MVP在实际操作中很容易陷入误区。完成MVP后,将不会有后续行动。在MVP的实践中,BigLodging提倡将想法落实到产品的整个生命周期中。线上MVP及时验证,并根据反馈快速调整寻找下一步方向,迭代循环,最终达成目标。敏捷团队在需求评审会上就第一个值达成一致,上线后及时验收需求,进行第二个值同步。对于不符合目标的需求,经过快速排查分析后,会尽快安排在最新的迭代周期再次上线。整个团队始终围绕着持续交付价值。4.敏捷实践——敏捷升级,提升效率敏捷是提高研发效率的又一利器。敏捷开发是一种响应快速变化的需求的软件开发模型。核心是小步快跑,快速迭代。BigLodging从2014年开始实施敏捷转型,让团队实现价值驱动的管理。传统的开发模式除了瀑布接力开发,还有任务驱动管理。在任务驱动的管理模式下,客户第一次看到实现的功能可能是在验收阶段。这时候,需求的变化或者新的功能,都会让开发团队的返工成本难以预料。也有可能为了赶进度而牺牲质量。敏捷开发模式帮助团队专注于实现对客户有价值的需求,让团队专注于真正有价值的事情。大酒店的敏捷转型从Scrum开始,研发团队从只关注需求如何实现,转变为共同关注哪些需求应该优先实现,以及如何更快实现。然而,一个高绩效的敏捷团队不仅需要高效的执行能力,还需要持续改进的能力。任何一种能力的缺失,只会让敏捷停留在“伪敏捷”。酒店研发在转型路上,经常会遇到一些执行不力导致效率低下的情况:站会变成汇报会,只有进度同步,反馈不阻塞。回顾会上没有人发言,这件事与自己无关,否则可能会成为批评会。在计划会议上,在需求计划没有明确确认之前,就开始迭代开发。迭代过程中的反复确认增加了沟通成本,降低了工作效率。针对以上问题,我们做了以下改进措施,以帮助团队提高执行力和持续改进。加大敏捷培训力度,邀请团队成员参与敏捷管理活动,从实践活动中加强团队成员对敏捷中各个角色和会议的深刻理解。明确团队各阶段??的完成定义并督促落实。开展有针对性的评审会议,邀请相关干系人参与,保持频繁反馈,持续改进。早期的Scrum团队更关注软件过程中的活动,而忽略了开发过程中的各种等待时间。添加看板方法可以帮助酒店团队看到没有增值的各个环节。通过看板方式打通产品、设计、交互、开发、测试、BI等各个功能和环节的价值流,通过IDEV需求管理平台实现上下游价值流可视化。改进前团队的重心从“敏捷调度”阶段到“等待验收”阶段。改进后的团队专注于从“需求计划”阶段开始到“完成”阶段的整个产品生命周期。Scrum和看板都是帮助团队尽早交付并持续改进的过程方法。每种方法都有自己的优点和缺点,正确的才是最好的。只有不断实践,不断总结,不断调整,才能真正帮助团队提升。酒店研发方式的选择也是根据团队自身的情况。比如有版本限制的团队采用Scrum,节奏感可以帮助团队提高协作效率。创新业务,注重快速交付团队,采用看板,注重需求价值流和及时反馈。一周交付团队采用Scrum+看板的混合方式,有效平衡速度和节奏要求。ScrumKanban实践核心:简化复杂性实践核心:可视化价值流定义团队角色:ScrumMaster、PO、Team没有特殊规则定义迭代,固定时间框概念(两周迭代)限制WIP(进行中)Sprint开始后的建议新要求不允许。只要生产力允许,新的需求可以尽快交付。经过八年敏捷文化的不断完善,大住宿的敏捷团队大部分已经从“守卫”阶段进入了“破”、“离”的阶段。.1.守,团队可以按照scrum流程实施敏捷,比如团队中有三个角色(PO\SM\Team),团队按照四个会议(站会,计划会,回顾会议、回顾会议)等。2.打破,团队可以根据自己的情况打破敏捷原有的一些规则,更上一层楼,比如根据敏捷的价值观加入其他的东西,比如加入角色TO和添加代码审查会议等等。3.离开,团队成员已经非常熟悉敏捷流程和规范,熟悉敏捷价值观。团队根据自身情况制定相关实践,如PO/TO共创团队OKR等。敏捷实践的升级让端到端的产品、开发、干系人更顺畅地聚集在一起,并采用双赢的协作方式,帮助团队实现价值最大化。5、DevOps实践——提升质量加速交付除了采取目标对齐、共识价值、高效敏捷实践等改进措施外,还需要持续集成和持续发布能力,实现持续频繁交付。DevOps强调通过一系列手段快速稳定的工作流程,让每一个想法(比如一个新的软件特性,一个特性增强请求,或者一个bug修复)都可以在从开发到生产环境部署的全过程中得到落实。能持续为用户带来价值。作为DevOps的重要组成部分,CI/CD的核心价值是效率和质量。一方面,它使整个软件开发过程自动化,以降低人工成本。另一方面,提供相应的质量检验和检测手段,建立完善的质量管理体系。测量系统。酒店研发引入公司CI/CD解决方案,建立完整的准备环境/测试/资源构建/镜像构建全流程环节,帮助项目更快、更高质量地交付。以大住宿某前端研发团队的流水线为例,团队从以下三个目标入手:代码效率产品功能产品性能通过设置代码规范检查、单元测试、UI测试、性能测试等提高自动化覆盖率和集成度的任务提高效率,加强整体代码质量,提前发现问题,最终达到加快交付频率的目的。并通过收集流水线数据,可视化项目流水线执行概况和近期质量趋势,帮助团队用数据思考、使用数据,不断提升效率。总结:OKR工作法保证了团队的正确方向;MVP实践帮助团队专注于目标价值;敏捷实践侧重于快速交付价值并拥抱变化;DevOps促进快速交付并增强自动化能力。四大举措不断完善,最终实现研发效率提升的目标:持续、快速、优质地向用户交付产品。6、如何衡量研发效率的提升?管理大师彼得德鲁克也说过,没有衡量就没有管理。测量最重要的目的是洞察问题,指导改进,衡量改进的效果。随着数字化时代的到来,许多企业已经具备了自动采集绩效数据进行衡量所需的各种实时数据报表。去年接入公司统一的产品开发管理平台IDEV后,BigLodging不仅提高了产品开发流程的透明度,还率先实现了数字化需求管理。BigLodging利用大量客观数据,从目标、价值、质量、效率四个维度进行分析,找到团队的痛点,引导团队去做真正能解决问题的行为,从而持续改进。1、核心目标的比例核心目标价值的比例有助于团队对齐目标和整合资源。我们使用目标管理工具来规范需求与目标之间的关系,然后通过衡量单位时间内交付需求围绕目标的比例来反映团队的目标对齐情况。试点实践中遇到的最大问题是数据失真。数据的准确性与团队相关目标的规范密切相关。需要通过不断的培训和宣传,帮助团队养成习惯,保证数据的准确性。2、需求价值指标需求是价值的体现。假设交付需求是有价值的,交付需求的数量越多,交付的价值就越大。但是单靠需求数量并不能很好的反映团队的交付价值。每种需求的大小和价值各不相同。比如单位时间内可能只交付了一个高产需求,并不代表团队的产出下降了。团队需求价值指标从更客观的维度衡量团队单位时间是否产出高价值内容,剔除高成本低收益的投入。需求价值指数是对团队负责的需求数量、人员数量、预估值、实际值、需求值的正态分布进行综合评价得出的。3.交付质量研发交付质量是指用户感受到的质量,可以理解为在线用户保护的缺陷。影响交付质量的一个重要因素是交付过程的质量。大通主要通过单位时间内缺陷数量的趋势来衡量团队的交付质量。为了减少缺陷数量,研发团队通过内置质量、提前验收等多种方式对交付过程进行质量预保。并通过对在线和流程缺陷的分析,进行归因改进。从自动化、mock工具、自测开发等多方面实施改进措施,持续提升交付质量。4、响应性需求的响应周期和团队持续发布的能力体现了团队的持续性和速度。交付周期是指对用户需求和商机的响应速度。酒店研发以从需求创建到需求上线的平均时间衡量交付周期;开发周期以从代码开始到产品线发布的平均时间来衡量;团队对外响应的衡量标准是单位时间内有效发布的次数和价值的流动速度。经过一段时间的优化提升,大型酒店2周内交付的需求占比呈稳步上升趋势。7.小结我们可以通过各种措施进行改进和改进,但是提高研发效率没有“灵丹妙药”。没有最好,只有更好。我们需要在目标、价值、质量、效率等各个领域进行深入挖掘和思考,共同努力,将持续改进的重点从局部资源效率转移到价值流动效率上,确保全局和效率的持续优化。系统。OKR工作方式:上下同心,目标一致MVP实践:共识价值,杜绝浪费敏捷实践:敏捷升级,提升效率DevOps实践:提升质量,加速交付大迁还在探索更好效率提升的路上方法,就像敏捷宣言中提到的那样,“我们一直在实践中探索更好的软件开发方法,并在做的同时帮助别人。”也希望这篇简短的实践总结能帮助到对研发效率有期待和困惑的你。