写点什么

破译密码、设计飞机和建设团队:Randy Shoup 谈高绩效团队

  • 2018-07-11
  • 本文字数:2268 字

    阅读完需:约 7 分钟

在纽约 QCon 大会上,WeWork 的工程副总裁 Randy Shoup 做了题为“破译密码、设计飞机和建设团队”的演讲。他引用马克•吐温的名言“历史不会重演,但会惊人地相似”开始了他的演讲。他认为,纵观历史,最有效的团队一直专注于目标、组织文化、人员和工程技术的卓越性。他在演讲中表达了对这三种高效团队的看法,分析了每种团队是如何处理这四个焦点的,并对现代软件开发组织和团队提供了一些微妙的类比,非常引人注目。

第一种高效团队的案例涵盖了二战中在英国布莱切利公园(Bletchley Park)进行的两项密码破译工作,其中包括1943 年秘密建成的世界上第一台可编程电子数字计算机。据估计,由布莱切利公园项目生成的情报(代号为“Ultra”)让二战提前两年结束,并拯救了1 千4 百万条生命。Ultra 的密码破译在 1940 年的英国战役 1941 年的大西洋战役 1944 年的诺曼底登陆战中帮助了盟军。

尽管布莱切利公园项目工作属于军方范畴,但是没有什么等级制度,而且组织风格是开放的。解密工作利用管道方法进行,由独立“小屋”(在同一园区内的建筑)执行拦截、解密、编目和分析以及传播的每个阶段。在每个“小屋”有跨职能的深度合作,但各方之间极度保密。

为了应对更新的恩尼格玛密码机(Enigma machine)和处理过程,需要不断地迭代和改进技术,尽管工作是在持续的压力下进行的,密码破译人员还是被鼓励进行为期两周的研究休假,以改进方法和过程。另外,每个人都可以在工作日志中提出改进建议,每两周都对潜在的改进进行讨论。

Shoup 讨论了经验多样性对于密码破译的重要性,布莱切利公园项目招募了语言学家、数学家、银行职员、纵横字谜专家和百货商店管理者。这支队伍由“研究人员和工作人员”组成,最多时拥有1 万名员工,其中75% 是妇女。Shoup 例举了参与该项工作的一些人所做的贡献,其中包括 Mavis Batey Alan Turing Tommy Flowers

第二个案例讨论了成立于 1943 年的洛克希德公司“臭鼬工厂(Skunk Works)”高级开发项目团队,这个团队生产了一代又一代世界上飞得最快、最高且最隐秘的飞机,例如 P-38 闪电战机 P-80 流星战机 U-2 龙女战机 SR-71 黑鸟战机 F-117 夜鹰战机等机型。设计、开发和制造都是在单独的跨职能设施内进行,这对于现代飞机来说并不常见。

飞机由臭鼬工厂团队共同设计和建造,设计师和技术专家在现场随时待命,并与飞行员密切合作。他们广泛使用了建模、计算模拟和木制模型进行原型设计和假设验证。该团队的第一任领导人 Clarence “Kelly” Johnson 建立了一种组织文化,关注快速迭代、灵活性和集体所有权,并鼓励设计工程师、技术人员和生产制造人员之间的直接联系。Johnson 制定了 14 条规则以遵循这一原则。该团队的第二任总监 Ben Rich 也认为每个人都要对质量负责:

“我们让每个设计或操作部件的工场工作人员负起质量控制的责任。任何工作人员,不仅仅是主管或是经理,都可以退回不符合标准的部件。”

Shoup 还特别强调了 Mary G. Ross 的工作,她是第一位来自切罗基族的美国土著女工程师。她是 40 名臭鼬工厂工程师创始团队的成员之一,为 P-38、阿金纳火箭(Agena rocket)、弹道导弹和卫星做出了贡献。

最后一个案例是成立于 1970 年的 Xerox PARC (Palo Alto Research Center,施乐帕克研究中心)。该组织对于计算行业的影响不容小觑,开发了第一个图形化用户界面和在屏幕上重叠的“窗口”、面向对象编程语言 Smalltalk WYSIWYG 文本编辑 Bravo、以太网,以及通过激光打印机。

Xerox PARC 具有一个扁平的组织结构,没有层级,被设计成学术和工业的混合体。定期举办“经销商”会议,团队中的成员轮流提出想法,并解答团队中其他人提出的疑问。“经销商”会议的主持人要确保只有对一个想法优点的理性批判才可以得到关注和思考。这些辩论有助于改进正在开发的产品,有时会为未来的追求带来全新的想法。该团队还实践了他们所谓的“Tom Sawyering”(跨群体和项目的非正式动态协作),让同行评审能够持续进行。

Alan Kay 要求团队创建出世界上最强大的语言,一页代码足以。他说,“简单的事情就应该是简单的”。尽管最终的产品——Smalltalk 语言的长度略微超过了两页纸,但它的优雅和简洁启发了后来的“面向对象”语言,其中包括 Java。除了 Kay 的工作,Shoup 还强调了 Adele Goldberg( Adele Goldberg 是 Smalltalk-80 和“设计模板”(后来被称为“设计模式”)的联合开发人员)和 Richard Shoup (Randy 的父亲,开发了世界上第一个视频图像系统 Superpaint)的工作。Richard Shoup 与皮克斯联合创始人 Alvy Ray Smith 合作,赢得了 1983 年的艾美奖和 1998 年的奥斯卡奖。

在演讲结束之前,Shoup 再次提到,在高绩效组织中,需要目标、组织文化、人员和工程技术的卓越性。团队应该被鼓励从大处着眼,他们需要专注于组织的激励性目标。跨职能的“全栈”团队对于这类工作是最有效的,应该要最大化自治,同时最小化官僚主义和中央控制;合作是关键,培养学习文化也很重要。招募最好的人,无论他们有什么样的背景,因为经验和观点的多样性是非常有价值的,应该给他们良好的待遇。通过系统化思考和寻找解决问题的整体方案建立工程技术的卓越性。必须专注于交付,并且必须将持续迭代和反馈融入所有的过程中。尽管敏捷、精益和DevOps 的很多原则可能看起来相对现代,但是它们不一定像我们很多人认为的那么新颖。

关于本次演讲的更多信息可以在纽约QCon 大会的网站上找到,幻灯片(PDF 格式)可以从日程页面上下载。

查看英文原文: Breaking Codes, Designing Jets and Building Teams: Randy Shoup Discusses High Performing Teams

感谢无明对本文的审校。

2018-07-11 04:191415
用户头像

发布了 199 篇内容, 共 89.8 次阅读, 收获喜欢 295 次。

关注

评论

发布
暂无评论
发现更多内容

网络协议学习笔记 Day5

穿过生命散发芬芳

网络协议 4月日更

20年研发安全积累,5大研发安全能力让软件“天生安全”

华为云开发者联盟

DevOps 安全 DevSecOps 华为云 devcloud

软件 IT 专业的高校大学生创新创业问卷调查

五分钟学大数据

问卷调查

curl使用

Hex

工具

全球案例 | Dropbox: 在 COVID-19 时代通过 Atlassian 为远程工作提供动力

Atlassian

敏捷 Atlassian Jira 远程工作 Dropbox

近期值得关注的四款工具

彭宏豪95

效率 工具 Mac 4月日更

Python异常的这些知识点你都get到了吗?

老猿Python

Python 编程语言 异常处理

连续三年入围 Gartner 容器竞争格局,阿里云容器服务新布局首次公开

阿里巴巴云原生

容器 运维 云原生 k8s 边缘计算

基于区块链技术的去中心化自治组织——核心属性、演进脉络与应用前景

CECBC

区块链

面向软件 IT 专业的高校大学生职业规划问卷调查

打工人!

IT 问卷调查 职业生涯规划

Java-技术专题-多线程顺序执行的8种方案实现

码界西柚

Java 并发编程 AQS 多线程 JUC

【Node专题】Buffer理解

南吕

后端 nodejs 4月日更

6 张图带你彻底搞懂分布式事务 XA 模式

阿里巴巴云原生

Java 数据库 云原生 存储

如何快速准备高质量的AI数据?

华为云开发者联盟

AI 数据 华为云 modelarts 数据标注

BOE(京东方)成都数字医院开诊,投资60亿打造西南智慧医疗创新典范

爱极客侠

MySQL 死锁套路:一次诡异的批量插入死锁问题分析

AI乔治

Java MySQL 架构

拍立淘创始人潘攀博士为你揭开“以图搜图”的神秘面纱!

博文视点Broadview

CloudIDE:为开发者写代码开启“加速”模式

华为云开发者联盟

开发者 代码 华为云 CloudIDE HDC2021

南京的春天

小天同学

随笔 4月日更 春天 南京 散文

新疆重点人员管控系统搭建,指挥调度系统开发

FusionInsight MRS:你的大数据“管家”

华为云开发者联盟

大数据 数据湖 云原生 华为云 FusionInsight MRS

低功耗深度休眠后无法唤醒、烧录程序,怎么办?(华大半导体HC32L136)

不脱发的程序猿

嵌入式软件 单片机 4月日更 华大半导体 HC32L136

全球案例 | Dropbox: 在 COVID-19 时代通过 Atlassian 为远程工作提供动力

Atlassian

DevOps 敏捷 远程办公 Atlassian Jira

硬核系列 | 手写脚本语言编译器

九叔(高翔龙)

Java 编译器 脚本语言 词法分析器 编译器原理

基于MySQL存储的自研消息队列架构设计文档

Geek_2e7dd7

RocketMQ 在使用上的一些排坑和优化

AI乔治

Java 架构 分布式 RocketMQ 高并发

Golang easyjson

escray

学习 极客时间 Go 语言 4月日更

Rust从0到1-代码组织-路径

rust 路径 代码组织 paths

谁说 Java 不能用来跑 Serverless?

张晓辉

Java Serverless Knative Quarkus

应“云”而生的 Java 框架 Quarkus:构建小而快的镜像

张晓辉

Java Docker Serverless CloudNative Quarkus

Java中&、|、&&、||详解

Sakura

4月日更

破译密码、设计飞机和建设团队:Randy Shoup谈高绩效团队_研发效能_Daniel Bryant_InfoQ精选文章