为何优秀如程序员,也会构建 Bug 满格的软件?( 二 )

作者 | LI HONGYI

译者 | 弯月,责编 | 屠敏

以下为译文:

这个世界上金钱无法解决的事情为数不多,然而糟糕的软件就是其中之一。身价数十亿美元的航空公司做出来的航班搜索应用往往还不如学生的作品。尽管全世界成熟的出租车公司都面临着乘车共享服务的威胁,但他们的叫车应用依然很糟糕。痛苦的企业IT系统通常需要投入大量预算,花多年的时间才能建立起来。引发劣质软件的原因各种各样,但肯定不是缺乏资金。

令人惊讶的是,引发劣质软件的根本原因似乎与工程上的抉择关系不大,更多的是与开发项目的管理方式有关。糟糕的软件项目的过程往往非常相似:

项目所有者想要构建某个解决方案,但绝不会明确定义希望解决的问题。然后,他们会收集一长串大量利益相关者的要求。然后,将此列表交给大型的外部开发团队,由这个团队从头构建这个高度定制的软件。等到所有需求都得到满足后,每个人都会庆祝系统启动,并宣布项目完成。

然而,尽管这样的系统符合技术上的规范,但真正将它交到实际用户手中时就会出现严重的问题。运行速度缓慢,使用方法含混不清,而且还塞满了各种bug,最后只落得屡屡滑坡。不幸的是,到这个地步的时候,外部的开发团队已然解散,已没有剩余资源来进行必要的修复。等到几年后,一个新的项目又启动了,所有了解引发这些问题原因的人都已经离职,于是悲剧又一次开始重复上演。

推荐阅读