研发效能是什么?为什么现在都在谈如何提高研发效能?研发效能对于一个企业到底有多重要?本文按照Why、What、How三步走沉淀梳理了研发效能相关的知识点。
对于一个企业来说,追求的是企业效能的最大化,包括:利润、用户规模、客户满意度、运营效率等。而对于需要研发自有产品的互联网公司来说,研发效能则是服务于企业效能的至关重要的因素。
一个软件研发的完整流程如下图所示:

此流程交付期望产品的效率和能力,即研发效能。更进一步的《研发效率破局之道》中将研发效能定义为团队能够持续地为用户产生有效价值的效率,包括 有效性(Effectiveness)、效率(Efficiency)和可持续性(Sustainability) 三个方面。其增加的可持续性指出研发效能应该着眼于长期效果。
一句话来讲,研发效能就是持续快速交付价值的能力。
对应于第一部分中讲述的软件开发流程,如果想要提升研发效能,那么需要落实到研发流程(组织结构、项目管理、持续交付)、工程方法、个人效能以管理和文化的实践上。本文重点从研发流程、工程方法两方面来讲。

评估一个组织持续快速交付价值的能力,需要一组可量化的数据或参数,用来跟踪和评估开发过程的“健康”状况。
流程中总是有一个核心瓶颈。分析关键路径、定位瓶颈,针对优化
避免“效率竖井”: 采用以业务为单位的组织架构,保证业务线全栈配齐,目标一致。并从全局定位瓶颈进而进行优化工作。
使用敏捷开发来提升研发效率
一个可供参考的项目管理标准动作可见:项目管理标准模板
持续交付指的是在短周期内完成软件产品,以保证软件保持在随时可以发布的状态。让每一个变更都经过一条自动化的检验流水线,来检查每一个变更的质量,通过就进入下一个阶段。其不是一种工具,而是一种实践!
具体可见:持续交付这点事
在开发产品或者功能的过程中,没有使用最佳的实现方法而引入的技术问题。需要持续关注业务和技术债。对业务机会敏感,敢放手一搏大量借贷,也知道什么时候必须偿还技术债。
利用好云计算带来的服务化、自助化和弹性伸缩三大优势。初创公司在业务刚起步时,使用 SaaS 或者 PaaS 快速开发业务;业务成长到一定规模之后,再逐步转到 IaaS 以及私有云降低成本。
在使用云计算时,要妥善处理它带来的挑战,比如分布式系统带来的安全和控制方面的问题。
上文持续交付一部分中最关键的其实就是测试部分,只有具有完善、可靠的测试机制,才能保证研发质量和交付效果,才能从根本上提高研发效能。
通过抽象共性组件、功能,达到代码、功能复用,从而减少重复开发,提高研发效能。
相关资料可见:中台简谈
如何提高开发人员自身的开发效率,除了每个人自身的天赋能力外,也有一些可以刻意使用的高效工具和方法。
此外,还可以通过技术管理从外部驱动个人效能的提升,这在下面的技术管理部分会讲。
管理包括:看方向、管人、管事。做好技术管理是提高研发效能的关键部分。其中,3.4节个人效能部分的数字驱动也是技术管理的一部分。主要步骤包括:
此外,技术管理中一个很难的问题是如何进行考核。这里可以使用数字化的方式,以驱动个人效能的提升。
需要说明的是,如果指标不能全方面的衡量,就不要做为考核指标,仅仅用于发现问题,解决问题!
一个可参考的技术管理标准动作模板见:技术管理标准模板
团队文化是团队成员共同认可的价值观和行为准则,良好且有效的文化是保障团队高效产出的关键部分。很多互联网公司都是工程师文化主导的,包括Facebook、Google、百度等。他们也都具有自己独特的企业文化价值观,如百度的简单可依赖、谷歌的不作恶、Netflix的自由和责任。建立团队文化的步骤如下:
研发效能是什么?为什么现在都在谈如何提高研发效能?研发效能对于一个企业到底有多重要?本文按照Why、What、How三步走沉淀梳理了研发效能相关的知识点。
对于一个企业来说,追求的是企业效能的最大化,包括:利润、用户规模、客户满意度、运营效率等。而对于需要研发自有产品的互联网公司来说,研发效能则是服务于企业效能的至关重要的因素。
一个软件研发的完整流程如下图所示:

此流程交付期望产品的效率和能力,即研发效能。更进一步的《研发效率破局之道》中将研发效能定义为团队能够持续地为用户产生有效价值的效率,包括 有效性(Effectiveness)、效率(Efficiency)和可持续性(Sustainability) 三个方面。其增加的可持续性指出研发效能应该着眼于长期效果。
一句话来讲,研发效能就是持续快速交付价值的能力。
对应于第一部分中讲述的软件开发流程,如果想要提升研发效能,那么需要落实到研发流程(组织结构、项目管理、持续交付)、工程方法、个人效能以管理和文化的实践上。本文重点从研发流程、工程方法两方面来讲。

评估一个组织持续快速交付价值的能力,需要一组可量化的数据或参数,用来跟踪和评估开发过程的“健康”状况。
流程中总是有一个核心瓶颈。分析关键路径、定位瓶颈,针对优化
避免“效率竖井”: 采用以业务为单位的组织架构,保证业务线全栈配齐,目标一致。并从全局定位瓶颈进而进行优化工作。
使用敏捷开发来提升研发效率
一个可供参考的项目管理标准动作可见:项目管理标准模板
持续交付指的是在短周期内完成软件产品,以保证软件保持在随时可以发布的状态。让每一个变更都经过一条自动化的检验流水线,来检查每一个变更的质量,通过就进入下一个阶段。其不是一种工具,而是一种实践!
具体可见:持续交付这点事
在开发产品或者功能的过程中,没有使用最佳的实现方法而引入的技术问题。需要持续关注业务和技术债。对业务机会敏感,敢放手一搏大量借贷,也知道什么时候必须偿还技术债。
利用好云计算带来的服务化、自助化和弹性伸缩三大优势。初创公司在业务刚起步时,使用 SaaS 或者 PaaS 快速开发业务;业务成长到一定规模之后,再逐步转到 IaaS 以及私有云降低成本。
在使用云计算时,要妥善处理它带来的挑战,比如分布式系统带来的安全和控制方面的问题。
上文持续交付一部分中最关键的其实就是测试部分,只有具有完善、可靠的测试机制,才能保证研发质量和交付效果,才能从根本上提高研发效能。
通过抽象共性组件、功能,达到代码、功能复用,从而减少重复开发,提高研发效能。
相关资料可见:中台简谈
如何提高开发人员自身的开发效率,除了每个人自身的天赋能力外,也有一些可以刻意使用的高效工具和方法。
此外,还可以通过技术管理从外部驱动个人效能的提升,这在下面的技术管理部分会讲。
管理包括:看方向、管人、管事。做好技术管理是提高研发效能的关键部分。其中,3.4节个人效能部分的数字驱动也是技术管理的一部分。主要步骤包括:
此外,技术管理中一个很难的问题是如何进行考核。这里可以使用数字化的方式,以驱动个人效能的提升。
需要说明的是,如果指标不能全方面的衡量,就不要做为考核指标,仅仅用于发现问题,解决问题!
一个可参考的技术管理标准动作模板见:技术管理标准模板
团队文化是团队成员共同认可的价值观和行为准则,良好且有效的文化是保障团队高效产出的关键部分。很多互联网公司都是工程师文化主导的,包括Facebook、Google、百度等。他们也都具有自己独特的企业文化价值观,如百度的简单可依赖、谷歌的不作恶、Netflix的自由和责任。建立团队文化的步骤如下: