时代发展瞬息万变,敏锐感知时代变化中的不确定性很重要,但也很困难。如何在工作中,尤其是软件开发工作中稳定地管理不确定性?我整合了四位学者的管理学理论,提供了一套用于管理软件开发工作中不确定性的框架,并以软件开发的四个时代为例,应用这套框架进行分析,希望能给读者带来启发。
01 软件开发时代
为了整理软件开发的历史,我将软件开发的六十年划分为四个时代:蛮荒时代、结构化方法和宏大方法论时代、敏捷根柢时代和敏捷时代。
顾名思义,蛮荒时代(1966年—1979年)是野蛮的。软件工程还处于起步阶段,关于如何“做”软件开发的知识少之又少,几乎可以忽略不计。结构化方法和宏大方法论时代(简称“结构化时代”1980年—1989年)跨越了整个1980年代。1970年代末,一些人开始不满足于“写完了再修”的临时性软件开发方法,于是结构化技术在这些人群中流行开来。在敏捷根柢时代(1990年—2000年),由于规定性的方法论缺乏灵活性和速度,人们的反抗开始了。首先是快速应用开发(RAD),然后是欧洲的Scrum、极限编程、动态系统开发方法(DSDM)等后来者,以及自适应软件开发。敏捷时代(2001年至今)强调快速迭代、持续交付和团队协作,使软件开发能够灵活应对变化,迅速交付高质量的产品。
02 软件开发工作中不确定性的管理框架
在蛮荒时代,僵化的文化是常态—等级森严、命令控制、专注于计划及其执行。如果计划没有达成,那么问题一定出在执行上,计划本身不会出问题。优秀的经理和高管就能把事情做好——就这么简单。新生的IT世界可没那么容易预测,这让IT高管们焦头烂额,因为通用管理层几乎不会考虑计算机和软件仍处于实验阶段的本质。例如,新冠疫情的连锁反应是未知的,在其完全显现之前基本上是不可知的。
随着不确定性的增加,人们开始研究不确定性建模的方法理论,设计出管理不确定性的工具和方法。例如,曾在IBM高级商业研究所任职的斯蒂芬·H.海克尔(Stephan H. Haeckel)在1999年出版的Adaptive Enterprise一书中指出,未来组织需要从计划–执行(plan and-execute)转变为感知–响应(sense-and-respond)。感知–响应使组织能够感知外部世界的变化并迅速反应,再利用反馈进入下一个感知–响应循环。
但在瞬息万变的商业和技术环境中,感知是极其困难的。整理和分析数据流需要上下文,你要知道当前究竟是在哪个领域竞争。
我在结构化方法发展到敏捷方法的过程中,使用管理风格、工作类型、劳动者类别和行业演变这4个因素构成的框架来理解工作的上下文。软件开发中的这些因素的变化如表1所示。
表1 管理和工作的演进
1. 管理风格
麦格拉思将管理分为三个时代:执行(execution)时代、专业(expertise)时代和同理心(empathy)时代。“如果说执行时代组织创造的是规模,专业时代组织提供的是先进的服务,那么今天人们期待的是组织创造完整而有意义的体验。”(McGrath,2014)这些不同的管理风格提供了另一种讨论软件开发时代的维度。新近的管理风格名称有很多,例如领导–协作(leadership-collaboration)、适应性领导力(adaptive leadership)、敏捷领导力(agile leadership)等。而我认为现代管理最适合用麦格拉思的“同理心”来命名。
2. 工作类型
世界经济论坛CEO克劳斯·施瓦布(Klaus Schwab)提出了一种看待工作演变的方式。他提出的四个时代以科学技术的进步为中心。
想象力时代
提到“机械生产时代”,通常指的是第一次工业革命所带来的生产方式的巨大变革。
随着科学和规模化生产时代的到来,组织规模越来越庞大,需要一种方法来管理从基层主管到高管领导的多层组织。标准化过程、质量控制和劳动专业化分工等实践得到了广泛应用。优化是目标,包括效率、延续、可测量、可预测。这种命令–控制的管理方法定义了“执行时代”。这是一个产业工人从事体力劳动的时代。
随着数字革命的到来,专业的管理知识发挥了主要作用,表现为工程再造、六西格玛和目标管理等概念的出现。同时,知识工作的井喷,现有的上下级关系又受到了这类新型员工的抵触。这个时代的实践特点是“领导–协作”管理,和早期的“命令–控制”形成了鲜明的对比。
施瓦布没有为第四个产业时代设定时间线,也没有明确将其命名为“想象力时代”。他将这个时代定义为变化的速度、技术快速发展和整合所导致的变化的广度和深度,以及涉及国际社会体系的系统性影响。随着人工智能、生物技术、机器人技术和量子计算等技术融入我们的世界,创造力和想象力将成为经济价值的主要创造者。
3. 劳动者类别
彼得·德鲁克对管理层(management)做了如下定义:“管理层是一种有着多重目的的机构,它既管理企业,又管理管理者,也管理员工和工作。”(Drucker,1954)。这个简洁的定义可以帮助我们评估随着时间推移而产生的各种变化,工作会变化,员工会变化,管理者会变化,管理者的管理者会变化。德鲁克创造的知识工作一词就标志着工作的本质正在发生变化。随着工作性质的变化,所需的劳动者类型也发生了变化,这反过来又改变了管理者和高级管理者看待劳动力和与劳动力互动的方式。最终,劳动者被划分为三种类型:产业工人、知识工作者和创新工作者。
4. 行业演变
1999年,戴夫·斯诺登(Dave Snowden)把他对复杂性理论的研究进行了总结,提出了Cynefin模型。这个模型已经被敏捷社区所接受并广泛使用。他的模型定义了五种变化类型。对于每一种变化,斯诺登都提出了一种实践类型。
无序(Disorder),还没有找到实践。
1980年代,经济、商业和技术从繁杂发展到了复杂,21世纪初又进入了混乱,斯诺登的框架帮助我们理解了从结构化开发到敏捷开发的过渡中,消除不确定性的作用。
03 总结
借助管理风格、工作类型、劳动者类别和行业演变这4个因素构成的框架分析软件开发的四个时代,我们不难发现,软件开发的管理呈现“渐进式”的发展趋势,从蛮荒时代的僵硬逐步转变为敏捷时代的灵活。世界变化越来越快,软件开发的不确定性越来越多,希望这套框架能帮助众多管理者更好地应对软件开发中的不确定性。注意,文末只对Cynefin模型进行了介绍,对另一种管理不确定性的工具——探索因子(Exploration Factor,EF)没有进行介绍。如果您想了解探索因子,想了解更多敏捷时代软件开发管理层面的内容,推荐您阅读由吉姆·海史密斯先生撰写、覃宇、姚琪林和王瑞鹏老师翻译的《从蛮荒到敏捷:软件开发方法启示录》。本书通过作者的个人叙事,结合个人经历和行业历史,对敏捷的过去、现在和未来提供了极其宝贵的洞见,对软件开发从业者有启示作用。
作者简介:吉姆·海史密斯(Jim Highsmith),“敏捷宣言”的共同作者、敏捷联盟(Agile Alliance)的创始成员、敏捷领导力网络(Agile Leadership Network)的联合创始人和首任主席,以及项目领导者互助宣言(Declaration of Interdependence)的共同作者。其著作包括《EDGE:价值驱动的数字化转型》《敏捷性思维:构建快速更迭时代的适应性领导力》《自适应软件开发》等,荣获著名的Jolt大奖,还是2005年国际史蒂文斯奖的获得者。
译者简介:
王瑞鹏,Thoughtworks C++技术专家,技术图书译者。关注遗留系统重构、敏捷软件开发等领域。参与翻译过多本技术图书。
本文摘编于《从蛮荒到敏捷:软件开发方法启示录》,经出版方授权发布,转载请保留文章来源。
推荐理由:世界著名敏捷大师、敏捷宣言签署者JimHighsmith的真知灼见,MartinFowler作序,多位重量级专家一致推荐。
本文来源:原创,图片来源:原创、pexels
责任编辑:王莹,部门领导:宁姗
发布人:白钰