企业的组织架构对技术架构的影响
导读 | 技术人员往往有闷头挖煤的倾向(闷头做技术架构),而不了解挖煤的上下文背景(企业的业务背景和组织架构),殊不知企业的组织架构和业务背景和技术架构之间有隐含的映射关系,这种关系有时候直接决定了技术架构转型的成败。 |
本文试图为技术人员(特别是架构师)建立这种上下文背景,提升技术人员视野,让技术人员在理解企业业务背景和组织架构的前提下,去推进系统架构的改进和提升,以期获得更大成功。
经济背景下图被称为浴缸曲线,来自 Niels Pflaeging 的书《Organize for Complexity》[附录 2],它主要反映西方上个世纪到现在经济模式的变迁,形状看起来像浴缸,故而得名。
- 1900 年以前被称为前工业时代,也称手工艺时代,这个时代价值创造的主体是掌握技艺的手工艺者,高度动态,局部市场,客制化是这个时代市场的主要特点。
- 1900 年到 1980 左右被称为泰勒工业时代,这个时代价值创造的主体是机器,市场广阔缓慢,竞争少,通过机器化和规模化生产提升效率和比拼低成本是这个时代市场的主要特点。
- 1980 到现在被称为后工业时代,也称全球经济时代,这个时代价值创造的主体是知识工人,新兴行业不断对传统行业施加竞争压力,高度动态,持续快速地响应市场需求是在这个时代市场中取得成功的关键。
组织架构不是领导层能简单设计出来的,不同的经济模式需要不同的组织架构支持,组织架构和经济模式之间有隐含的映射关系。
上图是泰勒工业时代主流的泰勒型组织架构,也称命令控制型(Command&Control)组织。组织由领导层观察市场,制定目标计划,中层经理长传下达,下层员工负责执行。
这种组织结构的优劣和适合场景如下表:
泰勒工业时代持续了一个多世纪,对我们的社会影响深远,即使今天,泰勒型组织仍然是我们社会各种企业主流的组织结构。
上图是后工业时代逐渐兴起的贝塔型组织,常见于一些新兴行业如互利网业务公司。这类组织仍有领导层集中观察市场,制定共享的目标和约束,但是组织架构层级较扁平,团队组织偏向跨职能混搭和协作,快速响应市场变化。
这种组织结构的优劣和适合场景如下表:
贝塔型组织是现代领导力模型典范,是很多特别是传统公司学习和转型的方向。
上图的复杂自适应组织架构,也称控制反馈式组织架构(Cybernetic Organization),目前在成型公司中比较少见(仅见于少数创业公司),但却是未来组织架构新趋势。该架构没有集中式目标设定,由跨职能混搭和协作的团队和市场直接对接,持续和市场沟通获取需求,快速灵活响应市场变化。
这种组织结构的优劣和适合场景如下表:
Mel Conway 在 1967 年提出了所谓康威法则 [附录 3],指出组织架构和系统架构之间有一种隐含的映射关系:
Organization which design systems […] are constrained to produce designs which are copies of the communication structures of these organizations.
设计系统的组织其产生的设计等价于组织间的沟通结构
康威法则也可以倒过来阐述:
Conway’s law reversed: You won’t be able to successfully establish an efficient organization structure that is not supported by your system design(architecture)。
如果你的系统架构不支持,你无法建立一个高效的组织架构。如果你的组织架构不支持,你也无法建立一个高效的系统架构。
康威法则给我们一个很好的启示,系统架构和组织架构之间有隐含的映射关系,你不能单方面改变一方的结构,调整时必须两边联动。如下图,系统架构如果是单块耦合的,就很难组织分散式跨职能面向市场的团队结构,两边映射不起来,团队之间摩擦打架在所难免。所以一般先做按照业务线边界对单块应用进行解耦拆分,同时做相应组织结构调整,这就是近年流行的微服务架构的背后动因。
技术架构不能单方面独立存在和设计,它和组织架构有隐含的映射关系,支持组织的核心驱动要素。下面两个图,分别说明泰勒型组织和复杂自适应型组织的核心架构驱动要素,以及最终产生的应用架构特性。
从一个组织所采用的技术栈和应用架构特性,你也可以快速推断组织的业务模式和组织架构,如下图所示。单块架构,集中式数据库,分层式架构,常见于泰勒型组织;而云计算,REST 微服务,DevOps 技术则常见于贝塔和复杂自适应型组织。下图也反应组织架构和技术栈的同步演化趋势。
- 我们已经进入后工业时代,组织需要调整其架构以适应新的市场变化。复杂自适应架构是未来组织架构的演化趋势。
- 市场、组织架构、系统架构和技术之间有隐含的映射关系,不能简单设计和单方面调整。合格的架构师要洞悉这种映射关系,根据市场和组织现状系统性和灵活地推进组织和系统架构的调整,让企业业务,组织和技术对齐,更敏捷应对市场变化。
- 在不改变企业组织架构和管理文化的情况下,单方面改变企业的技术架构很难奏效,最终,技术架构一定会受到强势的组织架构和企业管理文化约束,映射企业的管理文化和组织结构。(本文没有谈及企业管理文化,但企业管理文化对企业架构同样至关重要)。
- 企业的数字化转型,系统架构和企业的组织、管理文化的调整必须同步进行,且关键是企业的组织和管理文化结构的转型。
以上是企业的组织架构对技术架构的影响的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

无法以 root 身份登录 MySQL 的原因主要在于权限问题、配置文件错误、密码不符、socket 文件问题或防火墙拦截。解决方法包括:检查配置文件中 bind-address 参数是否正确配置。查看 root 用户权限是否被修改或删除,并进行重置。验证密码是否准确无误,包括大小写和特殊字符。检查 socket 文件权限设置和路径。检查防火墙是否阻止了 MySQL 服务器的连接。

C语言条件编译是一种根据编译时条件选择性编译代码块的机制,入门方法有:使用#if和#else指令根据条件选择代码块。常用条件表达式包括STDC、_WIN32和linux。实战案例:根据操作系统打印不同消息。根据系统位数使用不同的数据类型。根据编译器支持不同的头文件。条件编译增强了代码的可移植性和灵活性,使其适应编译器、操作系统和CPU架构变化。

Linux的五个基本组件是:1.内核,管理硬件资源;2.系统库,提供函数和服务;3.Shell,用户与系统交互的接口;4.文件系统,存储和组织数据;5.应用程序,利用系统资源实现功能。

MySQL启动失败的原因有多种,可以通过检查错误日志进行诊断。常见原因包括端口冲突(检查端口占用情况并修改配置)、权限问题(检查服务运行用户权限)、配置文件错误(检查参数设置)、数据目录损坏(恢复数据或重建表空间)、InnoDB表空间问题(检查ibdata1文件)、插件加载失败(检查错误日志)。解决问题时应根据错误日志进行分析,找到问题的根源,并养成定期备份数据的习惯,以预防和解决问题。

MySQL无法直接在Android上运行,但可以通过以下方法间接实现:使用轻量级数据库SQLite,由Android系统自带,无需单独服务器,资源占用小,非常适合移动设备应用。远程连接MySQL服务器,通过网络连接到远程服务器上的MySQL数据库进行数据读写,但存在网络依赖性强、安全性问题和服务器成本等缺点。

MySQL安装报错的解决方法是:1.仔细检查系统环境,确保满足MySQL的依赖库要求,不同操作系统和版本需求不同;2.认真阅读报错信息,根据提示(例如缺少库文件或权限不足)采取对应措施,例如安装依赖或使用sudo命令;3.必要时,可尝试源码安装并仔细检查编译日志,但这需要一定的Linux知识和经验。最终解决问题的关键在于仔细检查系统环境和报错信息,并参考官方文档。

MySQL安装失败的原因主要有:1.权限问题,需以管理员身份运行或使用sudo命令;2.依赖项缺失,需安装相关开发包;3.端口冲突,需关闭占用3306端口的程序或修改配置文件;4.安装包损坏,需重新下载并验证完整性;5.环境变量配置错误,需根据操作系统正确配置环境变量。解决这些问题,仔细检查每个步骤,就能顺利安装MySQL。

MySQL安装失败通常因缺少依赖项导致。解决方法:1.使用系统包管理器(如Linux的apt、yum或dnf,Windows的VisualC Redistributable)安装缺失的依赖库,例如sudoaptinstalllibmysqlclient-dev;2.仔细检查错误信息,逐一解决复杂的依赖关系;3.确保包管理器源配置正确,能访问网络;4.对于Windows,下载安装必要的运行库。养成阅读官方文档和善用搜索引擎的习惯,能有效解决问题。
