波音事故的根源与西方软件工程的衰落
原文转自infoq.cn https://www.infoq.cn/article/udFfxH75APUOaDX*cV3B 6park.com文中提到,当狮航发生事故时,该MCAS系统问题已经被提上台面。 但是本应在短时间内解决的问题,被延迟了4个月依然无果
从技术角度来说,这是个很容易修正的低级错误。全球几百架运行着的波音 737 MAX 8/9 等着打这个补丁。然而,这个修复被拖延了好几个月,直到埃航事故发生。
延误的原因,其中之一是联邦官员和波音公司安全专家对于需要进行多大改动,有意见分歧。波音公司认为更新这个 BUG 很简单,减少下压幅度就行。而联邦官员认为 189 条人命是大事情,必须大改,确保单个传感器错误信号不会触发 MCAS 系统。加上波音公司和美国政府的低效,这个性命攸关的 BUG,硬生生被拖到四个月后。 6park.com 另一个问题该MACS系统没有提供相应训练手册,模拟器 etc。
对于安全要求严格的航空软件,波音要求每个需求都能追溯到相应的代码行。反之亦然。也就是说每行代码发生变化,必须能追溯到软件的设计文档。但是狮航事故后,媒体披露航空公司的管理层和飞行员并不知道飞机上还有这么一套辅助系统。APA 航空发言人 Dennis Tajer 曾表示,MCAS 系统的细节“对我们而言是新信息”,“我们的手册中没有提到它”。而且该航空还没有相应模拟器,他说他从旧的 737 NG 驾驶舱到新的 737 MAX,只在 iPad 上进行一小时训练。 根源: 波音公司在 2010 年曾发布了1000 份裁员通知,而这些被裁减的人大部分在 IT 部门。该公司当时拥有 158,500 名员工,其中包括 18,000 名工程和技术人员,但他们计划是削减 10,000 个工作岗位。一位前波音软件工程师在 2015 年表示,企业将裁掉 90% 经过了熟练培训的员工,用“外包”来代替他们,从而缩减开支。据《经济时代》报道,2015 这一年,波音公司给印度的外包业务翻了一番,达到了 5 亿美元。 软件外包是一个需要发包方和承包方高度协作的过程。服务周期长、可变因素多,这使得公司在软件外包过程中面临重大风险。787 型飞机计划 70% 使用外包,最终导致了延期三年还交付不了,波音表示:“我们同时在技术、工具和供应链上做了太多改变,超出了我们的管理能力“。 6park.com 另一个由外包引起的问题: 在Ada 文档中的最佳案例上,有一个案例是讲波音 777 上的软件 99% 是用 Ada 完成,其中制动系统完全用 Ada 来完成。Ada 语言最早是针对嵌入式和实时系统设计的,属于 80 年代的编程语言,也是美国军方的专用计算机语言。但之后并没有被普及,甚至可以说 Ada 在“平民层”的推广很糟糕。一个普遍的关于欧洲空间局阿丽亚娜 5 型运载火箭失败的说法是,因为 Ada 语言在编译过程的检查失败导致的。那么有一个疑问是外包企业中,如何搜集到合适数量的精通 Ada 的程序员呢?
|