《01 | 效能模型:如何系统地理解研发效能?》笔记2

1,131 阅读4分钟

任务驱动 VS 强调工作时长

其实,在硅谷,很少有公司要求 996。不过,在初创公司,因为业务紧张、同事间的竞争,加班也很常见。但是,硅谷和国内的公司有一个很大的区别,就是硅谷的公司一般是任务驱动,只要完成任务就行,不管你花了多少时间。而国内很多实行 996 的公司不仅仅是要求完成任务,更强调工作时长。但其实,专注时长的这种操作在软件开发行业是不合理的,因为长期加班不能保证持续的高效产出

从我以及身边许多开发者的经验来看,每天能够高效地产出代码五六个小时,已经相当不错了。短期突击加班会有效果,但如果长期加班,通常效率、质量会下降,产生了 Bug 就要花费更多的精力去修复。如果这些 Bug 发布到了用户手上,损失就会更大,得不偿失。

长期加班还会出现无效加班的结果。比如,有个朋友在一家国内一流的互联网公司工作,据他反馈,公司实行 996,很多人加班其实是磨洋工,低效加班非常明显。可想而知,其他推行 996 工作制的公司,大概率也会存在这种问题。

软件开发是一个创造性很高的过程,开发者之间的效率相差很大。就比如,10x 程序员的生产效率可以达到普通开发者的 10 倍。其实,不仅是个人,团队间的效率相差也很大。所以,相比工作时长而言,公司更应该关注的是研发效能。

  1. 关键词:任务驱动,创造性工作。
  2. 为什么这么多公司不约而同选择让员工长期加班996呢?
    • 我觉得是公司慌不择路地下意识选择。
    • “慌了,慌了,项目还没盈利,公司入不敷出,我要自救,我要求生。那就让员工加班,多干点活,业务进度快点推进,在市场上快人一步,这样公司就能活下来了。”
    • 慌乱的团队能做好事情吗?
  3. 其中的对错利弊很难讲得清楚。
  4. 也许国外的月亮特别圆:任务驱动,干完手上的事就行了?
  5. 程序开发确实是创造性的工作,起码大部分是。创造意味着烧脑?无法长时间保持输出。我们用的这么多便利的工具都是创造出的。

加班导致效率低?

从我以及身边许多开发者的经验来看,每天能够高效地产出代码五六个小时,已经相当不错了。短期突击加班会有效果,但如果长期加班,通常效率、质量会下降,产生了 Bug 就要花费更多的精力去修复。如果这些 Bug 发布到了用户手上,损失就会更大,得不偿失。

长期加班还会出现无效加班的结果。比如,有个朋友在一家国内一流的互联网公司工作,据他反馈,公司实行 996,很多人加班其实是磨洋工,低效加班非常明显。可想而知,其他推行 996 工作制的公司,大概率也会存在这种问题。

行业竞争激烈,你追我赶,长期加班是下意识的自救,但效果并不好,因为员工的创造性受到了限制。

创造性的工作

软件开发是一个创造性很高的过程,开发者之间的效率相差很大。就比如,10x 程序员的生产效率可以达到普通开发者的 10 倍。其实,不仅是个人,团队间的效率相差也很大。所以,相比工作时长而言,公司更应该关注的是研发效能

在研发效能上着手,而不是单靠加人,加班等治标不治本的方法。

注重研发效能的巨大好处:开发者聚焦产出价值,团队建立起好的气氛,促进生效效率,形成良性循环,支撑起持续的高效开发。

虽然知道要注重效能,但如何提高研发效能也是个难题。

软件研发的灵活性 与创造性

本质:让开发流程流畅,最大程度地释放出开发者的创造性和积极性。

研发效能模型

软件开发本质上是一条超级灵活的流水线

体现灵活性的4个方面:

引出的研发效能模型:

理论指导实践,大方向是这4个方面,但每个团队都有不同的实践,因地制宜,必须要适合自己团队的,照搬照抄不一定有卵用。

最后,开发本身是一件很有趣的事情,软件开发者,跟画家,作家,音乐创造者一样,都特别需要灵感的迸发,但很多时候我们却要被业务牵着走,创造性被受限,沦为搬代码的码农,非常痛惜。