从南极之争谈软件架构10个技巧及成功团队具备的气质

开发 架构
随着云计算带来的低创业门槛、大数据潮流的盛行,越来越多的人加入了这场创业风暴。然而众多的淘金者中,真正满载而归的却是少之又少。这里为大家分享 HighScalabilty创始人Tod Hoff结合南极穿越之争带来的成功软件架构经验,及成功团队需具备的一些特性。

随着云计算带来的低创业门槛、大数据潮流的盛行,越来越多的人加入了这场创业风暴。然而众多的淘金者中,真正满载而归的却是少之又少。这里为大家分享 HighScalabilty创始人Tod Hoff结合南极穿越之争带来的成功软件架构经验,及成功团队需具备的一些特性。以下为译文。

 

每个软件打造的核心都存在一次漫长的探险,或许你会觉得夸张,但是在 皇家卑诗省博物馆参观Race to End of Earth(罗威探险家 Roald Amundsen和英国海军官员 Robert Scott于1911年-1912年完成的 穿越南极之战)展览时,两支队伍采用的不同途径让我备受启发——那些同样存在于软件开发过程中决定成败原则。

我希望我可以重现 参观时的体验。随着参观的进行,我不断的对Scott的选择产生质疑,并叹服于Amundsen的老道,其中核心直指开发的两个极端Agile(Amundsen)与Waterfall (Scott)。

首先我们看两个比赛的背景知识

简而言之,率先抵达南极的队伍获胜。两个领队以完全不同的途径去完成这一目标,方法源于他们不同的目标、经验以及气质。比赛的结果是 Amundsen比Scott早33天抵达,同样队伍的状态上Amundsen更是远胜Scott。归途中,Amundsen队伍无损,而Scott小队 全军覆没。

更多的细节可以参考:

我们的重点则是可以运用于软件打造中的知识:

1. 单一的目标

这点让我感受颇深:Amundsen唯一的目标就是以最快的速度抵达目标,而Scott则要兼顾科学研究。

对于Scott来说,科学研究这个使命甚至优于资源与人员配备。而Amundsen的所有目的都是赢得比赛,还有平安归来。

想比之下Scott的双重目标存在很多矛盾。不错,那时确实不乏悠久的帆船科学研究历史(比如达尔文),然而达尔文并不是进行比赛,他们的船很大,同时科学研究只是附加目标,而环境也远没有南极那么恶劣及荒无人烟。

Fred Wilson在谈专注的力量时 经常引Steve Jobs为例——“我们专注于打造一个适合所有场景电脑的生产线,然后逐渐关闭其它的生产线”。专注是类似Minimal Viable Products及 time box scheduling产品背后的原动力,Amundsen专注在比赛上,所以一切策略都以这个为目标展开。

2. 使用简单,已被验证的技术

比赛中最难以接受的就是Scott的计划选择了一组复杂且未经验证的运输技术。

Amundsen的计划是简单的,他们选用狗拉雪橇;而在那时,狗拉雪橇的这个技术无疑是得到论证的,因此奇怪的应该是不选用狗的人。

然而在早先的旅行中Scott对狗有着非常不好的体验,所以他并未选用这个运输途径。取而代之的是,Scott选用了motor-sledge, 这是机动雪橇的早期版本。在那个时候,这还是个试验中的技术,最终3架motor-sledge都在途中损坏。然而当下的问题不是讨论他们为什么有那么差 的体验,而土著人民却非常善于用狗,而是缺乏对事物的详细了解并往下定论。

[[83938]]

小马的任务是搬运补给,但是很小的蹄子让其不能胜任工作,因为它很容易受到潮湿和冰冻的侵害。9匹小马在旅行开始时就失去了作用,然而马和motor-sledge的补给只能储存在船上。对比而言,狗无疑更适应战场,它们可以吃南极洲捕获的企鹅和海豹肉。

使用人力拉沉重的雪橇,本来只作为应急,但是马和motor-sledge的缺失让这个方案执行了3/4的旅途。而雪橇还在不停变重,因为沿途他 们不得不收集一些岩石以作科学研究。这样,问题就在于他们根本没有足够的食物以支撑整个过程。他们并不清楚,一天吃4000卡路里的他们却需要消耗 6000到10000卡路里的能量。

 

[[83939]]

 

3. 定制、测试、重复

Amundsen的计划很周密,不留任何漏洞。当他发现设备达不到需求时,会自己动手,他亲自做了防风镜、滑雪板、犬绳及肉干。这种自力更生正是开发者需要具备的品质:

所有Amundsen的工具都出自自己的工坊,并经过一次又一次的提炼。Amundsen在制造工具时使用了两个信条:第一,远甚于批量生产的设备;第二,参与制造,可以确保设备在比赛中的表现。

 

[[83940]]

 

#p#

4. 冷静且无情的

捕获焦点,必须具备认知重点的能力,只做必要的事情。

Walter Sullivan在The South Pole Fifty Years After使用另一个方式完美的阐述了这个道理:

登月通过一连串的火箭完成,而在这个过程中这些火箭被逐一抛弃;那个挪威人使用了同样的策略,在旅途中不断抛弃虚弱的动物,并且作为其它动物和人的食物。

5. 灵活

Amundsen原计划是去北极,但是在听说两个美国人已经抵达北极后,果断的将目标转向了南极,以获取世界第一这个奖励。

6. 从实际出发

Scott使用人拉雪橇不仅仅是为了运输,更加入了一种浪漫主义风格。Scott日记的背后甚至反射出Wagner的身影:

引用

在我的记忆中,没有任何与狗有关的探险可以达到这样的高度——人们直面险阻,并用自己的双手达到目的……无可否认的是,在这种情况下,征服才是更高贵、更华丽的胜利。

7. 技巧让一切都变得不同

Amundsen招募了多个经验老道的滑雪人并组成团队,相比,Scott的队伍无疑都是一些门外汉,并未针对需求进行训练。

8. 选择正确的团队

Scott的团队有许多来自英国的绅士,而Amundsen则选择了一些具有户外经验并有不同技能的工匠。

9. 错误的叠加

Scott的团队注定无法赢得比赛,然而他们的死亡却是由一系列的错误叠加引起。天气比预期的更冷,这样导致他们返程时在预定时间并未到达下一个 补给点,补给点存放了食物、燃料及其他物资。当Scott、Wilson和Bowers三人死亡时,离下一个补给点仅11英里远。马、motor- sledge及一个错误的补给点判断,让下一个补给点离他们遥遥无期。悲剧的铸成绝不因一个错误,而是由一系列错误叠加形成。

10. 后见之明

在事情开始时没有什么是清晰可见的,然而在结果产生时一切都已尘埃落定。Scott在开始时做了他认为最合适的决策,而其它人也同意他的观点。每 一个项目也是如此,没有人会愚蠢到从开始就放弃;然而通往成功的路径总是很少,并且沿途充满了太多的岔路。所以我们有必要去吸取一些成功的经验,多了解一 些最佳实践。

忆往昔,不难发现成功的团队总是具备一些共同的特性:规模小、良好的引导、专注、高技巧及具备丰富的经验,同时他们还有着健壮的计划、丰富的资源以及强大的战场适应能力。

原文链接:http://highscalability.com/blog/2013/8/19/what-can-the-amazing-race-to-the-south-pole-teach-us-about-s.html

责任编辑:陈四芳 来源: 51CTO
相关推荐

2021-09-17 10:22:22

人工智能AI团队

2019-10-25 14:00:01

协作远程IT团队工具

2020-03-02 09:35:56

IO首席信息官数字化转型

2011-11-08 09:28:28

开发团队

2020-07-31 10:13:42

CIO首席信息官IT

2019-04-04 10:48:31

软件架构模式

2020-02-12 10:23:54

云迁移云计算

2014-06-08 23:19:43

DevOps敏捷开发

2009-02-10 15:30:21

软考系统架构师

2019-11-25 15:46:11

LinuxVim命令

2010-08-05 13:51:13

软件架构师

2020-04-21 10:26:06

IT团队T主管CIO

2021-06-21 09:34:46

CIO敏捷团队业务领导者

2010-11-12 10:34:42

求职

2010-05-29 14:24:13

2021-08-20 10:05:32

勒索软件恶意软件安全

2011-06-29 18:12:17

2020-06-04 10:53:32

虚拟会议远程工作

2015-09-16 16:04:53

程序员面试技巧

2022-05-09 14:46:55

勒索软件数据保护
点赞
收藏

51CTO技术栈公众号