“中台”是架构的捷径吗?
软件领域没有“银弹”,架构没有捷径!
由于“中台”概念的推动,关心业务架构的读者越来越多,很多企业也对实施“中台”、“中台”方法论趋之若鹜。历史总是相似的,之前无论 SOA、微服务、DDD,还是敏捷开发、双模开发等热门技术概念出现时,都曾经给大家燃起“捷径”的希望。
然而,最终还是证明了软件领域没有“银弹”,很多时候,反倒是应了北欧的一句民谚:捷径是迷路的最快方法。
架构没有捷径,无论从架构的设计、架构的落地还是架构的学习方面来讲,都是如此。
1. 架构设计没有捷径
架构设计如同求医问诊,必须对症下药。盲目相信任何已有架构设计成果都是很危险且极不负责任的。每个人的身体都各有特点,企业也是如此,而企业级转型、企业级工程是对企业现有能力的最大调整,需要企业在认清自己的基础上进行,任何忽略“向内看”过程的架构设计,都是为今后的混乱,甚至失败埋下伏笔。
对于复杂手术,不经过详细的诊断,不经过对术式反复揣摩,医生不会轻易为患者开刀,否则,不啻于用生命做试验。软件工程虽然少有“人命关天”的事情,但是,浪费时间也等同于浪费生命。
没有为企业做过深入“体检”而轻易相信“领先实践”,很容易把在架构设计上节省的时间和精力,加倍“奉还”到实施过程中去。
企业级架构设计往往给人以过于漫长、难以响应变化的印象,但是,人们恰恰忽略了由此带来的架构认知的积累,以及由量变到质变的过程。
当人们感慨一次“传统”的企业级业务架构设计方式可能耗时一到两年,而互联网时代非常追逐“快”时,其实并没有充分意识到,互联网企业的架构,比如阿里的“中台”也经历了十余年的积淀,而且十余年的积淀也还只是理清了一个方向,不然也不会有今日对“中台”概念的众说纷纭。
互联网架构并不代表架构设计上有“捷径”,反而证明了,任何“快”都来自于自身的积累,是充分“向内看”才有了外在的“快”。“快”源自对业务的深刻理解,“中台”对公共能力的沉淀正是来自于对业务能力的归纳和提炼,所以阿里才十分重视业务架构师的培养,而对“中台”的探索绝不仅限于对公共能力的沉淀,最终会上升到对企业整体、对何为业务经营的认识,这是一个自然的过程。
笔者在最近与原阿里中台核心架构师毗卢老师的交流中了解到,他们在进行中台设计时也在反复思考技术要努力支持业务经营的快速变化。
那业务经营到底是什么?其实,大家关注的问题从领域级逐步上升到企业级之后,是一定会思考到底企业是什么、企业如何运转这些问题的。
互联网架构并非简单地快速试错,这种试错是对业务选择能力的支持,而从技术视角看,则是对架构能力的不断提炼,是架构的强大才有了快速设计的可能。
所以,架构设计没有捷径,唯有积累,通过积累提高了对企业自身的了解、对架构设计的驾驭能力,才有了可以快的“资本”。
此处,还得再说一次前边提到的北欧民谚:捷径是迷路的最快方法,无论是企业还是个人,切换架构设计方法前,都要对学习曲线有深刻的认识,否则,当别人在原来的方向上越走越远时,你可能还是在原地打转,只不过为别人提供了案例。
笔者 2019 年在公司负责搭建风险管理体系,而该项工作再次让我认识到,架构不是可以“抄”的。
风险管理是个很成熟的领域了,三道防线的体系设计方式,无论是金融企业还是科技企业、无论是国内企业还是国外企业都在使用,但是,你却无法直接把其他企业的防线设计简单套用过来,必须一个工作事项一个工作事项地分析自己企业的流程,确认风险点,确认工作事项的负责团队,落实具体的风控职责,之后,再考虑风控措施是否可以实现“机控”,而这一切又取决于该工作事项是否已经线上化。
这样才能形成一个与实际工作环境相符,并融合数字化风控方向的全面风险管理体系。这种深入细节的体系建设无法通过照搬任何现成经验来获得,否则会出现“削足适履”的情况。没有“捷径”,只有“路径”。
2. 架构落地没有捷径
经常有读者好奇企业级业务架构设计如何落地,笔者在书中、在 2019 年 12 月南京的中台大会上都直言,企业级业务架构设计的落地过程没有任何神秘和特殊,也不该有,今天笔者认为企业级业务架构日益重要,并不是因为它有什么落地的捷径,任何架构设计的落地过程都是靠一个逻辑一个逻辑、一个模块一个模块地实现的。
企业级业务架构设计只是让业务端的整理更加的结构化、整体化了,不同于需求分析对局部细节的关注,也不同于产品分析的领域性特点,企业级业务架构关注的是企业能力的整体规划和结构化表达,但它并不意味着在实现层面有何特殊性,它只是提供了软件过程中的一个“指挥棒”,通过业务架构设计形成对软件功能划分的指导。
而更重要的是,通过业务和技术都能理解的业务架构模型,使企业内部形成可以交流、甚至可以跨领域交流的“共同语言”。
这个“指挥棒”对于提升企业的整体性而言是必不可少的,管理学上一直在研究如何让企业内部形成管理合力。
业务架构诞生初期,在上个世纪 80-90 年代,企业的信息化程度还不如今日这么高,业务和技术的深度融合还没有受到应用的重视,但是今天,淘宝、滴滴、美团、头条等跨界竞争者给传统行业的原有企业造成了极大的竞争压力,乃至很多人都认同未来企业大部分都将转型为科技企业,工行的领导者最近也发表了此类言论。
由此可见,加强业务与技术的深度融合已经十分必要了,而业务架构正是符合这种时代要求的工具,赋予企业清晰的能力视图,清晰的结构加上架构的演进,就可能会不断提升架构的弹性。
企业管理经常追求韧性,常说希望企业能够像拧毛巾一样,越拧越紧却不会拧断,而未来,鉴于企业都具有科技属性,这样的“韧性”可能就要来自于架构的“弹性”了。
提升企业的整体性犹如进行马拉松训练,业务架构虽然提供了一个有力的工具,但是马拉松还是得依靠训练者一步一步地跑完,成绩的提升完全取决于训练者自身的能力和毅力。
回到软件工程上,架构落地即便是采用敏捷过程,也不意味着靠的是什么“捷径”,而只是对工程组织方式的改进和对效率的追求。
笔者近日阅读了《敏捷革命》一书,与广为流传的“敏捷价值观”相比,敏捷方法的原创者其实更在意的是如何通过信息的充分获取与共享、良好的思维模型,以短周期的方式迅速提供核心价值,从而降低项目周期过长导致的项目失败风险,通过多轮短周期的可控“冲刺”替代长周期的不可控过程。
原创者非常推崇 OODA 原则,也就是飞行员训练中采用的“观察 - 导向 - 决定 - 行动”模式,其实每一次敏捷的 Scrum 中都体现了这一思想。
“观察”代表了对全面信息的迅速获取;“导向”是依靠思维模型进行快速分析,也就是快速的设计过程;“决定”就是确定结论,不再犹豫,“行动”就是将决定付诸实现。
原创者在书中也强调一个 Scrum 内,需求确定后就尽可能不动,这与飞行员的“决定”、“行动”的模式一样,因为空战时间太短了,几乎没有后悔重来的机会。
敏捷方法原创者十分推崇丰田的生产方式,笔者恰好最近也读了《新乡重夫谈丰田生产方式》一书。丰田的生产方式,又称“精益生产”、“Just-in-time”,是对拒绝“浪费”的极致追求,这个浪费指的不是原材料的浪费,而对是时间、效率的浪费。
比如,丰田在思考原材料在不同生产场地间搬运造成的浪费时,首先的解决思路是如何做到不搬运,通过这种思考去调整生产环境;再比如,在反思如何提高打磨零件毛刺工作的效率时,采用了引入欧洲真空加工技术,让零件根本不产生毛刺的方法。
诸如此类的例子还有很多,正是通过这种对点滴效率提升的持续近 20 年的不断追求,才最终打造出丰田生产方式。
任何方法的形成都是一个长期积累和反思的过程,而应用这些方法也需要使用者付出合理的努力加以掌握,架构设计的落地说到底是软件工程问题,没有捷径,只有持之以恒的效率提升。无论是给予敏捷方法原创者灵感的丰田生产方式,还是敏捷方法原创者自己的实践历程,都是一个对方法持续改进、日益精熟的过程。
没有真正理解方法之前,根本谈不上效率,与其总是在方法之间换来换去地求“快”,不如真把自己已有的功夫练到极致,只要解决问题的效率高,你自己就是“一派”。“四万八千法门”都能成佛,能够在修炼过程中“博采众长”就更好了,其实敏捷方法的原创者也正是这样创立敏捷方法的。
3. 架构学习没有捷径
没有成为架构师的捷径,只有勤学苦练。架构的学习需要很多基础性工作,需要很广泛的涉猎,这方面笔者在《六方面学习,帮你走上业务架构师之路》一文中有所介绍,在架构能力、流程优化、建模技术、软件过程、编程语言、整体思维方面,都有很多知识需要学习,也列出了一些参考书目,此处不再赘述。
无论是哪一种架构师,都需要深厚的积累,架构师都是项目堆出来的。
不可否认的是,互联网企业架构师成长确实很快,这也许是企业机制提供了更多的考验机会给适任者,使其能够快速进步。如果说培养架构师有什么勉强可以称之为“捷径”的方法,对企业而言,就是认真思考下自己是否建立了快速发现人才、培养人才的机制吧,否则,阿里说过了,业务架构师只能自己培养,没有合适的人才是什么也干不成的。
最近在一部《Doctor X》的连续剧中,医术高超的女主角在一场难度极高的手术中,说了这样一段话:“就像河水流淌一样,反复的基本技巧,就能创造出美丽的最终术野,那就是理想的手术……最重要的是,不管手术再艰难,也不能抛弃患者”,笔者想,这也同样适用于架构领域吧。
架构没有捷径,有的只是前人的肩膀,努力学习,积极实践,消化理解,真正站在前人的肩膀上,才可能看到前进的方向,而前人的肩膀也不仅限于你所从事的行业。