Skip to content

第 4 章 理解软件背后的生意

程序员总是困在代码中,一厢情愿的以为实现产品经理提出的各种崎岖的需求就是技术高明地体现。如果我们跳出技术的思维来看待软件,将会是别有一番风景。

根据第一性原理,如果我们能找到问题的起源和最根本的地方,就能直奔主题,快速命中目标。 商业软件的逻辑是什么?是技术卓越吗?是代码整洁吗?是设计优美吗?其实都不是,商业软件这个词的前缀是商业,也就意味者赚钱,不赚钱的软件不是商业软件。

企业需要软件,是为了帮助他们节约成本以及赚更多的钱。计算机是一个伟大的发明,它提供了一个通用的平台,只需要简单的编写指令就可以实现一个"机器人"。

老板为了赚钱,它会思考商业模式,思考赚钱的逻辑;进而找到一些人来帮他干活,一起赚钱,这是业务架构。举例来说,靠卖菜赚钱是老板的商业模式,老板组织员工做蔬菜配送是业务模式。我们可以用商业画布来表达商业模式,用业务架构中的服务蓝图、用户故事地图来表达业务模式。

而计算机以及软件工程出现后,一切都变了,好的软件可以代替一大群人的工作,只需要一点点人开发和维护即可,更神奇的是,软件还可以复制分发,简直是一本万利。老板找到了产品经理,让他设计软件来帮助业务人员一起更高效、低成本的工作。描述产品设计的方法有电梯演讲、将 IT 系统纳入服务蓝图、原型图等。

完成产品设计后,需要找到真正理解软件开发的工程师或者架构师来设计领域模型、数据库以及系统结构。 这套链路如此长,以至于过了多年的人们尤其是工程师,只看到了要做一个软件,忘记了为什么要做这个软件。如果工程师理解软件背后的商业目标,就可以理解业务的工作模式,那么也就可以对产品经理提出的需求进行补充、质疑和评审。 有时候当产品经理的设计不那么合理时,我们可以换一种简单的交互方式,就可以避免系统的巨大成本。因为对老板和业务人员来说,软件也只是手段而非目的,但是对于产品经理和软件工程师来说,这就是他们的目的。

软件的逻辑和动机

但是回头来看,如果说业务就是生意,那么就意味着业务等同于商业,但是如果就这样思考,会存在一个误区,很多软件的业务不是直接和钱相关,而是间接和钱相关。

举个例子来说,卡巴斯基和 360 同样都是杀毒软件,可以认为他们的业务模型类似。但是卡巴斯基是通过用户付费实现盈利,360 通过广告盈利,则可以认为他们的商业模型有所区别。但是无论如何,商业软件做出来都是为了赚钱,业务模型会紧贴商业模型变化。同样的,分析商业模型和业务模型的方法也不同,关注的人也不同,所以有必要分开讨论。

所以本章讨论两个问题,软件背后的生意,以及需要设计的软件如何支持生意的完成。要讨论这两个部分,就需要拿出在上一章模型思维中的商业模型和软件业务模型。通过这些模型展开讨论如何快速找到软件背后的生意,以及软件到底创造了什么价值。

Released under the MIT License.