【每日一学 20231129】研发活动的本质
- 2023-11-29 11:59:00
- 朱美玲 原创
- 351
要想提高研发效能,我们需要深入了解研发活动的本质,从纷乱的表象和层出不穷的方法中看到隐藏的模型,找到基本原则,然后从这些原则出发,具体问题具体分析,最终找到合适的方法。这是由软件研发的灵活性所决定的。软件研发的灵活性决定了在软件研发的实践过程中会出现各种情况,我们必须洞察本质,才能随机应变。
Facebook正是这样做的。Facebook针对研发制定了一些基本原则,很多研发实践遵循这些基本原则。比如,Facebook有一个叫作“不要阻碍开发人员”(Don't Block Developer)的基本原则贯穿于公司的大量研发和管理实践中。下面用两个具体场景来解释Facebook是如何将这一原则应用到日常研发活动中的。
-
本地构建脚本的运行速度要足够快。开发人员在写完代码之后,都要运行一个脚本进行构建,把新做的改动在自己的开发机器沙盒环境中运行起来,以方便做一些基本检查。这个操作非常频繁,如果它的运行时间太长,就会阻塞开发。因此,确保这个脚本的快速运行就是内部工具团队的一个超高优先级的任务。我们对每次脚本的运行进行埋点跟踪,一旦运行时长超过1.5分钟,我们就会停下手中的工作,想尽一切办法为这个本地脚本的运行加速。
-
商业软件的采购。对售价在一定金额以下的商业软件,开发人员可以自行购买,先斩后奏,购买之后再报销。这个金额不低,足够购买一般的软件。我个人就经历过两次在晚上加班时需要购买商业软件的情况。如果等主管审批,就需要等到第二天。但公司相信工程师能够在这样的情况下做出利于公司的决定,所以我可以直接购买并使用。这样一来,除了能提高这几个小时的开发效率外,更重要的是,我感到自己受到信任和拥有权力,工作积极性高涨。这两个应用场景虽然差别很大,但都是基于“不要阻碍开发人员”这个原则的。Facebook之所以会有这个原则,正是因为它认识到了,开发流程的顺畅性是生产优质软件的关键因素,只有这样才能最大限度地释放开发人员的创造性和积极性。相比之下,很多公司更注重强管理下的流程和制度,而忽略了开发的顺畅性,结果是开发人员工作起来磕磕绊绊,又何谈高效呢?这实际上违背了软件研发的本质。
来源:《高效研发 硅谷研发效能方法与实践 》