盘点软件开发中那些有趣的边际效应

386 阅读4分钟

我是架构精进之路,点击上方“关注”,坚持每天为你分享技术干货,私信我回复“01”,送你一份程序员成长进阶大礼包。

什么是边际效应

边际效应是源自经济学中的一个概念。

是指消费者对某种物品的消费量每增加一单位所增加的额外满足程度。边际的含义是额外增量。在边际效应中,自变量是某物品的消费量,而因变量则是满足程度或效用,消费量额外变动所引起的效用的变动即为边际效应。

什么是边际效应递减?

我们在听专家做投资分析的时候,经常能听到边际效应递减,边际成本递减这些词。今天我们就来聊聊,这些词到底是什么意思。

边际效应指的就是随着投入越来越高,达到了满足需求的边际,所带来的收益就会越来越少。就像我们睡觉吃饭,每天睡8个小时就够了,如果睡上10个小时,12个小时就会越睡越懵。饿的时候吃一碗饭,觉得很满足,接着再吃三碗饭就会撑得难受。这些都叫做边际效应递减。

再比如我们买车,什么时候的买车欲望最强呢?那肯定是一辆车都没有的时候。因为有车的人很少,后来大家有钱了,对汽车的需求快速增长,汽车企业就迎来了一波红利期。但现在汽车已经普及了,汽车企业就面对着边际效应递减的难题。如果您已经有两台车了,这时候您肯定会选择把钱花在升级车的性能上,而不是再去买两台车。所以边际效应递减,最终会倒逼供给侧升级,然后带来消费升级。

什么是边际成本递减?

说完了边际效应递减,我们再来说说边际成本递减。边际成本指的是每一个生产一个新产品,带来的总成本增量。

比如你要开一家奶茶店,需要购买的设备,支付的房租,这些成本都是固定的。

如果您一天只卖出去一杯奶茶,那这一杯奶茶的成本就相当于整个店的成本。但您卖的奶茶越多,每一杯奶茶所分摊的成本就会越低,如果一天能卖出去1000杯奶茶,那么每杯奶茶的成本就非常低了,这就叫做边际成本递减。

也就是:生产规模越大,单位生产成本就越小

简单来说,就是公司在产品畅销的情况下,生产规模越大,单位生产成本就越小。

软件开发中的边际成本

软件系统价值主要分为行为价值和架构价值。

  • 业务价值(核心价值)

需求的实现,以及业务可用性保障(功能性 bug 、性能、稳定性)

  • 架构价值

需求变更时,软件变更成本低且可控

试问几个问题:

  • 研发工程师的数量与开发代码量成正比么?

  • 研发工程师的数量与代码维护成本的关系是怎样的呢?

  • 研发工程师的数量与研发效率的提升又有何关联呢?

事实表明,随着软件复杂度的上升,工程师人数随之增加,但是代码量到达一定量之后涨幅呈现缓慢。但是代码维护成本却呈指数级上升,同时工程师的生产效率也会随之降低,需求变更维护成本增大。

比如性能优化。“优秀的程序员应该榨干每一字节内存”,听起来很熟悉,不是吗?但经济学上来讲,边际效应决定了一次项目中,越优化性价比越低。有一个很容易被忽略的事实:硬件其实比程序员要便宜。

经典著作《人月神话》里介绍过一个工作量与进度理论:人月

用人月作为衡量一项工作的规模是一个危险和带有欺骗性的神话,它暗示着人员的数量和时间可以相互替换。

沟通 = 培训(线性) + 交流(n(n-1)/2)

错综复杂的关系下,沟通交流的工作量非常大,消耗掉任务分解所节省下来的时间,从而,增加人手,实际上延长了而不是缩短了进度。

- END -

作者:架构精进之路,专注软件架构研究,技术学习与个人成长,关注并私信我回复“01”,送你一份程序员成长进阶大礼包。

Thanks for reading!