当前位置: 首页 > news >正文

架构每日一学 14:架构师如何进行可行性探索?

架构活动中,如果不进行可行性探索可能会导致重大失误,为企业发展带来风险。

可行性探索是架构活动的最后一个节点,在这之后的架构活动就像是离弦之箭,即便发现重大风险也很难再回头了。

互联网公司之间的竞争非常激烈,所以这里的可行性探索还需要足够快。如果你在一个项目中光可行性探索花了两个月的时间,竞争对手可能已经把新的业务模式做起来了,优势已经丧失了。

为什么要进行可行性探索

注意这里称之为“可行性探索”而不是“可行性分析”,原因在于可行性分析是一个非常详尽的活动,严格意义上讲,他不适合互联网这样的快节奏,所以我们使用“可行性探索”来表示一种更快速、更轻量的可行性分析方法。

在可行性探索中,架构师要在最短的时间内发现项目的重大风险,并对风险及时做出响应预案。

可行性探索的过程就是要站在“赞助者”的角度去客观分析可能带来的风险。

什么是风险?

谈到风险,我们会下意识地认为风险是一个贬义词,是对一个项目不利的地方。事实上,风险经常可以作为架构师的筹码,给自己的架构活动换取更多的时间。

比如你想过河,在你面前有一条小桥,但是年久失修,比较危险,远处有一个高架桥比较安全。如果你从小桥过去,相比高架桥会面临更大的风险,但是节约时间;相反,如果我们选择高架桥需要多花半天或一天的时间。

如果业务要求项目在很短的时间内上线,而架构师评估下来具有一定的风险,那么这时架构师这时就可以通过对风险的评估,为自己争取更多的时间。

具体可以从以下几个方面评估:

  • 风险有多大?
  • 回报是什么?
  • 公司的风险承受程度有多大?
  • 其他选项的风险和回报是什么?

有了这几个问题的答案,我们就可以进行可行性探索了。

可行性探索前的准备工作

一 调查企业对风险的承受度

不同企业对风险的承受度是不同的,有的企业鼓励员工冒险,而有的企业对于失败的容忍率很低,甚至为零。

假如你在一个冒险容忍度很低的部门里选择冒险,团队中的成员会感受到威胁和压力。相反,如果你在一个鼓励冒险的部门中,却选择不冒险,这就是在拖团队的后腿了。架构师只需要将冒险程度控制在企业的容忍范围内即可,这是选择冒险的上限。

二 调查赞助者对风险的承受度

赞助者对风险的承受度往往很低,往往决定了冒险的下限。因为架构活动的成败,将直接与赞助者的利益挂钩,所以赞助者往往对失败的容忍度很低。

三 锁定领域专家

为了避免架构师单人视角的局限性,还需要寻找一到两个利益无关的领域,专家去询问他们的建议,从而锁定领域内可能出现的重大风险。

四 锁定风险决策的建议者

风险决策的建议者是指,与部门利益关系密切,但与此次架构活动的成败关系不大的相关方。这些人往往视野更加开阔,判断力更强,我们可以寻找四五个这样的人,通过他们的判断和建议,保证此次架构活动的公正、客观和正确。

小结

结合前面的文章《架构每日一学 9:架构师要学会构建或寻找一个友善的环境》、《架构师必读 13:如何精准设定架构目标,确保项目成功?》,我们可以梳理出架构活动的几个关键节点,一是搭建架构环境,二是确立架构目标,三是充分利用公司的资源,帮我们进行可行性探索,来保证决策质量。可行性探索不是让你变得保守,不去冒险,而是秉承着冒险精神去做风险的深度挖掘。

相关文章:

架构每日一学 14:架构师如何进行可行性探索?

架构活动中,如果不进行可行性探索可能会导致重大失误,为企业发展带来风险。 可行性探索是架构活动的最后一个节点,在这之后的架构活动就像是离弦之箭,即便发现重大风险也很难再回头了。 互联网公司之间的竞争非常激烈&#xff0…...

多线程知识-13

为什么应该在循环中检查等待条件 为了实现多线程的同步和协调,通常使用等待和唤醒机制。在等待和唤醒机制中,等待条件是指一个线程等待某个条件的满足,当条件满足时,线程被唤醒继续执行。 在循环中检查等待条件的目的是为了避免虚…...

vue3+cli-service配置代理,跨域请求

一、配置代理端口和代理转发 在vue.config.js文件中 const {defineConfig} require(vue/cli-service)module.exports defineConfig({devServer: {host: 0.0.0.0,port: 8088, // 启动端口号proxy: {/api: { // 请求接口中要替换的标识target: , // 代理地址,后…...

git介绍、安装、配置

文章目录 1. GIT介绍2. 使用GIT的好处3. GIT 安装4. GIT 配置4.1 GIT 初始化设置、命令别名设置4.2 如果终端安装了oh-my-zsh,会带一堆git命令别名4.3 GIT配置文件介绍4.3.1 Linux、Mac OS系统4.3.2 windows系统 5. git设置远程仓库账号密码(拉取、上传代码不用输入…...

打开flutter调试

debugPaintSizeEnabled true; debugPaintBaselinesEnabled true;...

【前端 - Vue】Vuex基础入门,创建仓库的详细步骤

🚀 个人简介:6年开发经验,现任职某国企前端负责人,分享前端相关技术与工作常见问题~ 💟 作 者:前端菜鸟的自我修养❣️ 📝 专 栏:vue从基础到起飞 🌈 若有帮助&…...

#01 Stable Diffusion基础入门:了解AI图像生成

文章目录 前言什么是Stable Diffusion?Stable Diffusion的工作原理如何使用Stable Diffusion?Stable Diffusion的应用场景结论 前言 在当今迅速发展的人工智能领域,AI图像生成技术以其独特的魅力吸引了广泛的关注。Stable Diffusion作为其中的一项前沿技术&#…...

Knife4j使用

Knife4j使用 文章目录 Knife4j使用1、Knife4j介绍2、SpringBoot集成Knife4j3、基本使用 1、Knife4j介绍 Knife4j是一个用于生成和展示API文档的工具,同时它还提供了在线调试的功能,可以看作是Swagger的升级版,界面也比Swagger更好看&#xf…...

一文读懂银行承兑汇票:从申请到使用全攻略

银行承兑汇票(Banks Acceptance Bill,BA)是商业汇票的一种。它是由在承兑银行开立存款账户的存款人出票,向开户银行申请并经银行审查同意承兑的,保证在指定日期无条件支付确定的金额给收款人或持票人的票据。银行承兑汇…...

唯众智联网(AIoT)应用开发教学实训解决方案

一、引言 随着信息技术的飞速发展,物联网(IoT)和人工智能(AI)技术逐渐融合,形成了智联网(AIoT)这一新兴领域。智联网通过智能化设备、传感器、云计算等技术手段,实现了数…...

归纳跨域几种解决方案

什么是跨域? **说起跨域,就要知道什么是浏览器同源策略 **浏览器同源策略:必须是协议、域名、端口完全一致的才符合同源策略 **如果以上三项,有一项不同都涉及到跨域问题 为什么浏览器要设置同源策略呢? 没有同源策…...

LeetCode刷题第3题(C#)

给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串的长度。 法一: 这道题用到的其实是滑动窗口。 滑动窗口算法是在特定窗口大小的数组或字符串上执行要求的操作。它可以将一部分问题中的嵌套循环转变为一个单循环,以此减少时间复…...

了解一下Ubuntu Linux

1.3.1 什么是Ubuntu Ubuntu这个名字非常神奇,它取自非洲南部祖鲁语的ubuntu,是一个哲学名称,其意思为“人性”或者“我的存在是因为大家的存在”。对于中国人来说,一般称呼它为乌班图。 Ubuntu是在Debian的基础上开发出来的&am…...

单一原则+干湿分离,让你的架构能力起飞

# 概念 软件单一原则(Single Responsibility Principle,SRP)是面向对象编程中五大基本设计原则之一。它指每个软件模块或类都应该只负责一个单一的功能或责任。 高内聚低耦合 实现代码可维护性 干湿分离是一种建筑设计和室内装修的方法,主…...

如何恢复永久删除的照片?

“嗨,我永久删除了电脑上的很多照片。回收站被清空,照片会永久丢失吗?有什么方法可以恢复这些已删除的照片吗? 我们所有人都经历过同样的事情:我们的硬盘上存储了文件、视频或照片,但不小心删除了它。这个…...

一文看懂llama2(原理模型训练)

自从Transformer架构问世以来,大型语言模型(Large Language Models, LLMs)以及AIGC技术的发展速度惊人,它们不仅在技术层面取得了重大突破,还在商业应用、社会影响等多个层面展现出巨大潜力。随着ChatGPT的推出&#x…...

Sui基金会公布2024年3–4月资助项目名单

Sui基金会宣布3月和4月的资助项目名单,在这两个月中,共有10个项目获得了资助,以加速Sui的整合和发展。其中有八个项目专注于为开发者创造更好的体验,从开发强大的集成开发环境(IDE)到使用零知识证明保护用户…...

Spring Security3.0.1版本

前言: 抽象Spring Security3.0上一篇 在上一篇中,我们完成了对Security导入,快速入门,和对自动配置的简单验证 对登录流程的分析和Security基本原理 补充: 先解决上一篇留下的问题,端口和端点的区别 端…...

网络报文协议头学习

vxlan:就是通过Vxlan_header头在原始报文前面套了一层UDPIP(4/6)Eth_hdr 需求背景:VXLAN:简述VXLAN的概念,网络模型及报文格式_vxlan报文格式-CSDN博客 如果服务器作为VTEP,那从服务器发送到接…...

颜色与纹理

1 将非坐标数据传入顶点着色器 当执行gl.drawArrays()函数时,存储在缓冲区对象中的数据将按照其在缓冲区中的顺序依次传给对应的attribute变量。在顶点着色器中,我们将这两个attribute变量分别赋值给的gl_Position和gl_PointSize,就在指定的位置绘制出指定大小的点了。 1.…...

pytest-playwright 插件的使用

引言 在自动化测试领域,Playwright 是一个强大的工具,它支持 Chromium、Firefox 和 WebKit 三大浏览器引擎。Playwright 提供了与 Pytest 集成的插件,使得编写端到端测试变得更加简单和高效。本文将介绍如何使用 Pytest Playwright 插件来编…...

基于springboot实现智慧校园之家长子系统项目【项目源码】计算机毕业设计

基于springboot实现智慧校园之家长子系统演示 SpringBoot框架介绍 本课题程序开发使用到的框架技术,英文名称缩写是SpringBoot,在JavaWeb开发中使用的流行框架有SSH、SpringBoot、SpringMVC等,作为一个课题程序采用SSH框架也可以&#xff0c…...

云WAF的安全审计功能

云WAF(Cloud Web Application Firewall)是一种部署在云端的专业网络安全解决方案,它为Web应用程序提供强力的保护,通过检测和阻止恶意流量、攻击和漏洞,确保Web应用程序的安全性和可用性。在安全审计方面,云…...

第十七章 创建Web客户端 - 其他调整

文章目录 第十七章 创建Web客户端 - 其他调整其他调整使用生成的 Web 客户端类示例 1:使用使用包装消息的客户端示例 2:使用使用未包装消息的客户端 第十七章 创建Web客户端 - 其他调整 其他调整 如果 WSDL 未指定 Web 服务的位置,则 SOAP …...

学习java的日子 Day52 多表联合查询,DCL,数据类型,约束,索引,视图

Day52 1.DML-多表联合查询(重要) 1.1 一对一情况 略 1.2 一对多情况 当需要查询多个表中的字段时,就可以使用表连接来实现。表联接分为内连接和外连接 内连接:将两个表中存在联结关系的字段符合联结关系的那些记录形成记录集的联结 外连接:…...

计算机视觉(CV)的教程、相关项目

计算机视觉(CV)是一个广泛而深入的领域,其教程和项目众多。以下是针对计算机视觉(CV)的教程和相关项目的一个清晰概述: 教程 入门教程: OpenCV入门:OpenCV是一个开源的计算机视觉库,提供了大量用于图像和视频处理的函数。可以通过OpenCV的官方文档或在线教程来学习其…...

mysql in 逗号分隔_数据库字段是逗号分隔的查询(FIND_IN_SET(str,strlist)方法的使用)

使用函数FIND_IN_SET(str,strlist)--(推荐) 函数介绍:返回在strlist中str字符串通过“,”分隔成列表后所在的位置(索引),如 SELECT FIND_IN_SET("c", "a,b,c,d,e"); 返回3(索引从1开始) 有了这个方法再回到之前的sql语句可以变成如下: select name,bra…...

【Python】 将日期转换为 datetime 对象在 Python 中

基本原理 在 Python 中,处理日期和时间的库是 datetime,它提供了广泛的功能来处理日期和时间。datetime 模块中有一个 datetime 类,它可以用来表示日期和时间。有时,我们可能会遇到需要将日期字符串转换为 datetime 对象的情况&a…...

dpdk-19.11 arm64 环境适配 Mellanox CX4 网卡

环境信息 cpu: arm64 架构 dpdk 版本:19.11 glibc 版本:2.17 网卡型号: Mellanox CX4 网卡,详细 pci 信息如下: 02:00.0 Ethernet controller: Mellanox Technologies MT27710 Family [ConnectX-4 Lx] 02:00.1 Ether…...

1141. 查询近30天活跃用户数

1141. 查询近30天活跃用户数 题目链接:1141. 查询近30天活跃用户数 代码如下: # Write your MySQL query statement below select activity_date as day,count(distinct user_id) as active_users from Activity where activity_date between 2019-06-…...

住房和建设厅网站首页/百度营销推广登录

2019勃肯特大事记文章来源自:高工机器人网2020-01-08 09:13:42阅读:161297摘要复盘2019勃肯特大事记【文/勃肯特】2019年1月勃肯特联合行业内40家优秀集成商合作伙伴67位行业内专家与精英齐聚一堂参与“专注诚信共赢未来的主题会议共谋2019发展蓝图2019年…...

用数据库做网站/市场调研问卷调查怎么做

一1.最近要搞一个基于XMPP协议的移动IM,客户端采用Android平台,很自然的想到采用Asamck来开发。 2.试过AndroidPn,不过功能太少。最后还是采用了Openfire,有很多集成功能。 二. 1.部署Openfire.其实下载Openfire到安装是个很简单…...

独立商城网站建设/容易被百度收录的网站

Range分区表建表语句如下,其中分区键必须和id构成主键和唯一键CREATE TABLE test1 (id char(32) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 自增主键(guid),create_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 创建时间,partition_key int(8) N…...

网站开发要花多少钱/百度竞价排名价格查询

在一个2^k * 2^k个方格组成的棋盘中,若有一个方格与其他方格不同,则称该方格为一特殊方格,且称该棋盘为一个特殊棋盘。 显然特殊方格在棋盘上出现的位置有4^k种情形.因而对任何k≥0,有4^k种不同的特殊棋盘。 下图所示的特殊棋盘为 k2 时 16 个特殊棋盘中的一个。 在棋盘覆盖问题…...

wordpress 3.7.1/广告关键词有哪些

问题链接:POJ3421 X-factor Chains。 题意简述:输入正整数x,求x的因子组成的满足任意前一项都能整除后一项的序列的最大长度,以及所有不同序列的个数。 问题分析: 首先要对x进行因子分解。这样可以得到总的因子个数c&a…...

网站开发需要看相关书籍/搜狗搜索旧版本

前言因为工作需要可能要用到JNI开发,本篇文章就分享一下我在这方面的实践,以前我们使用Eclipse做NDK开发,非常麻烦,需要配cygwin的编译环境,后面NDK功能完善才逐渐简单点,Eclipse的如何通过NDK生成so库就不…...