智能体刷屏的背后,是 AI 应用拐点的来临?AICon 北京站议程重磅公布,50+ 硬核分享不容错过 了解详情
写点什么

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

  • 2025-06-02
    北京
  • 本文字数: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-02 14:001

评论

发布
暂无评论

详解Python中sys模块的功能与应用

华为云开发者联盟

Python 开发 华为云 函数 华为云开发者联盟

请认真对待你的简历

老张

面试 简历优化 简历

Dapp/DeFi/Swap交易所代币质押项目挖矿系统开发详情

l8l259l3365

Python黑科技揭秘:多窗口操作不再是难题,这些技巧让你轻松搞定

测吧(北京)科技有限公司

测试

EthSign联合创始人 POTTER LI 确认出席Hack .Summit() 香港区块链开发者大会!

TechubNews

华为云云原生专家入选全球顶级开源组织CNCF技术监督委员会

极客天地

读TiDB源码聊设计:引子

泊浮目

分布式数据库 TiDB HTAP

RDS for MySQL Serverless公测上线:弹性伸缩,最高可降成本超80%

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 华为云Serverless

【FAQ】HarmonyOS SDK 闭源开放能力 —Account Kit

HarmonyOS SDK

HarmonyOS

OpenAI文生视频大模型Sora:重塑视频内容生产

百度开发者中心

视频 大模型 人工智能、

大神玩花:借助WASM在浏览器中运行数据库

张文平

数据库 postgresql 前端 应用开发 Supabase

企业要想构建 AI 竞争力,就必须“私藏”大模型

极狐GitLab

QCN9274/Super WiFi 7: Explore the unlimited potential of next-generation networks

wallysSK

LED户外广告屏寿命的关键因素及解决方案

Dylan

广告 维护 系统维护 LED显示屏 户外LED显示屏

深入了解手机App开发:从构思到上线的全过程

天津汇柏科技有限公司

数字化转型 低代码开发 定制软件开发 软件开发定制

春招开始,面试也多起来了

王磊

Java 面试

教你用Ubuntu快速搭建饥荒服务器

华为云开发者联盟

开发 华为云 华为云开发者联盟 华为云服务器 饥荒

请查收!“全国大学生智能汽车竞赛”线上赛备赛指南

飞桨PaddlePaddle

人工智能 百度 AI BAIDU 百度飞桨

AI大模型的发展趋势与应用前景

百度开发者中心

AI 大模型 人工智能、

✅被百度追着项目问,上亿数据,限制1G内存,如何去重?

派大星

Java 面试题 互联网大厂面试 数据去重

掰扯掰扯需求分析:从工程到生活中的4个case

泊浮目

系统设计 需求分析

Python黑科技揭秘:多窗口操作不再是难题,这些技巧让你轻松搞定

测试人

Python 软件测试 自动化测试 测试开发

Selenium帮助你轻松实现浏览器多窗口操作

霍格沃兹测试开发学社

探索Terraform实践:优化基础设施管理

SEAL安全

架构 运维 Terraform

华为云命令行工具KooCLI—高效云端管理的秘诀

华为云PaaS服务小智

云计算 API 华为云

JavaScript之structuredClone现代深拷贝

南城FE

JavaScript 前端 深拷贝

社会技术方法如何帮助应对复杂性_管理/文化_Ben Linders_InfoQ精选文章