架构每日一学 3:架构师六个生存法则之一:如何找到唯一且正确的架构目标?(二)

在这里插入图片描述

本文首发于公众号:腐烂的橘子

上一篇文章中,我们讨论了架构师第一个生存法则:必须有且仅有一个目标。今天我们主要讨论下如何找到这个目标。

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

每一个企业的第一任务首先是活下来,然后再盈利。那么想活下来就得保证,架构活动是能为企业带来长期生存优势的。那这个正确目标究竟是什么?恐怕没人知道。也许你知道这次架构活动里,我们业务的目标是什么,但是这个业务目标服务的终极目标究竟是什么,我们很难说清楚。

比如我们实际开发过程中,可能只是做了一个成本监控的服务,可能只是开发了一张采量的 UV 报表,如果你非说这些项目为什么能为企业生存带来优势,那可能也答不上来。

我们只能说去通过一些措施保证我们走在正确的道路上,保证所做的事是无限接近这个终极目标的。方法就是不断询问自己一个问题:这个架构规划为什么可以给企业带来生存优势?

当你回答这个问题时,也就包含了这几个维度的理解[1]:

  1. 促进企业规模化
  2. 加速企业模式探索
  3. 提升企业效率
  4. 提升用户体验

有了这几个要素,我们可以在评估一个架构方案时,根据每个要素的权重,拆分出一些量化的指标,有助于我们深入理解这个结构方案是否无限逼近我们的目标。

然而在中国的互联网环境中,架构师往往不是在两个最大化生存优势的项目中做选择,而是在没什么优势的项目中整的你死我活。比如腾讯、京东的电商巨头之战,为了占领市场,每天投入进千万成本,这么大的成本,每个人都在拼命砸,但是又不敢放弃,生怕松懈就被淘汰。后来的事情我们也知道了,京东和腾讯就什么较劲了两年,后来刘强东去美国待了 8 个月,腾讯趁机开足马力,结果还是没比过京东,于是刘强东回国后,京东就和腾讯达成合作,腾讯推出电商业务,改为持有京东股份并为京东提供流量支持。

但是细细品味这几个电商平台,每家其实都有自己的唯一目标,就是因为有了这个唯一目标和最大化的投入,才有了京东、淘宝、拼多多这几个胜出的电商。

作为一个架构师,如何判断一个目标是不是正确的呢?

  1. 首先判断这个目标是否符合企业的战略意图
  2. 如果不符合,你要通过沟通去影响甚至改变这个目标,这是作为架构师的义务,需要发挥积极主动的习惯
  3. 如果符合,可以看下有没有更逼近企业战略意图的目标

这里其实有两个问题:一是很多企业的架构活动中没有目标,业务说什么做什么;二是在发现目标不契合时,加上程序员本身内向的比较多,没人会勇敢提出来。这就需要我们发挥主观能动性,如果自己感觉目标不对,要用于提出来,或许你的一次指正会阻止企业不必要的犯错。如果我们能保持这样的习惯,我们对于决策的正确性会更有信心。

作为一个架构师,如何影响架构目标

目标往往没有对错,只有合适不合适。作为一名架构师,需要调整目标,来让这个目标无限逼近公司战略呢?

从技术上讲,可以问自己如下几个问题:

  1. 新方案的实现成本有多少?
  2. 新方案上线后带来的短期价值有多大?
  3. 新方案是否有全面替代方案?
  4. 全面替代的实施成本有多少?
  5. 全面替代之后,这个新方案带来的长期价值是什么?
  6. 如果不能全面替代,而是两套方案并存,增量维护成本有多大?

这些问题在询问时也要注意方式方法,如果有人给了你一个方案,你直接把这几个问题抛给他,如果他直接就吓跑了,认为你不赞同。这时比如成本有多少之类的问题,可以让提出方案的人再去调研下,这样这个新方案如何也许他自己心里就有了答案。

从业务上讲,业务往往会有很多个目标,这时可以由架构师根据优先级来决定我们当先要先做什么,什么该舍弃或者后面再做。事实是架构师如果不做把控,由于业务提出的需求很多,什么该做,什么不该做就会由具体执行者决定,权限下放可能导致目标没有逼近终极目标。

总结

总之,确定架构的目标是一个过程,这个过程我们要发挥作为架构师的义务,坚持原则做事,保证架构目标是符合公司战略的。如果需要调整目标,我们也需要用人性化的方式去调整,否则别人是不会听你的。如果目标太多,作为架构师要主动做出取舍,目标如果可以合并也要合并,保证架构活动是基于原则的。

参考

  1. https://time.geekbang.org/column/article/464541

本文由mdnice多平台发布

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/593753.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

unity制作app(3)--gps定位

1.unity中定位Unity之GPS定位(高德解析)_unity gps定位-CSDN博客 代码需要稍微修改一下,先把脚本绑到一个button上试一试! 2.先去高德地图认证(app定位) 创建应用和 Key-Web服务 API | 高德地图API (ama…

结构体介绍(2)

结构体介绍(2) 前言一、结构体的内存对齐之深入理解为什么存在内存对齐?修改默认对齐数 二、结构体传参2.1:该怎么传参呢? 三、结构体实现位段3.1什么是位段位段的内存分配位段的跨平台问题 总结 前言 根据之前讲了结…

CMakeLists.txt语法规则:改变行为的变量说明二

一. 简介 前面一篇文章学习了 CMakeLists.txt语法中的 部分常量变量,具体学习提供信息的变量,文章如下: CMakeLists.txt语法规则:提供信息的变量说明一-CSDN博客 CMakeLists.txt语法规则:提供信息的变量说明二-CSD…

【计算机网络原理】万字长文,持续更新...

文章目录🥰 计算机网络原理1.2 因特网概述1 网络、互联网(互连网)和因特网2 因特网发展的三个阶段ISP的概念基于ISP的三层结构的因特网 3 因特网的标准化工作4 因特网的组成 1.3 三种交换方式:电路交换、分组交换和报文交换电路交…

ctfshow 框架复现

文章目录 web 466web 467web 468web469web 470web 471web 472web 473web 474web 475web 476 web 466 Laravel5.4版本 &#xff0c;提交数据需要base64编码 代码审计学习—Laravel5.4 - 先知社区 (aliyun.com) 用第二条链子 反序列化格式 /admin/序列化串base64<?php na…

【多模态】29、OCRBench | 为大型多模态模型提供一个 OCR 任务测评基准

文章目录 一、背景二、实验2.1 测评标准和结果2.1.1 文本识别 Text Recognition2.1.2 场景文本中心的视觉问答 Scene Text-Centric VQA2.1.3 文档导向的视觉问答 Document-Oriented VQA2.1.4 关键信息提取 Key Information Extraction2.1.5 手写数学公式识别 Handwritten Mathe…

图片浏览软件-XnView

一、前言 XnView MP / Classic是一款免费的图像查看器&#xff0c;可轻松打开和编辑照片文件。图像查看器支持所有主要的图像格式&#xff08;JPEG&#xff0c;TIFF&#xff0c;PNG&#xff0c;GIF&#xff0c;WEBP&#xff0c;PSD&#xff0c;JPEG2000&#xff0c;OpenEXR&am…

ssm106学生公寓管理系统的设计与实现+jsp

学生公寓管理系统设计与实现 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本学生公寓管理系统就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短…

matlab例题大全

1.第1章 MATLAB系统环境 1.1 注&#xff1a;plot函数为画图函数。例plot&#xff08;x1,y1,:,x2,y2,*&#xff09;; 1.2 注&#xff1a;root为求根函数。p为方程变量前面系数矩阵。 1.3 注&#xff1a; 2*x3y-1*z 2; 8*x2*y3*z 4; 45*x3*y9*z 23 求&#xff1a;x,y,z的…

python数据分析——大数据和云计算

大数据和云计算 前言一、大数据二、大数据定义三、数据存储单位四、大数据存储技术五、大数据应用技术六、大数据特征七、数据容量八、数据类型的多样性8.1结构化数据8.2半结构化数据8.3非结构化数据 九、获取数据的速度十、可变性十一、真实性十二、复杂性十三、价值十四、云计…

2023下半年软件设计师上午题——冒泡排序

快速排除法&#xff0c;根据冒泡排序特性&#xff0c;每一趟排序都会确实最大/最小值&#xff0c;故升序两趟后&#xff0c;最后两个元素应该是已经排序好的第二大&#xff0c;和最大的元素&#xff0c;所以排除B,D&#xff0c;再因为每次排序都会两两交换&#xff0c;所以排除…

第五十一周:文献阅读+CNN-LSTM-AM

目录 摘要 Abstract 文献阅读&#xff1a;基于CNN-LSTM-AM时空深度学习模型的城市供水预测 现存问题 提出方法 创新点 方法论 CNN-LSTM-AM模型 研究实验 数据集 预处理 评估指标 实验过程 合格性验证 模型实现 总结 摘要 本周阅读的文献《Urban Water Supply …

C#知识|上位机项目主窗体设计思路及流程(实例)

哈喽,你好啊,我是雷工! 昨天练习了登录窗体的设计实现,今天练习上位机项目主窗体的设计实现。 01 主窗体效果展示 02 实现步骤 2.1、添加主窗体 添加窗体,名称:FrmMain.cs 2.2、窗体属性设置 将FrmMain窗体属性FormBorderStyle设置为None,无边框; 将FrmMain窗体属性…

C++进阶 | [2] 多态

摘要&#xff1a;多态的概念&#xff0c;多态的条件&#xff0c;虚函数的重写&#xff0c;抽象类&#xff0c;多态的原理&#xff0c;虚函数与虚函数表&#xff0c;与多态有关的问答题 1. Concept 多态的概念&#xff1a;通俗来说&#xff0c;就是多种形态&#xff0c;具体点就…

python数据分析——数据分析的统计推断

数据分析的统计推断 前言一、提出问题二、统计归纳方法三、统计推断四、统计推断步骤4.1.点估计4.2.区间估计4.2.1. 总体方差已知4.2.2总体方差未知 4.3. 假设检验4.4. 假设检验的假设4.5.显著性水平 五、检验统计量六、检验方法七、拒绝域八、假设检验步骤九、重要假设检验方法…

五一假期零碎时间练习学习过的内容(商城版)

目录 1 总览1.1 技术架构1.2 其他1.2.1 数据库1.2.2 后端部分1.2.2.1 复习feign1.2.2.2 复习下网关网关的核心功能特性&#xff1a;网关路由的流程断言工厂过滤器工厂全局过滤器 过滤器执行顺序解决跨域问题 1.2.2.3 es部分复习 1.2.3 前端部分 2 day1 配置网关2.1 任务2.2 网关…

cloudreve手动添加文件

cloudreve导入本地已有的文件&#xff0c;不需要再次上传 需要更新版本到3.1及更高 在【管理面板】-----【文件】导入 如上图&#xff1a; 选择目标用户、原始路径、目的路径&#xff0c;创建导入任务即可&#xff01;

免费可商用字体素材大全,办公设计字体合集打包166款

一、素材描述 这是一套免费可商用字体素材&#xff0c;这些字体一般会在办公与设计的时候用到&#xff0c;比如&#xff0c;Photoshop、illustrator、Coreldraw、AfterEffects、Indesign、WPS、Office&#xff0c;等等&#xff0c;想要更好更快地办公与设计&#xff0c;字体还…

项目管理【人】概述

系列文章目录 【引论一】项目管理的意义 【引论二】项目管理的逻辑 【环境】概述 【环境】原则 【环境】任务 【环境】绩效 【人】概述 一、项目涉及到的人 1.1 项目发起人、项目指导委员会和变更控制委员会 项目发起人&#xff08;Sponsor&#xff09; 项目指导委员会&…

翻译《The Old New Thing》 - Why does the CreateProcess function do autocorrection?

Why does the CreateProcess function do autocorrection? - The Old New Thing (microsoft.com)https://devblogs.microsoft.com/oldnewthing/20050623-03/?p35213 Raymond Chen 在 2005 年 6 月 23 日 为什么 CreateProcess 函数会进行自动更正&#xff1f; 译注&#xff…