本文首发于公众号:腐烂的橘子
上一篇文章中,我们讨论了架构师第一个生存法则:必须有且仅有一个目标。今天我们主要讨论下如何找到这个目标。
确认一个正确目标且要试图逼近它
每一个企业的第一任务首先是活下来,然后再盈利。那么想活下来就得保证,架构活动是能为企业带来长期生存优势的。那这个正确目标究竟是什么?恐怕没人知道。也许你知道这次架构活动里,我们业务的目标是什么,但是这个业务目标服务的终极目标究竟是什么,我们很难说清楚。
比如我们实际开发过程中,可能只是做了一个成本监控的服务,可能只是开发了一张采量的 UV 报表,如果你非说这些项目为什么能为企业生存带来优势,那可能也答不上来。
我们只能说去通过一些措施保证我们走在正确的道路上,保证所做的事是无限接近这个终极目标的。方法就是不断询问自己一个问题:这个架构规划为什么可以给企业带来生存优势?
当你回答这个问题时,也就包含了这几个维度的理解[1]:
- 促进企业规模化
- 加速企业模式探索
- 提升企业效率
- 提升用户体验
有了这几个要素,我们可以在评估一个架构方案时,根据每个要素的权重,拆分出一些量化的指标,有助于我们深入理解这个结构方案是否无限逼近我们的目标。
然而在中国的互联网环境中,架构师往往不是在两个最大化生存优势的项目中做选择,而是在没什么优势的项目中整的你死我活。比如腾讯、京东的电商巨头之战,为了占领市场,每天投入进千万成本,这么大的成本,每个人都在拼命砸,但是又不敢放弃,生怕松懈就被淘汰。后来的事情我们也知道了,京东和腾讯就什么较劲了两年,后来刘强东去美国待了 8 个月,腾讯趁机开足马力,结果还是没比过京东,于是刘强东回国后,京东就和腾讯达成合作,腾讯推出电商业务,改为持有京东股份并为京东提供流量支持。
但是细细品味这几个电商平台,每家其实都有自己的唯一目标,就是因为有了这个唯一目标和最大化的投入,才有了京东、淘宝、拼多多这几个胜出的电商。
作为一个架构师,如何判断一个目标是不是正确的呢?
- 首先判断这个目标是否符合企业的战略意图
- 如果不符合,你要通过沟通去影响甚至改变这个目标,这是作为架构师的义务,需要发挥积极主动的习惯
- 如果符合,可以看下有没有更逼近企业战略意图的目标
这里其实有两个问题:一是很多企业的架构活动中没有目标,业务说什么做什么;二是在发现目标不契合时,加上程序员本身内向的比较多,没人会勇敢提出来。这就需要我们发挥主观能动性,如果自己感觉目标不对,要用于提出来,或许你的一次指正会阻止企业不必要的犯错。如果我们能保持这样的习惯,我们对于决策的正确性会更有信心。
作为一个架构师,如何影响架构目标
目标往往没有对错,只有合适不合适。作为一名架构师,需要调整目标,来让这个目标无限逼近公司战略呢?
从技术上讲,可以问自己如下几个问题:
- 新方案的实现成本有多少?
- 新方案上线后带来的短期价值有多大?
- 新方案是否有全面替代方案?
- 全面替代的实施成本有多少?
- 全面替代之后,这个新方案带来的长期价值是什么?
- 如果不能全面替代,而是两套方案并存,增量维护成本有多大?
这些问题在询问时也要注意方式方法,如果有人给了你一个方案,你直接把这几个问题抛给他,如果他直接就吓跑了,认为你不赞同。这时比如成本有多少之类的问题,可以让提出方案的人再去调研下,这样这个新方案如何也许他自己心里就有了答案。
从业务上讲,业务往往会有很多个目标,这时可以由架构师根据优先级来决定我们当先要先做什么,什么该舍弃或者后面再做。事实是架构师如果不做把控,由于业务提出的需求很多,什么该做,什么不该做就会由具体执行者决定,权限下放可能导致目标没有逼近终极目标。
总结
总之,确定架构的目标是一个过程,这个过程我们要发挥作为架构师的义务,坚持原则做事,保证架构目标是符合公司战略的。如果需要调整目标,我们也需要用人性化的方式去调整,否则别人是不会听你的。如果目标太多,作为架构师要主动做出取舍,目标如果可以合并也要合并,保证架构活动是基于原则的。