郭东白的架构课
郭东白
酷澎网络科技副总裁,前车好多集团 CTO,前阿里 P10
36979 人已学习
新⼈⾸单¥68
登录后,你可以任选4讲全文学习
课程目录
已完结/共 67 讲
春节声明 (1讲)
模块二:创造价值 (21讲)
郭东白的架构课
15
15
1.0x
00:00/00:00
登录|注册

03|法则一:如何找到唯一且正确的架构目标?

用架构原则判断决策质量
保障整个架构活动有且仅有一个正确的目标
有勇气去做正确的架构决策
通过技术手段做延迟或隔离决策
无度的索求导致取舍权被分散给执行者
决策者的取舍权
考虑人才成长和团队稳定性
六个问题评估新方案的价值
引导技术人员从战略角度思考架构方案的价值
判断目标是否正确的建议
项目必要性的论证需要量化工具
评分卡方式对架构方案进行全局产出度量
量化指标作为预期产出
理解价值创造维度
问题:架构规划为何能给企业带来生存优势?
分享成功劝阻目标错误的架构活动的经历
分析宏伟的技术项目的成功或失败原因
回顾不合理的架构方案,思考是否考虑过“为企业创造生存优势”原则
如果目标太过超前怎么办?
关于业务项目的目标
关于技术驱动的目标
确认一个正确目标,且要试图逼近它
思考题
如何寻找正确的架构目标?
郭东白:如何找到唯一且正确的架构目标?

该思维导图由 AI 生成,仅供参考

你好,我是郭东白。上节课我们讲了目标在架构规划中的重要性,也明确了目标缺失的两大根因。那么这节课,我们就来聊聊该如何寻找正确的架构目标,以及如果目标制定错误,该如何挽回。

如何寻找正确的架构目标?

主要分为三种情况,我们来分别讨论。

确认一个正确目标,且要试图逼近它

一般来说,我们相信达尔文的进化论是普遍适用的,那么企业的所有活动都应该指向一个终极目标:它们要能够为企业带来长期的生存优势。架构活动作为企业活动的一种,自然也逃不出这个终极目标的五指山。
但这个终极目标太难验证了。怎么知道我们的架构设计会对公司产生什么深远的影响呢?我不就是设计一个 50 人日的评价体系或流量归因的服务吗?不至于还要在架构设计文档里评估对企业的生存优势吧?再说了,就算我想做,也不知道怎么评估啊!
你肯定会有这么一连串的疑问,而标准答案是什么,其实我也不知道。不过在做架构设计之前,我永远都会问自己这样一个问题:这个架构规划为什么可以给企业带来生存优势?
对这个问题的回答,其实渗透了你对几个价值创造维度的理解,包括:促进企业规模化;加速企业模式探索;提高企业效率;提升用户体验的理解。当然,最理想的情况下,你还应该把一系列可以量化的指标作为架构方案的预期产出。然后你就可以用评分卡的方式,对架构方案有个全局的产出度量。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

在技术驱动的架构目标决策中,如何应对业务目标不明确或过多的情况是一个重要议题。本文强调了决策者在确定目标时的重要性,以及决策者需要行使取舍权来明确目标。作者指出,在确定架构目标时,需要全面考虑实现成本、短期价值、全面替代性、长期价值以及增量维护成本等因素,并强调了正确的架构目标应与企业战略意图匹配。此外,文章还提到了在业务目标不明确的情况下,如何通过反馈、自行确定优先级、争取取舍权以及技术手段来应对。通过具体案例和问题分析,本文为读者提供了在技术驱动的架构目标决策中应该考虑的关键因素,对技术人员和架构师具有一定的指导意义。文章还强调了架构师必须尽量保障整个架构活动有且仅有一个正确的目标,且这个目标必须和公司的战略意图相匹配。这一原则能够帮助架构师找到现有方案的弱点,并在需要时敢于讲真话。总的来说,本文提供了关于技术驱动的架构目标决策的重要原则和应对策略,对于架构师和技术人员具有重要的参考价值。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《郭东白的架构课》
新⼈⾸单¥68
立即购买
登录 后留言

全部留言(60)

  • 最新
  • 精选
  • 新起点
    感谢东白老师的精彩分享,听完这一章,我想说的是:从最初设定且完成论证的架构目标,它是一个项目和平台的输入条件之一,而在整个项目或者平台构建发展过程中,它一直在不断地完善与进化,它又同时是一个输出。所以,架构师在整个架构活动中,需要不断提取成果(哪怕是失败成果)来完善架构目标,得以完善后的架构目标,再重新成为整个项目的输入,这样周而复始循环下去,直到项目完成。 可能有人会提到,定好的架构,为什么要不断优化完善呢?因为外界一切环境都在变,当时当刻制定的架构目标,是以当时背景作为起点,即使有一定的技术前瞻性,但是市场、企业,都在不断地再变化来更好的满足客户的需要,那么就回归到东白老师提到的,架构的目标要和企业战略目标保持一致,且能够创造价值。既然要达成这样一个目的,那么它必然不是一成不变的,而是完善中。 最后,我认为架构目标以及架构方案,是持续完善进化的,它既是一个明确的状态,也同样意味着它代表一个过程。

    作者回复: 是的, 总结的非常好!

    2021-12-09
    4
    28
  • ivhong
    感觉老师教的是“做人”,只是拿“架构”来解释说明一下,哈哈,人生高度确实让人折服。通过传授的内容可以看出,老师是一个正直的、有职业操守的、有道德的人! 思考题一: 我在16年参与了公司的比较大的项目,帮助客户从1 到 1 的产品重构,项目本身使用asp.net做的,不知道出于什么原因,要迁移到WNMP架构。当时我算做开发小组比较资深的程序吧,让我做这个项目的技术负责人,以我当时的职位视野,是完全看不到这个项目的出发点、有没有给企业带来“创造生存优势”的这类问题,我只是能判断在周期为3个月(2个月的产品调研、1个月的开发),并且带领一个JAVA团队完成这个项目的计划是完全不赞同的。首先,项目本身完整的需求是没有的,产品文档还在持续的变更;其次,技术团队在WNMP架构中,只有2个人曾经学过一点PHP,其他人都没用过(10个人的技术团队);3. 由于是1 到 1的项目重构,所以哪些是原来保留的功能,哪些是优化新增的功能没有明确的产品文档;4. 产品对接人身在外地,不能很好的沟通。我把这些问题整理好,找到技术经理(我当时的领导),想直接终止这个项目,或者抽身而退,跟领导解释了很长时间,最终的到的答复是,“你要有自信,没问题的!!我也在这个项目里,到时候有困难我帮你出面解决!”(当时我都有掀桌子的冲动)。。没办法,最后这个活儿还是接了下来,当时我的状态至今记忆犹新,开发小组基本上是晚上12点左右下班,他们下班后,我代码review,弄到1点左后,然后下班回到家,大概凌晨2点,凌晨4点就行了,翻来覆去睡不着,于是起来收拾收拾上班,大概凌晨5点半又回到了工位,整理今天要完成的功能模块。最终项目在计划的时间内完成。运行了一个星期,我基本上是住在工位上的,就早上8点左右去某个会议室趴会。因为客户返回的bug很多,很多销售不理解新系统的功能,于是项目就被下线了,换回了原来的老的产品。。。在过了大概半年,大老板业务重点转型,整个项目组都被裁了。。。这段经历是我最最最不想回忆起来的。。又是选择很无奈,甚至是没的选择!但是只要责任在,就必须拼出一条路来!!哪怕粉身碎骨~我虽然不能保证结果,我却能保证过程是向着结果努力的前进着!!结果就交给大佬们吧~不知道我的选择或者做法是否正确,也不知道我今后是否对这段经历有新的认知。总之往各位好运,珍惜机会,做好自己!

    作者回复: 太真实了!!

    2022-04-12
    8
  • Jxin
    1.感觉这里用达尔文进化论不大合适。达尔文进化轮是适者生存,讲的是被动的适应了趋势,而不是主动的看对了趋势。解读达尔文进化轮下适者的基因,是为了理解当下的趋势,而不是获得一个成功的方法论。千团没人猜到美团最后胜出,聚划算也不过是一个做IM系统的临时做的小玩意。但凡基业长青没有不经历波折的,也就是目标都可能会错,关键是及时适应趋势。 2.感觉东白老师这里有块内容,提到了但没点开。求之于势,不责于人。布置/借用趋势去驱动人,而不是责备人不胜任。文中提到要站在他人的视角去理解他的出发点的正确部分是什么,并加以引导。没点开的是这背后其实是在借助趋势帮助个人成长。让他去负责调研全面替代的成本,这是布局。基于这个局他可以感知到你的视角,这是成长。基于成长利驱动他用心完成战略目标,这是最终结果。 3.评论有看到反对人血馒头的说法,我觉得这个观点也是对的。不是每个领导都会从人出发,将下属个人发展的目标和公司战略目标做出正确的关联。当两个目标不匹配时,下属出于自身利益优先追求自己的目标是人之常情,错不在下属而在制度和领导(为什么?求之于势,是自己没把局布置好)。而故意做出错误的架构决策就能说是人血馒头吗?感觉也不合适,当皇帝讲究正大光明,但夺嫡成功之前为了达成特定目标,难免也得用些阴谋诡计。

    作者回复: 首先非常非常感谢你的回复。 观点很新颖。 而且你看得非常细, 连评论区也都看了。 赞! 1. 这个观点你先等一等。 等你看完了法则五, 我建议你再回头来评论一下, 我们一起探讨。 我这里不反驳也不认同。 2. 关于势会展开, 在法则四里面有两节课会讲。 3. 我感觉你试图表达的是“人血馒头”是一个制度和管理状态下的必然产物, 架构师没有其他选项。 但是这个我不认同的, 这个我在法则六专门会表达我的观点和我认为可以试图做的事情,哪怕做不了, 但是道不同不相为谋, 你可以离开, 而不是选择去蘸“人血馒头”。 你第二个夺嫡案例是另外一个伦理问题, 和这个不一样。 就是假设结果是正义的, 过程是不正义是否也情有可原? 这个话题非常大。 如果说我的观点表述成一句话的话,就是从历史来看, 那些不断放弃过程正义的人最终也会放弃结果正义。我在这个模块的结尾还是稍稍深入聊一下这个话题。

    2021-12-13
    7
    8
  • 术子米德
    🤔☕️🤔☕️🤔 * 我参与过的架构,争论技术优势和可行性,就已经把脾气都摩擦出来火花,代入几个案例,就更加是火上浇油,你能举出的例子,别人可以举出更多例子。然后就会在现有架构里,修补一下继续过日子。印象中,从来没有始终围绕过为企业创造生存优势。现在想来,能够知道和能够做到之间,差距不仅在于认知,更在于认知的匹配,以及匹配认知后的坚定执行。 * 这次课程后,给自己播下一个种子,后面参与的架构活动,都不停追问自己:战略在哪里,目标是什么,架构是否在创造生存优势。还有一个困惑,那就是这个种子,如何不会在后面的架构活动时被遗忘,怎么能够真发芽🌱,这也是值得提前思考的问题。

    作者回复: 赞!

    2021-12-11
    6
  • 亚林
    1.请领导做取舍; 2.帮领导做取舍; 3.夺领导的取舍; 4.等领导做取舍。 第3种方法太猛了,注意安全。

    作者回复: 哈哈哈, 谢谢!

    2022-04-13
    5
  • 虎虎❤️
    东白老师,想请教两个问题 1. 就技术项目而言,技术架构的目标和项目目标是一样的吗,有没有区别呢?比如说统一网关作为一个项目。 2. 如果自己在技术决策的时候,目前掌握的信息或者技术细节不确定是否能做出最优的决策。是应该把所有东西都搞清楚再决策,以免返工。还是应该尽量决策,后续再做架构调整或者升级呢? 谢谢。

    作者回复: 1. 不一定一样。 你讲的例子是一样的。 但是大多数的项目的目标是业务目标, 里面会有技术目标作为从属。 2. 搞不懂的情况下的不是在做决策, 是在掷骰子。 信息不全面的时候做决策是常态。 做现有信息下的最优决策,然后在修正就是了。

    2021-12-13
    5
  • kkllor
    第二个问题: 几年前在2B行业,做企业信息管理工具,这个项目最终失败了。原因我觉得最重要的一点是公司短期定的目标过于宏伟,属于“既要”、“又要”、“还要”的类型,远远超出了公司现有资源和能力所能过承载的,有很多的功能都是浅尝辄止,甚至都没来得及上线,严重打击团队信心很多不错的人选择离开。还有一点在于大环境下,企业微信和钉钉等工具的冲击,在当时的资源和能力下无论是产品体验、运营推广、客户维护都相距甚远。如果现在站到当时的场景下决策,应该不会定那么多不切实际的目标,可能会在某个领域深耕来建立竞争优势,毕竟整个2B盘子足够大,拿下一小块也能活的不错吧

    作者回复: “可能会在某个领域深耕来建立竞争优势” 是的,非常同意。 不过必须有数据积累或者是某种形式的知识产权的保护, 否则如果是纯技术大公司还是会抄袭。

    2022-01-12
    3
  • neohope
    郭老师好,其实不仅是美国的三甲医院,中国三甲医院系统同样十分复杂,也要100~200个系统去支持医院的日常运行了,还不包括很多科研类的小系统。您说的问题普遍存在,系统的使用方和采购决策方不一致,经常导致错误决策,即使能局部最优,放到全局有时也是个灾难。 提到失败的项目,我这里也有一个反面例子。曾经有一个软件研发项目,由CTO和研发部门负责推动,大家对项目期望很高,投入了很多的人力财力,经过近两年的研发,试点项目成功上线了。 项目上线之后,国家恰巧也出台了相关政策,公司希望快速推广。此时才发现,根本没人准备好,销售同学没有高质量销售资源、市场和售前同学无法出产品方案、项目经理入场后无法和用户在同一频道沟通、产品安装部署复杂实施同学压力山大、研发部门被要求补齐各方短板,最后拖来拖去错过了整个产品的时间窗口,大家相互指责,部门间对立严重。更可悲的是,公司的现金流产品被边缘化了两年多,后果可想而知。 事后诸葛亮,反思一下。虽然当时大方向是对的,但每个人目标从来没有真正统一过,公司在各维度上距离想做的事情太远。在产品研发期间,不仔细考虑产品目标,不提前准备积累,不提前培养人才,不提前考虑后面怎么办,失败是必然的。

    作者回复: “每个人目标从来没有真正统一过” 是啊。 能做到这件事真的很重要!

    2021-12-28
    3
  • Dom
    问题一 我在14年的时候做过一款硬件产品,产品形态为Android机顶盒,当时高层希望将Android机顶盒做出PC体验,后面在设计整个框架的时候,都是按照这个思路来进行的。那个时候刚毕业,对于系统的理解不深入,最后按照这样的架构设计做出来的产品失败了。这个对我自己的影响很大,我认为技术的出发点一定是产品需求的正确性,所以未来的开发过程中我一定会问清楚这个产品给用户带来的价值。 使用今天的原则,在上面的案例里面是非常适用的。在做任何产品的时候,需要去考虑产品带给用户的价值,带给企业的价值,哪怕老板要求不要管,也需要我们自己独立思考。 独立思考的勇气,这点难得可贵,我们不能因为别人而改变自己的思考,或者是不去思考。或话,在人生的长河中我会遇到挫折,遇到不公,但所有的这些不能改变我独立思考的勇气,不能改变我对理想的追求。

    作者回复: 写得真好!

    2021-12-23
    3
  • 祝晓兰
    分享一下我的一个架构复杂度上升的经历。在传统金融行业做风险管理,曾主导过公司内部的大数据风控决策平台建设,采取外采产品二次开发的模式,一开始项目不被看好只得到一个业务条线的试运行。结果刚好赶上行业内大数据的风口被全公司推广,高管要求覆盖所有条线,需求复杂度上升几倍,性能压力很大。不得不又论证系统架构,是在现有产品传统架构上完善和扩容还是采取厂商新的分布式架构的产品,当时论证了很久。后来考虑到未来扩展成为风控中台以及分布式架构的优势,引入了新的分布式架构产品。新老平台并行使用应对不同条线需求,后期又涉及到老平台是否需要保留的问题,运行了几年决定把老平台下架,数据迁移和改造量巨大。现在回想,一开始也想不到需求复杂度会上升那么多以及分布式架构的流行,导致长时间内有多套引擎在并行。虽然最终实现了业务目标,但是也增加了成本和管理复杂度,如果换成东白老师会怎么选?

    作者回复: 成长的烦恼都还是好的。 多数时候还是要快刀斩乱麻。 我曾经把业务线需求停了一个半月做14套搜索引擎融合。

    2021-12-17
    3
    3
收起评论
显示
设置
留言
60
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部