危险了,世界赖以运行的软件

摘要:Bats因交易系统出问题而取消IPO,Facebook首次公开募股,纳斯达克无法确认订单长达数小时,瑞银因此而损失超过3.5亿美元,而Knight Capital因系统出错也损失了4.4亿美元。那些本应支撑证劵市场的关键软件,却让很大一部分的世界财富被锁住。危险了,赖以软件运行的世界。

什么是软件?十年前,或许大多数人认为软件就是微软的Word和Excel,而今天,大多人认为它可能就是Gmail、Twitter或愤怒的小鸟。但对于繁忙而又重要的全球经济而言,软件就不是用户智能手机上那简简单单的应用,它像沃尔玛的供应链、曼联的订票系统或丰田汽车的生产线一样,规模巨大但却破旧。

要知道,那些关键时候本应该支撑证劵市场的关键软件,却让很大一部分的世界财富被锁住。这些新闻很多,比如今年3月,Bats交易平台主导自己的IPO,但因自己的交易系统出问题而不得不取消IPO。今年5月Facebook首次公开募股,纳斯达克无法确认订单长达数小时,瑞士银行巨头瑞银因此而损失超过3.5亿美元,后来只增加了4000万股股票后,最终亏本出售。除此之外,还有上周的Knight Capital,它负责美国11%的股票交易,因系统出错而购买了太多的股票,从而损失了4.4亿美元。

发生上述这些事情的根本原因,是大多数的软件不是很好。是的,编写一款好的软件很难,有数以千计的机会犯错,更困难的是,程序员很难预见到软件程序面临的所有情况。尤其是上面那个瑞银和Knight Capital的例子,这是软件之间的数据交互,而你无法控制。因此,如果你不知道所要支持的所有使用案例,那么程序员将很难测试好软件。

危险了,世界赖以运行的软件

要想解决这些问题,这很不容易同时代价也很高。首先,你得需要很积极的开发人员,你需要了解面向质量的所有开发流程,而不是武断的直接开发。另外,你还需要一种团队文化氛围,人们可以经常诚实的评审彼此的工作。此外,你还需要有综合、全面的测试流程,能够进行大规模的自动化测试,以确保成千上万的代码组成的复杂程序,能够在所有时间、所有硬件上都能够正常工作。除此之外,你还需要个人性化的管理人员,他能明白推出一款好的产品就算很晚也比准时推出一款坏产品要好的多,这也是一些小的软件公司比一些大公司做的好的原因。

另外,为什么有这么多糟糕的软件呢?实际上,这是我们大多数情况下忍受的结果。正是因为我们不断的去忍受,才让这些糟糕的软件能一直这么生存下去。

在相互联系日益复杂的金融系统里,我们无法控制以及不清楚具体情况,我们可以去忍受。但当软件程序出错,他们不去寻找线性方式去可预见,对于这个我们不可忍受。举一个简单的例子,如果一个程序在每个数字后面添加一个0,那么它无疑也可以添加三个零。今天的股票市场已经变成了战场,而复杂的交易算法、编程的一个小错误,可能瞬间让人损失数百万或数十亿美元。

对于金融体系而言,计算机程序越来越重要,但当前的问题是,那些经济贸易公司没有足够的激励,以确保他们的软件可以正常工作。当然,每个人都希望不要投入解决方案就可以有程序运营,但问题是,你还乐意牺牲多少?

软件故障虽然是低概率性的,但一旦发生可能就是灾难性的。压力测试软件,可以预防灾难发生,但这很昂贵,所以组织机构在风险和注重成本中更可能会选择接受风险。那些一直在运行的金融机构,无法驱动交易员或客户经理懂得这些技术,同时这也是监管解决不了的问题,难道你能规定公司必须要写出一款稳定可靠的软件?

危险了,赖以软件运行的世界。(编译:张勇 责任编辑:高松)

原文来自:Theatlantic

收藏 1 评论

相关文章

可能感兴趣的话题



直接登录
最新评论
跳到底部
返回顶部