提高研发效能度需要做到以下几点:1、从痛点入手;2、从全局切入;3、用户获益;4、持续改进;5、全局优化;6、效能平台架构的灵活性;7、杜绝“掩耳盗铃”;8、做自己研发效能平台的名列前茅个用户。
1、从痛点入手
很多时候,当我们手上拿着锤子的时候,看什么都像钉子。但是研发效能的提升恰好是反过来了,我们要先找到哪些是最碍眼的钉子,然后用体系化的方法论去打造合适的锤子。
所以在推行研发效能的早期阶段,我们通常会采用自下而上的策略,从一个个工程实践中的实际痛点(钉子)入手,从解决问题的角度打造研发效能提升的亮点,此时我们追求的是“短、平、快”,遵循的是将问题点逐个击破的原则。
2、从全局切入
很多时候我们会尝试去优化某个具体的环节,而忽略了全局优化的可能。
举个例子,我们去医院看病,在挂号时经常会出现排队半小时,而实际挂号可能就花费两分钟的情况,接下来很可能又是漫长的排队等待医生就诊,好不容易进入了诊室,可能问诊不到五分钟就又被要求去验血……整个过程中实际有效时间的占比很小。
如果这个时候我们还试图去优化挂号本身的时间,而不去关注优化各个环节的等待时间,那显然是错误的方向。
因此,效率的提升既要关注单个步骤的优化,也要专注减少步骤与步骤之间的无用等待。这一点体检中心就比公立医院做得好很多,我们很少会见到体检中心每个科室门口都大排长龙的情景,因为体检中心出于经济利益的考虑会关注吞吐量,会通过全局排队调度优化来实现更高的盈利。
3、用户获益
对于研发效能的提升,有一点我们必须牢记,那就是成功的标准不是研发效能平台的成功,而是客户的成功。只有客户获益才是检验研发效能项目成功的少数标准。
如果全局利益最大化是建立在要求每个人都是大公无私的基础上,那就是失败的设计,因为这必然会导致失败。回到研发效能提升这个问题上,我们必须抱着“不是我们的研发效能平台有多好,而是业务线用了以后有什么提升”的态度来定位自己,才能从结构上获得成功的筹码。
4、持续改进
持续改进是研发效能平台自身发展的必经之路。
很多问题在开始时,我们的关注点是如何快、速简单地解决问题,但是当用户量和接入团队日益增长后,我们更需要关注解决方案的普适性和通用性。如果一开始就试图寻找完美的方案,那么必然会得不偿失。
5、全局优化
研发效能提升的落地,光靠自下往上和光靠自上往下都是行不通的,而是应该双管齐下,“从两边往中间挤”才是切实可行的方案。
研发效能提升的初期,主要是靠“自下往上”的工程实践来实现各种痛点问题的各个击破,比如通过分布式编译来降低编译的时长,通过AI技术来自动生成单元测试的用例,通过分析代码递交历史自动推荐最合适的代码评审者等。通过这些专项的效率提升逐渐向管理层证明研发效能提升的实际价值,由此引起管理层对研发效能的重视,进而为管理层从上往下推进研发效能的提升打下基础。
6、效能平台架构的灵活性
这里我们先来讲两个概念:“唱戏的”和“搭台的”。刚开始做研发效能的时候,我们既是搭台的又是唱戏的,在研发效能平台(搭台)的基础上提供各业务线的解决方案(唱戏)。但是,当业务线的接入规模不断扩大的时候,各个垂直领域的多样化需求越来越多,我们已经很难应对各家的个性化非通用需求了(每家要唱的戏都不同)。此时,研发效能平台的开放能力就成为关键,它必须能够应对这种多样性,让业务线能够在平台上实现各自的个性化需求,所以研发效能平台本身的技术架构设计必须考虑可扩展性和灵活性。
比如,我们可以Jenkins持续集成工具视为一个平台,在这个平台上支持安装各种插件,以增强平台功能,从而实现平台架构的灵活性。
7、杜绝“掩耳盗铃”
“掩耳盗铃”是我们在落地研发效能过程中经常会犯的错误。掩耳盗铃的错误实践是普遍采用虚荣性指标来做度量效能。那么到底什么是虚荣性指标呢?
虚荣性指标是指那些不能直接用来指导后续行动的指标,我们需要的是可以指导我们行动的可执行指标,可以参考以下内容。“接入Sonar的工程数”就是虚荣性指标,与之对应的可执行指标是“Sonar问题的增长趋势”和“Sonar问题的修复时长”。
“系统用户数”就是虚荣性指标,与之对应的可执行指标是“DAU单日活跃用户数”和“MAU月活跃用户数”。“接入研发效能平台的项目数”就是虚荣性指标,与之对应的可执行指标是“百分之多少的项目使用过研发效能平台来完成开发测试和发布流程”。
8、做自己研发效能平台的名列前茅个用户
研发效能平台本身的研发流程必须通过自己的平台来执行,这样才能站在用户的角度看待自己的方案,才能和业务线用户“共情”。如果我们作为效能工具平台的研发团队,自己都不用自己的工具平台来完成研发过程,就很难要求别人也来使用我们的研发效能平台。
基于这项理念,我们始终践行的做法是,研发效能团队主持开发的产品和解决方案,自己必须是名列前茅个用户,同时我们自己必须认可其带来的价值,只有这样才能站在用户的视角来客观地评价我们的产品和方案,不至于出现“王婆卖瓜自卖自夸”的现象。
延伸阅读:
研发效能的定义
“研发效能”就是更高效、更高质量、更可靠、可持续地交付更优的业务价值的能力。
更高效:更高的效率代表更快、更及时地交付,这样就能更早地进入市场,然后更早地学习、更早地调整,更早地降低风险,更早地锁定进展和价值。这是敏捷和精益思想的核心;
更高质量:我们研发的产品是有质量红线、有底线要求的。快速交付给客户有质量问题的功能除了会引发投诉以外没有任何价值。质量是内建的,不是事后检验出来的;
更可靠:我们要的是敏捷,而不是脆弱(agile rather than fragile),安全和合规方面要有保障。就像开车一样,只有车子更可靠、刹车更好,你才敢开得更快;
可持续:短期的取巧和”快糙猛”、小作坊式开发,只会给未来带来更多的技术债务和持久的效率低下,软件研发不是一锤子买卖,我们应该用”长线思维”来思考问题;
更优的业务价值:我们经常说”以终为始”,你提供给客户或业务的东西应该是有价值的,这是关于你为什么要做所有这些事情的根本出发点。
文章标题:如何提高研发效能度,发布者:小编,转载请注明出处:https://worktile.com/kb/p/32193