架构师应该关注哪些关键节点?

news/2024/12/2 13:07:41/

架构师视角下的架构活动全生命周期。在整个周期中,一共有八个需要关注的节点。

节点一:搭建架构环境

架构师在架构活动的第一步就是为它搭建一个架构环境。遗憾的是,很多架构师由于没有认识到这个环节的内在价值,所以常常忽略了这一步。

打个比方,架构环境是架构活动在企业真实物理环境中运行的虚拟机。我们的研发是在企业这个大的物理环境下进行的。这个物理环境包括决策环境、商业环境、软件研发环境、文化环境和有限的商业和研发资源等等。在模块一里,我们有系统的介绍。这个环境是全集团共享的一个物理机,而你需要给架构活动搭建一个它自己的虚拟机,来模拟这些完整的环境。而你这个虚拟机宕机了,架构活动也就一块儿宕掉了。

节点二:确认目标

架构师需要保障整个架构活动有且仅有一个正确的目标。在这个节点上,架构师不仅需要确认这个目标的赞助人,还需要确定目标是正确、合理、可达的,也就是一个定义清晰、满足 SMART 原则的目标。

在这个过程中,切忌简单相信,而是要通过事实、数据和严密逻辑来保障决策者、赞助者和执行者等干系各方的利益,为企业找到一个正确、合理、可达的目标。在这个过程中,我们也要试图从中发现一些具有长期价值的行动点,从而吸引那些坚持长期主义的同事也投入到我们的架构活动中来。

节点三:可行性探索

架构师必须要确定最终的目标可达。那么如何在最短的时间内识别尽可能多的风险?如何从全局视角锁定重大风险呢?这就是我在这部分内容要着重阐释的问题。这个环节的目标是,向所有合作方提前传递重大风险,并准备合适的预案,从而得到决策者的支持,以继续全力推进整个项目。当然,如果风险不可控,我们也可以选择叫停,避免重大损失。

节点四:架构规划

有了架构环境、确定目标和可行性探索的基础,我们就可以为架构活动做宏观规划了。这里有四个关键动作,分别是统一语义、执行域映射、任务边界划分和规划确认。而这些动作的目的,就是进一步提升架构活动的高确定性和对目标的高保真性。

架构规划之统一语义。统一语义的过程是一个循环往复的识别不同角色、不同场景、不同语境,然后逐渐建模、整合、修正语义的过程。直到所有参与者的需求能够被准确无损地表达、记录和传递,最终通过架构活动实现出来。

架构规划之需求确认和执行域映射。在统一语义的前提下,我们就可以确认架构活动的核心需求了。在架构规划之初,我们要梳理架构活动的用户角色,发掘每个角色的核心诉求,并从活动目标出发确认需求的正确性与合理性。同时,还要在统一语境下建立问题域模型,与执行者一起推导出从问题域到执行域的映射。在这个过程中,许多领域映射的冲突可能会被暴露,这个时候,我们必须及时将冲突上升,然后尽快解决,尽量避免将冲突带到任务边界划分中去。

架构规划之任务边界划分。任务边界划分是真正体现架构师思考力的地方,也是很多棘手问题集中爆发的地方。在这个环节,我们需要依照搭建架构环境的方法,先为团队建立一组任务边界划分的决策信条。接着,再进行用户需求和任务分解,尤其是对任务颗粒度的判断。最后,我们要确保任务相关的有限资源被提前锁定。

架构规划之任务规划确认。架构规划的最后一个环节是规划确认。在这个过程,我们需要把输入转成一个不但可行而且要有约束力的规划。除了要最小化项目交付风险外,还要确保所有参与者有能力、有意愿履行各自的责任,从而提升交付的确定性。

节点五:正式启动

启动,代表着合同正式签约生效。那么在正式签约之前,我们还有机会将之前未暴露的重大风险公之于众。这也是最后一个暂停或延后架构活动启动时间的机会。

所以在这个环节,我们需要与执行团队完成一次深度握手,为接下来的实施环节提供问题预警和冲突解决的机制,确保执行过程中可能发生的问题能够被及时解决,团队间的冲突能够被及时化解。有了这些准备,我们才能以高质量的技术内容和充分的信心来开启项目。

节点六:阶段性价值交付

活动启动后,就进入了阶段性交付这一环。过去我们经常见到的都是项目按照时间段,被划分成多个里程碑。这种划分方式虽然可以降低整体目标交付的不确定性,却不能保障架构活动最终交付预期的增量价值。

一种基于最小增量价值单元的交付策略,以保障架构活动的最终产出。这样做的目的是把问题尽早提给市场,让市场给我们指点迷津。此外,我们还可以根据线上效果的评估和分析,来调整阶段性目标,甚至是整个架构活动的目标。

节点七:全面上线

最后就是全面验收后的庆祝环节了。如果前面这些工作都做到位,毋庸置疑,这将是最轻松的一个环节了。值得一说的是,在这个隆重的、最具仪式感的环节,我们可以把高光时刻留给项目经理和各个产品、研发和运营等团队的一线人员。我们架构师反倒要站在幕后。

节点八:活动复盘和机会发现

复盘是被最频繁提起但却很少被认真执行的话题。这是一个架构师成长的关键。

对于架构活动而言,复盘的真正目的是为企业未来的架构活动提升成功概率。那么在复盘工作中,架构师需要平衡好不同的审查视角和分析维度。通过搭建安全的复盘氛围、充足的前期准备、对复盘过程针对性的控制、对机会点的梳理与把控,以及讨论过程中的深度剖析,从而发现深藏在流程和假设中的问题,并找到有效的行动点,确保之后的架构活动能够吸取之前失败的教训。

此文章为4月Day28 学习笔记,内容来源于极客时间《郭东白的架构课》,推荐该课程。


http://www.ppmy.cn/news/56107.html

相关文章

机器人学一些知识

机器人动力学模型是用数学方法描述机器人运动和力学特性的模型。它包含机器人的几何结构、质量、惯性、摩擦等物理特性,以及机器人的控制系统和传感器等。机器人动力学模型可以用于机器人的运动规划、控制算法设计、仿真和优化等应用中。 机器人动力学模型通常采用…

【国际象棋】棋盘游戏-微信小程序开发流程详解

与中国象棋类似的,还有国际象棋,知道有人爱玩,于是凭着好奇心,网上研究了一下,跟中国象棋有相似之处,玩法是有些许不一样,不知道象棋最早出于谁之手呢,抽空做一做,最终完…

Spring Boot引用外部JAR包和将自己的JAR包发布到本地Maven库

Spring Boot引用外部JAR包 Spring Boot 项目可以通过在项目中引入外部 JAR 包来增强功能。以下是使用Spring Boot引用外部JAR包的步骤: 将外部JAR包添加到项目中,可以通过直接将JAR包复制到项目目录下的“lib”目录中,或者使用Maven的方式添…

Python科学计算 - Numpy快速入门

Numpy是什么? Numpy是Python的一个科学计算的库,提供了矩阵运算的功能,其一般与Scipy、matplotlib一起使用。它可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多(该结构也可以用来表示矩阵(matrix))。 NumPy(Numeric Python)…

第四十一章 配置镜像 - 使用 ^ZMIRROR 例程

文章目录 第四十一章 配置镜像 - 使用 ^ZMIRROR 例程 第四十一章 配置镜像 - 使用 ^ZMIRROR 例程 用户定义的 ^ZMIRROR 例程允许为特定镜像事件(例如故障转移成员成为主要成员)实现自己的自定义、特定于配置的逻辑和机制。 ^ZMIRROR 例程包含以下入口点…

区块链在元宇宙中的作用(二)

第一,解决数据信任问题 如果一个元宇宙没有区块链技术,那么可能会面临各种各样的数据信任问题,你的账号可以被随时平台禁封,你的“资产”价值完全受平台定价和发行量的影响、你的投诉意见可以被平台忽视、你的言论可以被平台屏蔽…

软件开发团队的护网低成本应对方案

主题: 1、攻击方技术手段说明,结合攻击队手段重点关注的防御点介绍; 2、防守方(软件开发团队)的低成本应对思路;系统是如何被攻破的 攻防演练(APT)攻击路径 未知攻,焉知…

关于Prompt Engineering你该了解啥?OpenAI应用研究负责人帮你梳理了

‍来源 | 机器之心 微信号:almosthuman2014 随着 ChatGPT、GPT-4 等模型的兴起,人们对如何创建提示以获得想要的输出越来越感兴趣。研究者对特定提示的响应可能很难预测,并且会因模型的不同而不同。本文来自 OpenAI 的翁丽莲(Lili…