1、TCDD效能提升实践申彬彬 汽车之家技术经理 PART ONE背景&思路 PART THREE其它 PART TWOTCDD实践大背景:降本增效人员减少,业务需求不减反增交付质量下降 or 交付周期拉长提升研发效能研发效能是指更高效、更高质量、更可靠、可持续地交付更优的业务价值的能力。目标思路提高交付质量,缩短交付周期对研发流程各个环节进行检视,找到影响每个阶段的薄弱环节,有针对性的解决提效PRD评审收集需求编写PRD提测上线测试设计开发联调需求阶段:业务需求不清晰频繁变更开发阶段:无设计环节多次需求评审开发环境联调不通修复bug时间久提测阶段:测试人员少开发bug多冒烟不通过回归时间久投产阶
2、段:RC和生产环境不一致业务验证时间长老流程:MRD评审收集需求编写MRD提测上线测试设计开发联调Bugfix主要问题:1.质量保证的手段依赖测试,研发提测质量不稳定,越忙Bug越多,提测后的回归时间长;2.开发并行提交,测试串行,测试资源紧缺,功能测试周期长;质量不稳定、拉长交付周期;产品经理开发人员测试人员运维人员如何保证质量,提高效率?Bug越早发现越好 测试前置 PART ONE背景&思路 PART THREE其它 PART TWOTCDD实践新的团队合作模式的实践用例驱动开发新流程:PRD评审收集需求编写PRD拆分用户故事提测上线测试Bugfix设计开发测试设计开发测试Bugfix设
3、计开发测试设计开发测试负责人参与人产品经理开发人员测试人员运维人员图例说明解决问题:1.提测质量差:质量保证的手段依赖测试,研发提测质量一般,越忙Bug越多,忙的时候很多团队都月均10个Bug左右,提测后的回归时间长;通过测试用例的输出,提高开发提测质量,开发自测完成功能初验和修复的工作,减少测试同学发现bug后的回归,缩短交付周期;2.测试资源少:开发并行提交,测试串行,测试资源紧缺,功能测试周期长;测试环节前置到开发,由测试同学串行测试任务到开发并行执行,缩短交付周期;产品经理测试人员开发人员需求准备阶段任务拆分讨论阶段开发阶段上线阶段沟通需求编写PRD,原型需求宣讲拆任务,定优先级,分配
4、任务针对每个拆解的任务讨论需求明确产品确认支持写case开发编码开发自测case功能演示验收功能确认发起上线否是提交case参与验收任务拆分原则:INVEST*Independent 独立尽可能相互独立,是低耦合或者去耦合的Negotiable 可协商内容是可协商的,而不是遵照合同的Valuable 有价值的要有价值,必须让用户获得好处或提升Enstimable 可估算可估算的,通过重要性和工作量判断优先*Small 足够小尽可能小,必须在一个迭代周期中完成*Testable 可测试要有清晰的验收/测试标准,以确认其可完成性质量提升:bug数&bug率020040060080010001200
5、14002021Q1 2021Q2 2021Q3 2021Q4 2022Q1 2022Q2 2022Q3 2022Q4bug数线上S2线上全部线下全部线上+线下全部整体是呈现变好的趋势,线上质量稳定bug减少,线下质量尤其明显,和执行用例驱动开发是有很大关系的;bug率和bug数的趋势一致;0246810122021Q1 2021Q2 2021Q3 2021Q4 2022Q1 2022Q2 2022Q3 2022Q4bug率线上S2线上全部线下全部线上+线下全部效率提升:研发响应速度&需求上线速度1、整体研发阶段平均周期时长:研发响应速度环比提升近35.5%2、整体研发周期时长:需求上线速度环
6、比提升近30.8%0510152025Q1Q2Q3Q42021年(天)2022年(天)待排期-完成验收2021年(天)2022年(天)Q120.410.5Q216.27.6Q310.77.4Q49.16.7平均值12.480102030Q1Q2Q3Q42021年(天)2022年(天)待排期-上线2021年(天)2022年(天)Q121.315.3Q218.713.3Q325.712.7Q420.117.8平均值21.414.8开发:工作量增加-代码提测质量-通过用例熟悉测试思路,提高代码质量,直接生产出高质量代码-代码能力测试:功能测试时间尽量减少为0;