写点什么

社会技术方法如何帮助应对复杂性

  • 2025-06-01
    北京
  • 本文字数:1571 字

    阅读完需:约 5 分钟

大小:769.54K时长:04:22
社会技术方法如何帮助应对复杂性

今天的软件专业人员需要在技术、业务和社会的复杂性迷宫中穿行。根据 Xin Yao 的说法,在这种环境下要想成功,需要的不仅仅是技术和业务知识。我们需要在解耦系统以获得可维护性、重新连接它们以创造业务价值、以及处理组织动态的混乱性方面应对自如。在面向对象(OOP)大会上,Yao 探讨了社会技术设计如何帮助我们应对这些挑战。

 

软件面临的最大挑战之一是需要同时解耦和连接,正如 Yao 所解释的:

 

开发人员被期望将系统分解为模块化的、独立的部分,同时还需要了解如何重新连接它们以创造业务价值。一个结构良好的 API、消息队列或数据契约可能在今天是有效的,但随着业务需求的发展,必须要重新审视这些连接。

 

Yao 认为,随着软件的老化和业务环境的发展,必要的更改——重构、重新架构或重新思考系统边界——通常不仅会因技术难度而受到阻碍,还会受到团队的社会复杂性、决策结构以及角色边界和组织动态的影响。

 

软件存在于人类系统之中,然而许多开发实践都假设软件工作的人类方面,如沟通、理解、决策和协作,可以像代码一样被整齐地结构化和控制。但社会的复杂性是突现的、不可预测的,并且充满了矛盾,Yao 说。

 

Yao 提到,不一致的激励、僵化的团队结构、权力动态和变革疲劳通常会给可持续架构带来障碍。她补充说,许多团队缺乏开放、反思性对话的必要条件,导致肤浅的解决方案无法解决潜在的社会约束,因此设计很脆弱。

 

Yao 提到,除了技术上的卓越之外,社会技术适应性也是关键。她提到了进行深度协作、反思性对话和参与式决策制定的能力:

 

像促进、提出问题、积极倾听和协作建模这样的技可以帮助团队驾驭不确定性,并将软件与人类需求对齐。

 

社会技术适应性的先决条件是社会技术意识,将我们的软件工作视为系统之系统。Yao 争论到,设计软件、业务需求以及两者背后的人之间的关系至关重要:

 

认识到这一点的开发人员和架构师不仅仅是在构建软件——他们还在培养一种环境,在这种环境中,通过信任、共享语言和对意义的持续协商,好的软件可以出现。

 

Yao 说,软件并不是和社会系统并存的,而是嵌入其中的。我们的工作是一个复杂的社会系统,由复杂的技术子系统组成。技术子系统是嵌入式的,它不是一个我们可以独立优化的孤立的机器;它在不断成长、变化,并与人类的决策、工作流程和权力结构纠缠在一起:

 

每一段代码都带有塑造它的对话、误解、约束和妥协的痕迹。

 

这种嵌入性使得软件本质上比仅仅是技术部件的集合更复杂。同一段代码可以根据使用它的人、团队如何解释需求或决策权如何分配而发挥不同的作用,Yao 说。

 

软件不是纯粹的不可预测性。像 DDD、CI/CD、容器化和 TDD 这样的实践为技术领域带来了可预测性,Yao 说。但这种可预测性在人类互动层面上崩溃了:

 

挑战在于知道什么时候依靠可预测性,什么时候拥抱突发性。这就是从软件设计到社会技术设计的转变。

 

我们不应该急于寻找解决方案,而应该参与到塑造我们整个社会技术系统的更深层次的问题中——关于意义、关系和权力动态的问题,Yao 建议道。通过这样做,我们避免了过早的收敛,并创建了反映业务领域和人类系统真正复杂性的解决方案。

 

InfoQ 采访了Xin Yao,讨论了如何处理社会技术复杂性的问题。

 

InfoQ:在尝试将架构与组织结构对齐时,需要避免的关键陷阱是什么?

 

Xin Yao:许多组织旨在实施逆康威策略,但在实践中却举步维艰。一个主要的陷阱是假设仅仅改变团队结构就能解决架构问题。更有效的方法是根据团队如何自然协作和发展来迭代调整边界。

 

复杂性需要协作。社会复杂性的大爆炸分而治之(即重组或转型)并不是解耦和连接软件的灵丹妙药。

 

InfoQ:讲故事在驾驭社会技术复杂性中扮演了什么角色?

 

Yao:故事有助于将抽象的复杂性具体化。它们使团队能够提出假设、建立共同的理解、培养心理安全感,并参与富有成效的对话。

 

原文链接:

https://www.infoq.com/news/2025/05/sociotechnical-complexity/

2025-06-01 10:002

评论

发布
暂无评论

CPU 程序性能优化

MegEngineBot

性能优化 cpu 硬件 编译器

数据库大事记

小齐写代码

在小红书认识不到一周,我和TA成为了同事

用友BIP

智能招聘

Amazon EC2 新手初探:创建第一个 EC2 实例

王强

Amazon EC2 亚马逊云服务

喜讯!云起无垠入选《2023年中国AIGC创新企业榜》

云起无垠

业内首发!用友BIP全球司库助力大型企业实现虚假贸易“零容忍”!

用友BIP

全球司库 虚假贸易

浅析建筑行业财务管理数智化转型

用友BIP

企业数智化

The Foundry Nuke 15 for Mac(电影特效合成软件)

展初云

Mac nuke 特效合成软件

OmniGraffle Pro 7 for mac(绘图软件)

展初云

Mac OmniGraffle Pro 专业绘图软件

关于圆通物流在AppLink上的操作

RestCloud

APPlink

如何基于亚马逊云科技打造高性能的 SQL 向量数据库 MyScale

亚马逊云科技 (Amazon Web Services)

机器学习 深度学习 存储 Amazon EC2 向量数据库

Mac系统下Datagrip打不开、点击没反应?

秃头小帅oi

物理机和云服务器到底哪个好

Geek_f19a80

服务器

轻松一刻|Walrus CLI与CI/CD工具集成,轻松部署2048游戏

SEAL安全

游戏 CI/CD Walrus 企业号11月PK榜

基于数据中台的过程看板助力光伏单晶行业管理提升

用友BIP

数据中台

预发部署时机器总是重启两次的“简单”排查

阿里技术

部署 故障排查 排查 预发 重启

四载磨砺,一群青年“识瘤者”以AI助力医疗创新

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 先锋开发者云上说

什么是软件定制开发?|app网站小程序定制

Geek_16d138

网站建设 app定制开发 软件定制开发

编程和数学计算软件MATLAB R2023b for Mac v23.2.0

展初云

matlab Mac软件 MATLAB R2023b

【Spring Cloud 】基于微服务架构的智慧工地云平台源码带APP

源码星辰

智慧工地 智慧工地云平台

异构集成:财务共享如何成为数据聚合、分发的控制枢纽

用友BIP

财务共享

InDesign 2024 for mac(页面设计和版面应用程序)

展初云

adobe Mac软件 InDesign 2024 下载 InDesign

如何充分压榨一台EC2

申屠鹏会

7天!早鸟票免费倒计时!2023开放原子开发者大会等你来!

开放原子开源基金会

Java 开源 程序员 开发者大会 C++

「一体化信息建设」,江苏人社如何完成数据安全管控(成果篇)

BinTools图尔兹

运维 数据安全 数据库管理 数据库操作

登上CHINA DAILY!用友向全球展现中国数智力量

用友BIP

企业数智化

社会技术方法如何帮助应对复杂性_软件工程_Ben Linders_InfoQ精选文章