加班越狠,出成绩就越多吗?在NASA,这叫做Go Fever - 微信精选
-- Preview: --
加班越狠,出成绩就越多吗?在NASA,这叫做Go Fever
程序员内推圈2019-02-02
本文转载自公众号 余晟以为
最近IT行业加班的讨论多起来了,“全员制度性996”也成了热门话题。
我也和朋友们有一些讨论。一方面,我可以理解老板们的想法:工资还是那些工资,员工多加班,产出就要多一些,成本不变收益提升,“榨一榨出成绩”是大好事。另一方面,我也可以理解程序员的想法:脑力劳动的产出应当看最终成果而不是看工作时长。同时我也清楚,这样讨论下去恐怕很难有公认的结论,所以不妨暂时放下意见分歧,换个角度来看这个问题。
大家都知道,生产活动都要受到资源的限制。农业要受到阳光、雨水、肥料的限制,工业要受到原料、能源的限制。资源投入增多,当然会带来产出的增多。但这种增加不是无限的,在农业上,施肥太多会适得其反,在工业上,一味堆积原材料只会造成库存压力暴涨,资金周转缓慢。
那么高科技行业呢?
高科技行业与工业、农业都不同,它似乎不受太多客观自然条件的限制:阳光、雨水、肥料、原料、能源,似乎都对高科技行业都没有太多影响,作为一种“智力密集型”劳动,它需要的似乎就是智力,就是从事脑力劳动的人。既然如此,是不是投入的人越多,进度就会越快,结果就会越好?
IT行业的做法尚且没有最终结论,但同处高科技行业的航天领域,NASA(美国航空航天局)已经获得了惨痛教训。这种状态,在NASA被叫做Go Fever,甚至维基百科上都有专门的词条。
2018年上映的《登月第一人》不知道有多少人看过,片中再现了“阿波罗1号”的事故,三名宇航员顷刻丧生火海,在人类航天史上都是惨痛的一笔。关于“阿波罗1号”已经有许多讨论,但我相信,无论你是否看过那些讨论,下面的文字仍然值得你看看。
20世纪60年代初,美国在载人航天上落后苏联一程,无论是第一颗人造卫星,还是第一名宇航员,都被苏联人抢去了。不过与苏联直接以军队为基础、秘密展开航天任务不同,美国一定要把NASA(美国航空航天局)定性为民用机构,并且第一次载人航天(其实没有进入地球轨道)就进行了全程电视直播,影响力当然非同凡响。
在此之前,美国总统肯尼迪已经在国会公开表态:“我相信,我们美国人应当为了一个目标全力投入,在这个十年把人送上月球再带回来!”
肯尼迪不愧为极富魅力的政治领袖,面对如潮的掌声,他的名言至今仍然被传诵:“要完成这个任务,并非因为它简单,而恰恰是因为它困难。我们必须在这新的海域扬帆,因为在这里可以获取新知识,赢得新权利……” (想想今天美国总统的讲话风格,只能承认“谈吐而不是穿着,才最能体现人的修为”)
肯尼迪在国会演讲。来源:NASA
1963年5月,肯尼迪来到美国陆军弹道导弹研究中心视察。不到6个月之后,1963年11月22日,肯尼迪遇刺身亡。但是NASA许多人的担心并没有变成现实,就在肯尼迪遇刺之后一周,继任总统林登·约翰逊把卡纳维拉尔角的发射操作中心命名为“肯尼迪航天中心”以示纪念,并且继续大力支持肯尼迪的航天计划。
而在NASA,许多人在想:肯尼迪虽然不在了,但他曾经那么信任我们,他相信我们一定能做到。所以,“登月”的遗愿反而成了NASA继续前进的动力。
眼看着1970年越来越近了,登月却还有众多问题没有解决。要知道,登月这回事,历史上没有过先例,而且当时也没有那么发达的民间工业和技术支持——如今许多发达的民间工业和技术,恰恰是当年登月的科技成果民用化之后的产物。不过,为了完成“十年内登月”的任务,所有人都在拼命工作,都在想着“快点,再快点”。然而,问题似乎永远解决不完,时间似乎永远也不够用。
同时,NASA也选定了第一批登月的宇航员。他们分别是:
Virgil Ivan Gurrison,昵称Gus,飞行员,朝鲜战争老兵,“水星7人”之一,也是美国第二名进入太空的宇航员。1961年,在他完成“自由钟7号”任务返回地球落入大海时,舱盖门因为未知原因打开,海水大量涌入飞船,所幸Gus足够机灵,迅速逃出。负责搜救的直升机飞行员太想把载着资料的飞船带回来,反复尝试均告失败,结果穿着宇航服的Gus差点淹死,飞船也沉入海底(虽然有人怀疑舱盖是Gus自己打开的,但他发誓自己绝没有那么做)。之后,Gus又在“双子星3号”参与了第一次“双子星”飞行。此次被选中成为“阿波罗1号”的宇航员,理所应当。
Ed White,空军中校,“双子星4号”的宇航员。美国第一次太空出舱活动就是由他完成的,如今还经常可以看到这次太空行走的影像资料(不过他完成的太空出舱活动是有绳索系留的,并非自由行动)。
Ed White完成的首次出舱活动(EVA)。 来源:NASA
Roger Chaffer,海军少校,1963年开始参与载人航天计划。虽然他没有上过天,但已经长期负责地面支持,在“双子星4号”任务中,他担任CapCom(负责与飞船通讯的人员)。Roger说,“我相信这趟旅程会充满乐趣的”。
从左至右:White, Gus, Chafee。来源:NASA
一面是宇航员在训练,一面是飞船在建造、改进,两方面都是前所未有的,复杂程度更上层楼。宇航员们抱怨地面模拟器每次都在变,仍然跟不上真飞船的变化——确实,进度实在太紧张了,一名宇航员回忆说,每天飞船里来来回回都是人,虽然大家都穿着包裹了特殊材料的工作鞋,飞船的金属地板还是被磨得闪闪发亮。
后人把那段时间称为“航天竞赛”(Space Race)。当时,为了证明自己社会制度的优越性,美苏两国玩了命地在航天事业上烧钱。苏联人第一个发射了卫星,第一个送人上天,两次领先已经让肯尼迪觉得很没面子。据说,肯尼迪和幕僚班子关门商量了半天,出来的时候一锤定音“我们去月球”,希望借此挽回局面。
重压之下当然有冒险,“水星”飞船第一次载人飞行的时候,宇航员Alan Shepard打趣说“(这东西)看起来从里到外都是半成品”。不过,这次任务还是顺利完成了。
1967年1月27日,在34号发射台上,“阿波罗1号”进行了一次“不插电”(或者叫“拔插头”)测试,也就是切断外界能量来源,完全依赖飞船自身电力的测试。按计划,真正的发射时间是2月21日,这次“不插电”测试很重要。
美国东部时间下午1点,三名宇航员进入指令舱,戴上氧气面罩,接好通讯系统。Gus忽然闻到一阵臭味,于是演练暂停,对空气进行取样,原计划“发射”倒计时定是下午1:20,顺延到了2:42。
倒计时恢复之后,舱门封闭,舱内充满纯氧,压力达到115千帕,大约是标准大气压的110%。这时候,飞船的运动检测设备、宇航服的生物感应器、氧气流量都显示,宇航员在正常运动。唯一有问题的是通讯,通讯质量一直不怎么好。Gus抱怨说:“现在隔着两三栋楼就听不清了,怎么敢上月球?”
演练停了下来,大家努力解决了通讯问题,再次开始倒计时已经是下午5:40。到6:20,大部分倒计时功能都已经准备完毕,但是直到6:30,倒计时还停留在距离点火10分钟的状态。
6:30的时候,宇航员们还在按照手册逐项检查。突然,AC Bus 2(交流电2号总线)的电压猛增。9秒之后,大家在无线电里听到有人大喊“火!”(许多人相信这是Gus),接下来一阵噼里啪啦的声音。然后又有人喊“驾驶舱着火了!”(据信这是Chafee)。继而无线电静默了6.8秒。
再往后传来断断续续的喊声:“火,大火,我们得离开……” 这次的呼喊持续了5秒,然后是一阵撕心裂肺的尖叫。
情况万分紧急,当务之急是灭火救人。然而,不凑巧的因素很多。
首先,美国与苏联的航天器的供氧方式不同。苏联人给航天器内充的是类似空气的混合气体,70%左右的氮气加上30%左右的氧气。NASA之前也考虑过这个方案,但担心气压迅速降低时氮气会导致减压病,同时NASA之前遇到氮气泄漏导致试飞员吸氧不足的事故,所以决定使用纯氧。这样还有两个好处,第一是节省了氮气设备的重量,航天任务中每一克重量都是宝贵的;第二是宇航员出舱时不必过渡,要知道,苏联宇航员在出舱之前必须先在调压舱室吸纯氧过渡。
但是,NASA严重低估了火灾的危险。虽然凭借常识就能知道,纯氧环境有巨大的起火风险(舱内氧气含量几乎是普通大气中氧气含量的五倍),只是NASA之前的航天任务都没有出过问题。在事后调查中,NASA的高级官员都声称“没有正经考虑过纯氧环境起火的问题”。
其次,如果真的在太空起火,情况反而不会那么严重。因为太空中没有重力,气体只能从浓度高的地方自然扩散到浓度低的地方,速度较慢,燃烧只会局限在一个较小的区域,或者保持“阴燃”,而不可能迅速扩大。但是在地面,因为重力影响,燃烧产生的热空气会迅速向上升腾,而在火源附近,氧气会源源不断补充而来,火势异常凶猛。
再次,之前因为“自由钟7号”的舱门意外开启,导致飞船打捞失败。所以“阿波罗1号”的舱门设计得特别保险,一共有三层,外层舱门只能从外部开启,内层舱门必须由舱内的宇航员用棘轮松开六个套筒之后,才能向内开启——这样做确实“够保险”,不过这种“保险”的前提是一切正常。可是,谁能保证情况永远是正常的呢?
当然,NASA确实在考虑更先进的舱门,不过进度紧张,新的舱门预计在第二批的“阿波罗”任务中才会安装,“阿波罗1号”恰恰属于第一批。在着火的时候,舱内气压高于外部,而且内层舱门根本打不开,所以整艘飞船变成了“焖烧罐”——实际上,飞船着火不久就爆开了裂缝。
还有,因为完全没有考虑过火灾的情况,宇航服大量使用了尼龙,飞船里也使用了大量的尼龙材料。按照之前的经验,飞船上的零件如果固定不牢,飞行颠簸中就会掉落或者飘散到不易接触的角落。在听取了宇航员的反馈之后,“阿波罗”飞船的操作面板下有一个尼龙网兜,而且面板上的重要零件、接插件都用“维可牢”尼龙拉链牢牢固定住。然而一旦着火,尼龙材料很容易燃烧,而且会散发出大量的毒烟——事后检查表明,宇航员的致死原因正是毒烟。可惜,这个问题一直没有引起足够注意。
最后,因为当天是“不插电”的演练,也没有加注燃料,大家认为不会有什么危险,因此除了在飞船外“白房”(环境室)内配合演练的几个人,其它的消防、救援、医疗等等团队都不在现场待命,而是在距离发射台550米远的地堡里,故而没法第一时间抵达现场。
更糟糕的是,因为之前缺乏应急救火的准备,他们抵达现场的路径也不够通畅,各种转角、楼梯、安全门都会影响速度。在抵达现场之后,也没有足够的防毒面具和灭火设施(配备防毒面具是为了防止毒气的,却不能应付普通的烟雾),飞船和发射台也已经被火焰和浓烟覆盖,他们一开始简直束手无策。
本来,如果时间足够充分,工作足够有耐心,这些问题都可以提前发现做好预防,悲剧也不会发生。但是在那段时间,NASA从上到下都处在紧张亢奋的状态当中。快还不够,还要更快。一天24个小时,怎么也不够用。确实,高科技行业不像农业、工业,受到自然条件的诸多限制,但高科技行业也有自己的规律。如果一味追赶进度,不尊重规律,结果往往就是惨剧。
起火之后的阿波罗1号。 来源:NASA
实际上“阿波罗1号”的过火时间很短。起火5分钟后,救援人员就打开了三层舱门。但是烟雾太大,他们找不到宇航员。不久烟雾散去,他们才发现宇航员的遗体。Gus和White的宇航服已经烧化,Gus已经解开安全带,躺倒在地板上。White已经来到舱门下方,猜测应当是想按程序打开舱门,但舱内压力大于外部,这是不可能的——White是所有宇航员中身体最强壮的,这增添了事故的悲剧色彩。更糟糕的是,内层舱门是向内开启的,White的身体恰好阻碍了救援人员打开舱门。Chaffee坐在右侧的座椅上,看起来,White打开舱门时,他还在按预定程序负责维持通讯。
事后检查发现,仅仅在火灾发生十多秒之后,三名宇航员就已经死亡。虽然他们都被大面积烧伤。起火初期他们都在想法自救,如果舱门能及时打开,或许还可以幸存。可惜真正的致死原因并不是烧伤,而是毒烟导致的窒息。然而因为舱内的可燃物很多,燃烧很凶猛,等火灾过去之后,许多东西都已经融化,救援人员花了90分钟才把三名宇航员的遗体转移到舱外。
宇航员的遗体。 来源:NASA
“阿波罗1号”的大火是人类航天史上的悲剧,也是NASA登月的重大挫折,整个团队的士气因此大受影响。要知道,在这之前,NASA的载人航天任务中一直没有出现过人员伤亡。实际上在整个“太空竞赛”中,美国的事故率一直低于苏联,一个重要的原因是流程的科学和大量的测试(当然这样做成本高昂,但美国的财力也可以支撑得起)。
以最基础的螺栓为例,铁矿石采自哪处铁矿,哪个截面,之后要进行多少道工序,每一道工序都有详细完整的测试。从最初的铁锭,再到铁条、钢条、螺栓,都需要取得合格证。这样制造出的螺栓价格是普通螺栓的若干倍,但确实经得住登月的考验。后来,心有不甘的苏联工程师曾说:“如果给我们同样多的预算,我们也能做到。”
虽然NASA的流程更细致周密,悲剧还是发生了,而且它竟然发生在地面,许多人认为这是不可理解的。此次事故之后,NASA成立了专门的调查委员会,进行了详细的调查,最终调查报告总共2375页,厚度超过20公分,包含数千张照片。整个报告分为六部分,分别是:1、事故当时采取的行动;2、目击者的见证词和回忆;3、飞船012(即“阿波罗1号”)的作业手册;4、最终的整体报告;5、关于管理和组织的概要描述;6、可见证物总揽。
虽然事故的原因看起来不难理解,但针对暴露的每一项问题,NASA都做了大量的测试来确定改进方案。比如,针对最关键的纯氧环境易燃问题,NASA花费一年多时间,进行多次测试之后,才在1968年3月确定为“60%的氧气和40%的氮气,在发射平台上保持为2个标准大气压”的方案。
尽管一直没有找出起火的真正原因,但调查委员会确认之前工作的重大疏忽。其中任何一个方面多加注意,灾难都可能避免,这确实可惜。之后,NASA记住了一个新名词:Go Fever(我翻译为“进度狂热”。Go是NASA的行话,表示“通过、正常、放行、没问题”。比如任务启动之前,有专人逐个询问各子系统负责人:Go or NoGo。如果大家都回答“Go”,最后负责人就下令“Go”)。
”阿波罗12号“发射,听见此起彼伏的”Go“。 来源:NASA纪录片 For All Mankind
在Wiki上有Go Fever这个词条,我把解释翻译成了中文:在美国航天工业中,Go Fever是非正式的术语,指从上到下热衷赶进度的态度,或者忽略潜在的问题或错误,急于完成项目的状态。无论个体还是集体的行为,都可能产生Go Fever。
其原因可能是个人死守对先前目标的承诺,却不考虑成本已经上升,收益已经下降,承诺已经不切实际;也可能是预算受到了过度关注,或者这样的集体氛围:人人都害怕成为团体中的落后分子,人人都害怕拖累整体进度。
尽管大家都知道Go Fever不对,但许多人抱有侥幸心理,事故发生之后,整个团队的士气大受影响。在许多年后的采访中,第一任飞行总指挥Chris Kraft表情特别沉痛:我和Gus无比熟悉,我和White的相处融洽,我也很喜欢Chafee。但是,我们失去了他们。可以说是我们杀死了他们,某种程度上,这可以算谋杀……
然而面对低沉的士气,载人航天任务不能停滞,必须有人站出来扭转气氛。第二天,传奇飞行总指挥Gene Kranz集合团队,发表了著名的演讲,强调了载人航天的两大素质:Tough and Competence(坚毅、胜任)。
左:Gene Kranz,右:电影《阿波罗13号》中Ed Harris饰演的人物即以他为原型
这也是NASA历史上的传奇演讲。Tough and Competence也被视为NASA的重要精神,一直延续至今。我把全文翻译如下:航天任务永远不能容忍粗心、无能、疏忽。过去,因为某个地方,因为某些原因,我们搞砸了。原因可能在设计上,也可能在装配或者测试上。不管它是什么,我们应该把它找出来。过去我们过分纠结于时间表,紧盯着每天在工作中看到的所有问题。计划中的每个要素都遇到了麻烦,我们自己也是如此。模拟器无法工作,指挥中心几乎在每个领域都有进度延误,飞行和测试程序每天都要更改,我们的工作成果全都定不下来保质期。
面对这一切,我们中没有人站出来喊一句:“该死的,停下来!”我不知道负责调查的汤普森委员会能找到什么原因,但我知道自己发现了什么。我们自己就是原因!我们还没准备好!我们没有做好自己的工作。我们都在掷骰子,希望到发布日一切会自动就绪,我们内心知道这只可能靠上天保佑。我们在推动进度表,我们也心存侥幸,打赌发射之前不会发生灾难。
从今天开始,航天指挥中心将把注意力集中在两个词上:“坚毅”和“胜任”。
坚毅,意味着我们永远对自己已经做的和未能做的事情负责。我们永远不会再推卸责任。每次走进指挥中心,我们都会知道自己肩头的责任。
胜任,意味着我们永远不会想当然对待任何事情。我们的知识和技能永远存在不足,航天任务永远达不到完美。
今天离开这场会议,回去各位的办公室,你们要做的第一件事就是在黑板上写下“坚毅、胜任”,永远不要擦掉它。每次进入房间时,它们都会让你想起Grissom,White和Chaffee付出的代价。要想进入航天任务的指挥行列,你就得明白这个道理。
21个月之后,1968年10月11日,搭载宇航员的“阿波罗7号”顺利进入太空,整个任务堪称完美。承载“阿波罗”后续发射计划的“土星5号”重型运载火箭,更是在总共17次发射中保持了成功率100%的奇迹。
在事情的另一面,Go Fever始终没有远离。1967年的“阿波罗1号”的悲剧,1986年“挑战者”号航天飞机的悲剧,2003年“哥伦比亚”号航天飞机的悲剧,每一次惨剧的背后,都可以看见Go Fever的影子。
个人感想
我经常说,航天和IT有许多相似之处。Go Fever也是这样。
人们往往认为,IT行业不受季节、潮汐、天气等等自然客观条件的影响,所以“有多快就可以跑多快”。换句话说,只要持续投入资源,进度就可以持续加快。我们看到的许多报道也在强化这种印象:加班加点、废寝忘食赶进度,结果完成任务的时间远远超过预期。
但是,因为加班加点、废寝忘食赶进度导致失败的案例也屡见不鲜,只是不怎么见诸报道而已(其实也有不少IT图书讲述这类故事,比如《人月神话》、《凤凰故事》等等)。只是因为载人航天的事故实在太大,Go Fever才被众多人所知道和重视。
所以,即便是在不受自然客观条件限制的IT行业,客观规律仍然存在着,“过犹不及”的那条线仍然存在着。没有越过的时候,它表现为众生欢喜的”潜力挖掘“、“效能提升”。
可是一旦越过了, 长期加班就会导致工作重心的变化,关注的不是最终目的的完成,而只是程序性地完成每天的工作量 。但是, 高科技项目往往需要去发现并解决各种事先想不到的问题,而这恰恰是程序性工作的空白 ——“阿波罗1号”的悲剧就是最好注解。
这样的道理说出来似乎不难理解,真正的困难在于:谁能看到这红线?谁能认清这规律?谁能证明这规律?谁认可这条红线?
大概很难有标准的答案,世间流传的反而是一些“不信邪”、“把不可能变为可能”的传说。而我真正见过的比较好的答案,大都离不开下面几个因素:对技术足够的敬畏、足够缜密的逻辑、对技术人员足够的尊重,以及足够大的话语权。最后一个因素与技术无关,但至关重要。
Gene Kranz的演讲中提到,如果遇到Go Fever,如果对未来没有足够把握,应当勇敢站出来大喊:“见鬼,停下来”。听起来这很有道理,但即便在NASA,“停下来”的喊声未必会被重视——1986年“挑战者”号的悲剧就在于此,当时已经有许多工程师提出,突然降临的极寒会造成问题,按原计划发射会有巨大风险,但这些意见没有被采纳。反倒是高科技行业“看不起”的制造业中推崇的“丰田生产方式”,真正赋予了每道工序的工人“叫停整条生产线”的权力,这真是有趣的对比。
还有,无论科技中有多少竞争,足够的信息沟通都是利大于弊的,至少可以避免类似的悲剧重复发生。其实早在1961年,苏联就有一名宇航员候选人在地面训练中因为类似事故丧生。不幸的是,苏联人一直严守秘密,直到25年后才公开。如果不是这样,或许“阿波罗1号”的悲剧本来可以避免。
最后补充一点,《登月第一人》中,“阿波罗1号”火灾发生之后,阿姆斯特朗接到紧急电话,要求他以最快速度赶回休斯顿。这段情节应当是艺术的移植。据资料记载,接到电话返回休斯顿的是“阿波罗8号”的宇航员Frank Borman,他后来也被NASA指定为参与调查委员会的唯一宇航员。在国会面对议员们的质询时,他保持了足够的镇静和客观,最后留下了一句铿锵有力的话:先生们,我们对自己的计划有足够的信心。现在的问题是,你们对我们有信心吗?
第二年,Borman又接到了一个“火速赶回来”的电话,这次不是发生了事故,而是询问他:根据最新的情报,俄国人也在加班加点准备登月。那么,你们的“阿波罗8号”能不能临时改变计划,不是绕地球飞行,而是到月球去?
这就是太空竞赛的节奏,那么,这一次NASA还能避免Go Fever吗?如果你希望知道,欢迎点“好看”、留言、赞赏来支持我,因为“阿波罗8号”实在是一个太精彩(但太长)的故事。
美国航天局
阅读原文
Tips: Until now, everytime you want to store your article, we will help you store it in Filecoin network. In the future, you can store it in Filecoin network using your own filecoin.
Support author:
Author's Filecoin address:
Or you can use Likecoin to support author: