第1章 组织结构的陷阱
组织应该被视为一个复杂的具有适应性的有机体,而非一个机械的线性系统。
——Naomi Stanford,摘自《组织设计指南》
(Guide to Organisation Design)
技术人员似乎永远有干不完的事情:以难以置信的速度创建和更新系统,将不同技术组合在一起打造有竞争力的用户体验、移动应用、云服务、Web服务,以及嵌入式、可穿戴和工业IoT设备等,这些都依赖于有效的交互来达到预期的业务目标。
如今,这些系统几乎渗入了人们日常生活的方方面面,带来了越发深远的影响。如果软件设计得很差,甚至更严重,软件交互设计出现了偏差,那么无论是服务提供方,还是用户,包括我们自身,都将受到负面影响。如果打车应用崩溃了,用户可能会被困在离家很远的地方。如果网上银行的软件服务异常,用户可能无法支付租金。如果医疗设备出现故障,用户甚至会面临生命危险。由此可见,社会技术的设计从未如此重要。
构建和运行这些高度复杂、相互连接的软件系统是一种团队活动,需要不同平台和技术领域的人才共同努力。此外,现代IT组织必须快速且安全地交付和运维软件系统,并且还要同步适应业务或日常环境中的变化和压力。业务需要兼顾系统稳定性和交付速度两方面的优化。
尽管存在以上这些风险和需求,但是很多企业组织人员和团队的方式依然与现代软件开发和运维的方式背道而驰。组织过分依赖于组织结构图和矩阵来划分和控制工作,导致在快节奏交付的同时缺少必要的条件来拥抱创新。为了取得成功,组织需要一种稳定且高效的团队模式和协作方法。作为敏捷性和适应性的基础,他们需要不断投入资源赋能和培养团队。为了在竞争日益激烈的市场环境中生存下去,组织需要团队和成员能够及时感知外部变化,并且不断地与时俱进。
好消息是使用正确的思维方式以及强调适应性和重复性的工具,并把团队和人视为中心,是可能兼顾快速和安全的。正如Mark Schwarts和合著者在2016年的论文Thinking Environments中提到的那样,“组织结构必须协调职责来支持高质量、有影响力的软件交付的目标。”
作为管理这些接口的技术团队成员,我们必须改变之前的思想,不再将团队视为一组可替换的个体,即只要他们沿用“正确”的流程和使用“正确”的工具就能获得成功,而是将人员和技术视为社会技术生态系统中的一分子,正如计算芯片中用到的碳和硅一样。与此同时,我们需要确保团队具有内驱力,并且给予团队充分的机会在这类系统中出色地完成工作。
本章会介绍团队拓扑作为一种具有适应性的技术组织设计模型,可以帮助业务达成速度和稳定性目标。但在此之前,让我们先来看看大多数组织中真实沟通结构与组织结构图传递给我们的信息有何不同,以及这些差异背后的含义。