公司为何不修复漏洞

公司为何不修复漏洞

几年前,一位名叫 t0st 的孤独程序员做了一件非同寻常的事:他修复了《GTA Online》中一个长达 8 年之久、令玩家抓狂的错误。这个错误?令人痛苦的漫长加载时间,有时长达 20 分钟。而单人模式的加载时间只需几秒钟。他的解决方案非常优雅:13 行代码的调整就能将加载时间缩短 70%。摇滚明星游戏公司(Rockstar Games,《GTA》的幕后工作室)给了他 1 万美元的悬赏金,并修补了游戏。问题解决了,对吗?

不尽然。

互联网上的批评声此起彼伏。一家价值数十亿美元的公司怎么会错过如此明显的事情?是他们的开发人员无能吗?作为一个在技术领域工作过的人,我可以告诉你答案并没有那么简单。真正的问题不在于开发人员懒惰或技术无能。而是即使是最简单的修复,也会在企业优先事项的迷宫中迷失方向。

让我为你描绘一下幕后可能发生的事情。

错误的生命周期

想象一下在 Rockstar(或者任何一家大型科技公司)发生的对话:

第一年

Dev 1:”嘿,我觉得我们可以通过修复解析 JSON 的方式来改善加载时间。这是一个速赢方案。”

开发人员 2:”听起来不错。创建一个票据,这样我们就不会忘记了。”

产品经理 “需求里有这个吗?没有吗?好吧,我会将其标记为技术债务,并将其添加到积压工作中。”

第 3 年

Dev 3:”这个 JSON 瓶颈还在。我们是否应该优先处理旧票据?

产品经理 “我们本季度的重点是下一个 DLC 和微交易。也许明年吧。”

第 6 年

产品经理: “这张票据是 2013 年的。现在还适用吗?”

开发人员 35:”不知道。代码库已经重写了两次。可能不相关了。我们把它存档吧。”

第 8 年

开发人员 N:“嘿,我想我们可以通过修复解析 JSON 的方式来缩短加载时间……”

如此循环往复。

好 Bug 为何得不到修复

这不仅仅是 Rockstar 的问题。这是一个大公司的问题。下面就是为什么像这样明显的 Bug 也会被忽略的原因:

1.需求 “暴政

在大型企业中,一切都围绕着路线图展开。如果漏洞修复与特定需求或功能无关,就会被贴上 “技术债务 ”的标签,并被推到积压工作的最底层。老实说,“技术债务 ”就是 “我们永远不会处理这个问题 ”的企业用语。

2.所有权旋转门

八年来,开发人员和产品经理来来去去。最初提出申请的人呢?早已不复存在。了解问题的人呢?转到了另一个项目。机构记忆逐渐消失,票据成为过去的遗迹。即使问题依然存在。

3.快速修复 “的神话

一个 13 行的补丁看似微不足道,但在遗留代码库中,即使是很小的改动也会带来意想不到的后果。在没有适当测试或文档的情况下,开发人员往往会对修改旧代码犹豫不决。破坏某些东西的风险远远大于修复一个非关键错误的回报。

4.无形的投资回报率

实事求是地说:改善加载时间并不会直接影响底线。销售鲨鱼卡(《GTA》的虚拟货币)才会。公司优化的是季度收益电话会议上显示的指标,而不是商誉或用户体验,直到为时已晚。

毫无改变的快乐结局

t0st 的修复对 Rockstar 来说是一次公关胜利,但并没有解决根本问题。每修复一个备受瞩目的漏洞,就会有成千上万的漏洞被积压、遗忘和忽视。这里真正的启示并不是公司不关心漏洞。而是他们常常被相互竞争的优先事项、官僚主义的惰性和冷酷的利润计算所麻痹。

因此,下次当你盯着加载屏幕或咒骂故障时,请记住:敌人不是懒惰的开发人员。而是将用户体验视为事后诸葛亮的系统。直到一个外来者逼迫它出手。

元素周期表抱枕

相关推荐

醜的意思,醜的解释,醜的拼音,醜的部首,醜的笔顺
365beat中文版

醜的意思,醜的解释,醜的拼音,醜的部首,醜的笔顺

📅 12-15 👁️ 5689
新域名生效需要多久_新注册的域名几天后才能生效
固态硬盘最多多少g
office365无法登录账号

固态硬盘最多多少g

📅 09-12 👁️ 3070
《永劫无间》谪星获取指南
365beat中文版

《永劫无间》谪星获取指南

📅 12-20 👁️ 2665
微信名片怎么二次转发
365平台怎么注册

微信名片怎么二次转发

📅 08-12 👁️ 8868
网上充值加油卡后多久能到账?
office365无法登录账号

网上充值加油卡后多久能到账?

📅 08-13 👁️ 1969
奇迹mu巅峰人物?奇迹多少级出圣导师
365beat中文版

奇迹mu巅峰人物?奇迹多少级出圣导师

📅 08-10 👁️ 2977
iphone4现在用哪个版本系统比较好
365平台怎么注册

iphone4现在用哪个版本系统比较好

📅 08-22 👁️ 9215
诛仙噬血珠任务怎么获取 诛仙手游噬血珠隐藏任务攻略 已解决