作为一个架构师,必须要在有限的资源下最大化架构活动所带来的商业价值。对于任何一个架构活动而言,架构师的可用资源,包括商业成本、研发成本、时间成本、迁移成本等等,都是非常有限的。但架构活动就是要在这些限制条件之下,将商业价值最大化。
商业价值 (Business value) 呢,就是从现金收入的视角看价值创造的过程。你每天忙碌的工作,从企业的收入上来说,可以为公司带来什么样的短期和长期现金和其他收入,那么对这部分收入的量化,就是你创造的商业价值。简单来说,商业价值就是帮助公司获取商业收入。
那么作为一个技术人员,本来是写代码做架构设计的,那你是怎么为公司创造商业价值的呢?从创造商业价值视角来看,你的代码和设计有三个作用:实现一个商业模式;提升一个商业模式的效率;加速一个商业模式的收敛速度。
作为技术人,我们可以把自己领域的商业模式用一个公式来表达;然后学会在这个公式中,寻找并创造自己的价值。这个公式,其实就是对所在行业的商业逻辑的数学表达,也就是我们常说的 KPI 的逻辑。
对于一个架构师而言,你必须深入理解自己所在公司和团队的商业模式,并且想尽一切办法去最大化这个商业模式的成功概率。这样你才能通过工作为公司创造商业价值,同时也为你自己创造长期的商业价值。
我们研究一家公司的商业模式,就是希望你认真理解自己所处的工作环境。对于一个业务部门而言,存在不一定合理,只有提供稳定商业价值的存在才是合理的。
每个人都要有自己的商业模式。意思是说,你必须在工作环境中找到创造价值的方式,这样才能保障自己一直被需要,也能保障未来的收入。那就是你要为公司、部门或团队提供可量化的增量价值。
第一是增量价值,就是你通过工作所创造的价值,是在社会提供的平均价值之上的。
第二个是可度量性。有些做技术的人会秉持这样一种态度,似乎他创造的价值极其普适,普适到像空气一样,以至于不能量化成商业价值,甚至谈度量就是对他工作的一种侮辱。
如果你已经是一个架构师了,你可能发现刚才讲的这两种方法已经不够用了。因为架构师需要做的是,在一个相对复杂的问题上引导实施一个结构化的解决方案。这个方案的参与者是一群人,所以架构师的产出不完全靠自己,而是靠撬动一群人来完成架构目标。
在这种情况下,一个架构师想要创造长期的商业价值,就必须同时满足三个条件:
- 确保最终架构方案的可行性。
- 确保参与方达成一个合理的实施路径,最终能够完成实施。
- 确保设计方案可以最大化解决方案的结构性。
这三个条件很难被同时满足。架构师之所以参与一个方案,往往有这么几个原因:已经有现成的方案,但比较复杂;参与团队众多,但各个团队的优先级不一样;公司压力大,能够投入到现存方案的人力资源有限。这就意味着你作为一个架构师,需要在资源有限的条件下做取舍。
这个时候,你作为一个架构师至少有三种不同的选择路径:
- 一种是在现有的两种网关上各自加安全功能;
- 一种是迁移和整合现有的网关,然后再加安全功能;
- 一种是在这两个网关之外再加一层安全网关,之后再想办法把现有的网关能力都迁移上去。
在不同的交付时间、需求压力、现有系统复杂度和研发人员能力的组合之下, 这三种方案都可能是最好的方案。但作为架构师,就要在兼顾方案可行性和实施路径合理性的同时,寻找一个最合理的结构化方案。所谓最合理的结构,就是从长期看,网关层不是越来越复杂,而是全公司统一、易维护和高可用。
架构和做业务一样,都不能靠饱和取胜,而是靠对阶段性精确目标的最大化投入来取得进步。