以智能化驱动研发流程转型,开启业务新征程
文章来源《确定性运维2.0案例集第3期》
一、业务背景
S企业聚焦汽车智能化赛道,业务覆盖数字地图、导航、定位服务等多个领域。随着市场需求不断变化,传统的研发模式和流程难以应对当前挑战。为此S企业引入华为云软件研发工具链CodeArts,结合先进的敏捷研发实践重塑企业研发流程,打造高效灵活的研发团队。缩短产品交付周期的同时,提高了产品质量和稳定性,奠定业务可持续发展的坚实基础。
二、业务现状
当前业务主要面临以下6个挑战:
需求管理:各部门及分公司需对需求管理工具进行整合;各团队对需求拆分粒度不一致;缺少统一的方法论作为设计和评审的依据。
过程管控:目前采用瀑布研发模式,开发和测试周期不固定;开发迭代周期长,面对业务需求量增长,过程风险管控较难;缺少规范的软件开发流程和明确的输入输出要求。
配置管理:由于各组织自行构建版本管理工具,导致版本管理工具不统一,使得统筹管理压力增大。同时,因缺少统一的代码仓库,资产管控面临困难。
构建过程:未对构建环境统一管理,构建产物质量无法保证;缺少统一构建工具,导致构建产物有差异;构建过程缺乏规范管理,存在大量研发人员自行构建情况,增加了版本管理风险。
软件部署:采用手工方式部署软件,效率不高;软件部署缺乏流程规范,存在未通过检查清单就直接部署的情况,增大现网风险。
软件研发过程追溯:缺少统一的软件研发工具链与研发流程标准规范,导致研发过程数据管控困难、研发过程件及最终产物难以追溯。
三、方案实践
针对当前研发能力现状,S企业以产品为锚点,结合CodeArts敏捷研发实践。全面推进研发过程方法论和软件研发工具链的整合,设计可执行、可落地的实施方案。整体方案围绕以下5个方向展开:
1. 结构化软件需求
结合真实业务场景,建立协同一致的多层需求管理体系(RR-IR-US),从而明确PLM(产品生命周期管理)、研发及各功能领域的需求职责、管理流程和质量标准。
1) 在RR-IR层建立PI版本规划机制,定义面向客户的发布计划。
在RR(Release Requirement,发布需求)- IR(Iteration Requirement,迭代需求)层建立 PI(Program Increment,项目群增量)版本规划机制。面向发布计划制定环节。将需求与企业的产品发布计划紧密相连,通过合理规划PI版本,明确在特定时间范围需要交付的功能和特性。例如,根据市场调研和客户反馈,确定在某个PI版本中要为汽车的导航系统添加实时路况更新功能以及优化地图显示效果的功能,以此来满足客户对导航准确性和便捷性的需求。
2) 在IR-US层建立迭代持续交付机制,提升团队研发适应性,优先完成高价值的高优先级需求。
在 IR - US(User Story,用户故事)层建立迭代持续交付机制。这一机制重点在于提升团队研发适应性。团队在迭代过程中,优先完成高价值、高优先级的需求。例如,在开发汽车数字地图相关功能时,如果用户对地图搜索功能的改进需求优先级较高,且能为产品带来更大价值(如提高搜索准确性和速度能提升用户体验,进而可能增加产品竞争力),那么在迭代过程中就会优先安排资源进行该功能的开发和优化。这样可以确保在每个迭代周期内,都能向产品中添加对用户最有价值的功能,提高产品对市场变化的响应速度。
3) 在US层建立规模估算机制,校准团队对需求的理解,排除需求缺陷,提高需求确定性,并拉通统计各团队及整体吞吐量。
在US层建立规模估算机制。此机制的目的是校准团队对需求的理解,排除需求缺陷,提高需求确定性。在实际操作中,对于每个用户故事(如汽车定位服务中提高定位精度的需求),团队会详细分析其工作量、技术难度、涉及的业务逻辑等因素,从而准确估算其规模。通过这种方式,可以确保各个团队对需求的理解一致,避免因理解偏差导致的开发问题。同时,拉通统计各团队及整体吞吐量,例如通过对每个团队完成的用户故事数量和规模进行统计,能清晰了解整个研发过程的效率和进度,为资源分配和计划调整提供依据。
2. 规范研发流程
针对原有研发流程,规范版本运作方式。结合研发团队习惯,引入产品级敏捷 PI 版本规划、敏捷迭代、每日站会、需求澄清、迭代回顾等优秀实践,规范每月一版本、两周一迭代的敏捷运作机制,同时标准化输入输出要求,优化企业研发流程。
3. 规范工程实践
从4个维度对工程实践方向设计方案和规范:
1) 软件仓库:设计统一的代码分支管理规范,标准化代码提交流程。
2) 软件构建:统一构建环境及构建环境管理建议。
3) 测试管理:规范测试流程,引入缺陷管理规范。
4) 环境管理:梳理各阶段环境管理方案及对应要求。
4. 敏捷教练培养
通过以下环节培养敏捷教练专业人才。
1) 种子识别:以报名或推荐方式识别种子选手,以正式方式在组织内宣布并明确目标、职责。
2) 专项培训:根据人员角色不同,拟定相应的培训,为人员提供专项培训以使人员具备初步的实践能力。
3) 专项辅导:在整个过程中,交付团队将持续抵近辅导,根据人员成长情况,调整辅导和培训。
4) 实践历练:在团队内部进行实践,持续总结最佳实践、经验教训和心得,并持续改进。
5. 统一研发工具链
从需求到测试,提供端到端的软件研发工具链。统一研发团队的需求管理、代码托管、构建、测试端到端研发过程;支持需求跨团队分发,建立需求、代码、测试用例关联关系,以便于追溯和理解软件的演化和变更历史。
四、业务提升
基于华为云 CodeArts 实践经验,S企业从迭代、需求、编译到部署等研发能力得到大幅提升。
1. 需求管理提升
在需求管理方面:建立了统一的需求管理规范,需求文档书写规范能够指导研发人员直接投入开发工作,通过规范的需求拆分,及需求工作量评估,迭代计划制定更为合理,团队管理水平得到大幅提升,单迭代需求承载率提升 30%,建立稳定的每月一版本,两周一迭代的敏捷运作机制。
2. 研发工具链优化
研发工具链方面:统一企业软件研发工具链,让软件研发过程可管可控。工具链提供的代码扫描能力,帮助企业软件产品质量大幅提升。
自动化编译、部署及引入流水线,帮助软件发布效率提升50%。
五、案例总结
通过采用华为研发工具链CodeArts,S公司构建了适合自身业务现状的敏捷研发流程,有效解决需求管理、过程管控、配置不完善等业务挑战。通过本次敏捷转型项目,S公司打造了高效灵活的研发团队,显著缩短产品交付周期,提高产品质量,以应对不断变化的市场需求,为业务可持续发展奠定坚实基础。
- 点赞
- 收藏
- 关注作者
评论(0)