周四下午作为分享嘉宾参加思码逸组织的关于研发效能的技术沙龙,在最后圆桌会议探讨环节,有同学提了一个问题, 研发效能是不是一个伪命题?
现场回答了下,会后也有持续思考这个问题,基于会后的思考,做一个更完整一些的陈述和总结:从研发效能的定义出发,从背后的逻辑出发,从具体的实践方向出发,来看研发效能这个事情。
说到研发效能,大家可能会马上想到度量、指标、流程、CI/CD、代码平台等等东西。
但只是这些吗?为什么要做这些?做了这些有什么用?最终的目的是什么?…… 有很多问题冒出来。
看研发效能是什么前我们先看一下效能是什么?
效能是一个衡量资源使用的效果的概念,常用于评价在完成一定任务或达成特定目标时资源(如时间、金钱、原料等)的使用效率。效能高意味着用较少的资源投入获得了较多的产出,或者用最优的方式使用资源以达到最佳的工作绩效。
在商业和管理领域,效能是指组织或个人在达成既定目标和结果的能力。商业和管理领域中的效能更加注重最终的成果而不仅仅是资源的使用。传统意义上的效能只是商业和管理领域效能的一个过程态,但我们当下所追求还是传统意义上的效能,通过这种效能的不断达成,使得组织的效能增加,从而帮助企业更有效地管理资源,提高组织能力,并在市场竞争中保持优势。
回到研发效能是什么,这里我们限定一下范围,主要是软件开发的研发效能,有代码产出的那种研发。对于软件开发来说,主要关注的还是人力成本,或者说是时间成本。后文中的研发效能都指软件开发的研发效能。
研发效能是指通过有效地利用人力和时间资源,持续以最快的速度交付高质量的产品。 这句话可以换成上篇关于研发价值的文章中的公式:
公式:研发的价值 = 单位有效时间内产出的价值 × 有效时间 – 非正常成本 – 正常成本
这是简化的研发价值模型,可以作为理解研发价值创造的基础框架。实际应用中可能还需要进一步的细化和调整,因为价值的计算可能远比这个公式复杂。
研发效能不仅包括了技术层面的各种实践,如代码复用、自动化测试、持续集成(CI)和持续交付(CD),还包括了效能度量、流程优化,团队协作、项目管理、需求理解和用户反馈的及时整合等多个方面。
研发效能的核心目的是优化交付的价值链,通过提高效能来缩短产品从构思到市场的时间,提升产品质量,降低开发成本,以及增强对市场变化的响应能力。这不仅能提高客户满意度和用户体验,还能为企业带来更大的经济效益和更强的市场竞争力。
研发效能的提升和优化是一个体系化的工作,是一个多维度、跨职能的系统性工程。包括组织文化、组织结构、技术架构、流程设计、工程系统和度量考核等。
组织文化是企业的灵魂,它塑造了员工的行为和思维方式,对研发效能的提升起着至关重要的作用。一个以创新为核心的组织文化,能够激发团队成员的创造力,鼓励他们不断尝试新方法和新技术,甚至在失败中寻找改进的机会。
我们可以通过建立跨部门沟通机制、鼓励知识共享、认可员工创新成果等方式来营造一个开放和协作的工作环境。
在认知层面,特别需要对上达成共识,研发的负责人在领导层面达成一致,能够更好的推动研发效能工作的开展。
组织结构决定了信息流动、资源分配和决策过程的效率。在研发效能的提升中,扁平化的管理层级、跨功能的团队配置以及灵活的人员动态管理,都能够促进创新和加速决策过程。
组织结构是提升研发效能的架子,我们可以推动小型化、自治化的团队模式,并通过灵活的项目管理和内部创业机制来激发团队的活力和创新能力。
但这只是一种较为理想的逻辑,实际中我们需要考虑当前组织的情况,人员的水平,公司的文化基因等等,不可一概而论,鞋合不合适只有脚知道
技术架构的合理性直接影响研发效能。 一个良好设计的技术架构应当具备高内聚、低耦合的特点,以便于团队成员高效协作,同时保障系统的稳定性和可扩展性。
我们开发过程中会采用微服务、容器化等技术架构,以支持敏捷开发和持续集成/持续部署(CI/CD)等。
当然,微服务、容器化架构和敏捷开发、CI/CD 没有强关联,在实际落地过程中,这些都非必选项,术法落地需要更多的考虑实际的场景和条件。
流程设计是确保研发活动有序进行的关键。 良好的流程设计能够最大程度地减少不必要的工作,清晰地定义每个阶段的输入和输出,以及相应的质量标准。
我们通过引入敏捷开发方法和精益思想,持续迭代流程,以消除浪费,并通过自动化工具减轻重复性工作负担。
敏捷和精益都是一种落地的方法,需要考虑实际的情况,根据过程中的生产场景细化每个环节的时间和人力消耗,消除浪费。像我们经常用到的需求交付周期、需求吞吐量(单位时间交付需求个数)、在制品数等指标都会用于这个场景的度量。
工程系统是研发效能提升的具体执行层面。它包括代码管理、构建、测试、部署等一系列工程实践,这些都需要通过系统化的工具和方法来支撑。
通过建立统一的开发环境、版本控制系统和自动化测试平台,以及监控和日志分析系统,以提升研发的效率和稳定性。这里提升效率的逻辑在于 通过系统和自动化的方式减少重复成本和认知成本。
度量考核是研发效能提升过程中的反馈机制。它提供了衡量成果和改进的依据,帮助团队识别问题、跟踪进度,并调整优化策略。
以一种相对科学的方式收集和清洗数据,建立一套和当前团队贴合的指标体系,涵盖项目进度、产品质量、团队效率等各个方面,建立机制定期审视这些指标,并根据数据进行决策和改进。
度量只是我们研发效能的开始,是结果的一种呈现,我们所追求不仅仅是这个结果,而是这个结果带来的效能的提升和研发团队的价值提升。
最后回答一下研发效能是不是一个伪命题这个问题:研发效能不是一个伪命题。
因为研发效能本质是一个 ROI 的逻辑,是一个提升研发价值和核心竞争力的过程。 作为一个技术管理者,这个提升操作是必须且持续要做的,现在只不过以研发效能这种方式表现出来了。
研发效能是一个多维度问题,需要从组织文化、组织结构、技术架构、流程设计、工程系统和度量反馈等方面共同努力。
组织文化是创新的基石、组织结构是效能的架子、技术架构是效能的核心、流程设计是效能的流动、工程系统是效能的支撑、度量考核是效能的反馈。
每个维度都有其独特的挑战和实践方法,但它们相互关联并共同作用。只有全面考虑这些维度并协同推进,才能够真正提升研发效能,实现快速、高质量的软件交付,并最终为用户和企业创造价值。
研发效能关注的不仅仅是技术和工具的应用,更重要的是人、流程、文化的协同进化,以及这一切如何共同作用于创造价值和实现企业战略目标的大背景下。
研发效能不仅仅体现在直接的经济效益上,它还帮助企业构建了一个可持续发展的技术优势和技术竞争力,培养了一支能够快速适应市场变化和技术进步的高效团队,并且能够不断推动产品和服务向前发展,满足甚至超越客户的期望。