面向价值编程:Why, What, How

版本日期备注
1.02022.9.19文章首发
本文首发于泊浮目的掘金:https://juejin.cn/user/146860...

0. 前言

从2021年,各个大厂的反内卷,再到2022年的裁员,大多数人都意识到互联网行业进入了寒冬。其实并非这个行业如此,其他的行业也正在严寒中苟活。宏观原因其实显然易见,但这并非本文讨论的主题。在这里,更想和大家讨论的是如何在这个冬天苟活下来。

这些现象后面折射出了一些信号:

  • 反内卷:有关业务发展已经到达瓶颈,甚至产生无意义的内耗。
  • 裁员:有关业务可以用更少的人来维持发展,甚至不发展。

这里面最终都指向了一个东西——钱。

1. 为什么要面向价值编程

许多同学当初从事这个行业是为了高薪,但大家有没有想过为什么老板愿意付你高薪?自然是因为你能创造更大的价值。因此,公司里的每个小组,每个业务线,每个部门,都会产生开销,也会产生价值。

当你所在业务线特别赚钱时,绝大多数老板都会愿意分你一杯羹,这就是一些天价年终奖的由来;当你的业务线不赚钱或者给业务带来发展问题时,老板自然不会看见你好看。简单来说,就是你的业务线投入产出比越高越好,拆分到每个人身上,就是每个人的投入产出比越高越好。

回到商业的视角,我可以把技术看作商业中的一个板块,技术上的投入,最后应该可以体现出对于业务的价值(比如增长或者利润)。

2. 如何面向价值编程

其实从上面我们可以定义出什么是面向价值编程——通过技术去支撑业务的发展,或为在原基础上提供更多的利润。

这里面有很多很多的具体方法,但在聊具体方法之前,我们先从上开始拆解——做面向价值编程这件事,核心的指标有哪些?

无指标则无度量。无法进行有效度量时,大家就只能靠一张嘴来说自己做的事有没有价值了。

最常见的功能生命周期一般是:需求评审、技术评审、开发、测试、上线。

对于一些有销售的公司来说,他们往往会问产研团队什么时候能给到(交付给)客户?如果等太久,可能就被别人抢单了。这里面还有个潜台词,保质保量(销售肯定不希望你带着BUG给他的客户)。类似的,所有公司都会关注这个事。

这里面我们可以拆分出几个指标:

  • 交付效率方面

    • 需求交付周期:从需求创建到分析、开发,再到需求交付(验收)的时间周期
    • 需求吞吐量:单位时间内交付的需求个数
  • 交付质量

    • 部署成功率:统计周期内部署成功次数占上线总数的比例
    • 事故数:统计周期内线上事故的次数

以上是结果指标,我们还需要关注过程指标,才能去改进结果。比如需求交付周期,里面其实有5个环节,那么我们就需要获取5个环节对应的交付周期,以便分析。

如果能建立起以上的指标体系,其实就能够分析出很多问题了。比如最常见的研发质量问题,技术债务问题,需求变更问题,都会交付周期相关指标里体现出来。

上述指标体系适合在百人级研发团队。千人级研发团队需要更多的指标去做度量辅助分析发现问题。这就像你平时发现了一个优化的技巧,可以减少1%的冗余数据,在小场景下可能并不怎么有用,但是如果在大场景下,1天有几TB的数据场景下,这个优化方法一年下来可以省很多存储的钱。

根据不同的时期、以及团队情况,我们可以选择不同的指标进行度量,但宏观上,应该遵守以下原则:

  1. 结果指标 > 过程指标

通过结果指标评估效能水平,通过过程指标指导改进。

  1. 全局优化 >局部优化

过度的局部优化可能会导致全局的劣化。如果仅仅关注局部,容易不知不觉影响全局。因此全局指标的优化优于局部指标的优化,团队指标的优化优于个人指标的优化。

  1. 定量指标 > 定性指标

使用自动采集量化指标进行客观评价,不排除部分综合评价的定性指标。

  1. 指导性,可牵引性行动

指标设定为目标服务,指标的数值和趋势可以迁移团队改进。比如,适当设定缺陷类指标,可以促进质量内建能力的建设。

  1. 全面性,可互相制约

如:需求交付周期和线上缺陷数量还有投入人员数量、研发周期和技术债务还有研发人员数,都是成对出现且互相制衡的指标。

  1. 动态性,按阶段调整

随着团队能力提升,指标也需要进行相关调整,从而促进团队持续改进。

聊完指标,我们再说说“面向价值编程”的两个常见做事方向:

  • 对外:又快又好的交付功能,赋能业务。
  • 对内:降本增效,用更低的成本去迭代功能。

“对外”上面已经提到过一些了,而降本增效往往是一本万利的,很难找到理由不去做(除非意识不到)。Saas一份标准化,可以多份卖。ZStack可以一份标准化,多份卖。那为什么建设一次就可以让所有人享受的自动化设施不去建设呢?假设两个公司在市场上攻城略地,市场份额都差不多,A后期平均迭代一个功能2w的成本,B平均迭代一个功能1w的成本。如果在财报上体现出来,市场愿意给谁更高的股价?如果去找投资人,哪家公司会获得更高的估值?

3. 小结

本文对“面向价值编程”进行了诠释,并从上至下进行了拆解,给出了一些基本的框架。在之后的系列文章中,我们会看到几个典型案例,来加深对于面向价值编程的理解。


泊浮说
作者是个热爱分享交流的人,所以有了这个专栏。你的点赞是我最大的更新动力。

从业6年,创过业带过团队。目前专注于数据应用方向,希望从数据中发现价值,基于数据创造价值。对于研发...

4.8k 声望
1.3k 粉丝
0 条评论
推荐阅读
一名Java开发的Go语言学习笔记(一)
版本日期备注1.02023.5.15文章首发1.12023.5.28增加代码示例本文首发于泊浮目的掘金:[链接]0. 概要最近因为业务需要在学Go语言,虽然之前也用过别的语言,但主力语言一直是Java。在这里也想主要想用Java做对比,...

泊浮目阅读 432

最好用的 python 库合集
🎈 分词 - jieba优秀的中文分词库,依靠中文词库,利用词库确定汉子之间关联的概率,形成分词结果 {代码...} 🎈 词云库 - wordcloud对数据中出现频率较高的 关键词 生成的一幅图像,予以视觉上的突出 {代码...} 🎈 ...

tiny极客11阅读 3.4k评论 2

封面图
花了几个月时间把 MySQL 重新巩固了一遍,梳理了一篇几万字 “超硬核” 的保姆式学习教程!(持续更新中~)
MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。

民工哥14阅读 1.9k

封面图
疫情已过,2023 我的前端面试记录
顺利入职。把我最近找工作的心得记录下来。工作交接确定 lastday整理手头工作,相关对接人、交接人放文档中工作交接过渡阶段。做好被咨询者,该拉人拉人,该拉群拉群平时沟通顺畅的同事如果没有 WX 可以加一个属...

linong11阅读 1.1k

思否 CTO 祁宁:社区问答是激荡高级智慧的头脑风暴
在祁宁家里,有一套完整的赛车模拟器,他甚至还请人到国外代购了最新的 VR 设备。作为沉浸式赛车游戏发烧友,除了享受速度与激情带来的愉悦感,祁宁在玩的过程中更多的是思考如何将技术能力进行产品化的问题。

万事ONES6阅读 12.9k评论 1

封面图
「刷起来」Go必看的进阶面试题详解
逃逸分析是Go语言中的一项重要优化技术,可以帮助程序减少内存分配和垃圾回收的开销,从而提高程序的性能。下面是一道涉及逃逸分析的面试题及其详解。

王中阳Go4阅读 1.9k评论 1

封面图
Fork:剖析「云计算大楼」中的每一块砖|开发者说
当时,随着移动互联网大潮的涌起,七牛云的图片、音视频存储业务获得迅猛发展,主要目标客户是各式各样的移动应用 App。面对层出不穷的 App,七牛云的销售人员希望精挑细选,从而挖掘到更有价值的客户。于是,他...

万事ONES3阅读 12.7k评论 1

封面图

从业6年,创过业带过团队。目前专注于数据应用方向,希望从数据中发现价值,基于数据创造价值。对于研发...

4.8k 声望
1.3k 粉丝
宣传栏