老板说 10 分钟可改完 Bug,为什么我却干了 3 小时?
The following article is from 程序员的那些事 Author 程序员的那些事
(给算法爱好者加星标,修炼编程内功)
转自:程序员的那些事
【导读】:国外程序员艾德·韦斯曼(Ed Weissman)从业32年。某天老板告诉他产品有个问题,10 分钟可以修复问题,谁知结果一干就是3个小时。本文就是艾德记录下的过程。
10:48
老板:艾德,苏珊在底特律说,“产品历史屏幕”上经常出现错误的发票号码(Invoice Part Number)。你能帮我们搞定这个问题么?
艾德:我现在在忙其他事。你到我的任务队列中提一个 ticket 吧。
老板:这事 10 分钟就够了。
艾德:你确信么?
老板:嗯,确定。我一会开个网络会议。苏珊会演示给你看,然后你有空的时候再仔细看看。
艾德:好的。
老板:嗯。去你的 Outlook 中查收(会议)邀请吧。
11:05
收到 11:30 的网络会议的 Outlook 邀请,接受。
11:25
从我的 IP 电话呼叫了网络会议的800号码。拨了两次,都占线。从 IP 电话打我手机,同样是忙。哎,IP 电话系统再次坏了。从我手机呼叫了网络会议的号码。我是第一个上线了,然后又挂掉了。在浏览器中点击链接进入了网络会议,还是第一个。
(艾德开始在浏览器的另一 Tab 中刷 Hacker News)
11:38
老板进入会议,问:苏珊在哪里?
艾德:我不知道。
老板:你能看到我的屏幕么?
艾德:不能。
老板:哦,等一下。我来做主(Let me be the host)。现在能看到了么?
艾德:嗯,可以了。但我想苏珊是不是去展示问题了。
老板:对。我一会让她做主。
(艾德开始刷 Hacker News )
11:47
苏珊进入会议:我们怎么在这里呢?
老板:来这儿的目的就是让你给艾德展示“产品历史屏幕”出什么问题了。
苏珊:展示“产品历史屏幕”的问题?
老板:你知道的,你不说发票部分号码有时候会出错么?
苏珊:你指 mil-spec 订单?
老板:我真的不知道。你不发送了ticket么?
苏珊:ticket 号码是多少呢?
老板:稍等,我查一下。
(艾德开始刷 Hacker News )
11:53
老板:ticket 号码是 13827。记住了吧?
苏珊:我怎么在我电脑上查看 ticket。
老板:点击内网中的 IT 控制板。
苏:我点不了啊。网络会议软件全屏了。
老板:那你在键盘敲击 Alt+F4,然后去内网。
(艾德开始刷 Hacker News )
11:57
苏珊:搞定,ticket 号码是多少呢?
老板:我应该写下来了。我再找找……
老板:13827!
苏珊:嗯,我看到了。这个问题出现过几次。没人知道为什么。通常在 R27-83 这个号码时出问题了。
老板:好,给艾德看吧。
苏珊:我怎么回到网络会议界面呢?
老板:你得重启了。刚才 Alt+F4 给关闭退出了。
(艾德开始刷 Hacker News )
12:04
苏珊:好了,网络会议软件打开了。你能看到我么?
老板:不能,你得点击“Host”按钮。
苏珊:在哪里?
老板:在右上角的小方框中。
苏珊:是“History”框么?
老板:不是,是“Attendees”框。
苏珊:好的。现在你能看到我了么?
老板:不能。再试。
苏珊:我试了。好像你得退出主模式吧。
老板:哦,我忘了。
(艾德开始刷 Hacker News )
12:14
老板:我退出主模式了。你再试试。
苏珊:?好的。现在你能看到我的屏幕了吧?
老板:可以看到。
艾德:我也可以。
苏珊:好的,如果我进入主菜单,点击“Operations”,然后点击“Sales”,再点击“History”,我到了“Sales History”菜单。看到了吧?
老板:嗯。
艾德:看到了。
苏珊:然后我按“Part”点击“Sales History Display”。输入”R27-93″,主屏幕弹出来了。然后我点击“Invoices”,我摁 F5,再 F3,再 F7,发票号码(Invoice Part Number)就变成了”GT548″。不应该这样的。
艾德:好,让我查看一下,再答复你。
老板:OK,再见。
苏珊:OK,拜拜。
艾德现在陷入了主模式,因为其他两位退出了。他不能退出。窗口锁定了。他重启电脑了。
12:38
艾德登录,进入开发系统。进入主屏幕,点击“Operations”,然后点击“Sales”,再点击“History”,到了“Sales History”菜单。然后按“Part”点击“Sales History Display”。他输入”R27-93″,主屏幕弹出。他然后点击“Invoices”,摁 F5,再 F3,再 F7,发票号码(Invoice Part Number)还是”R27-93″,本该就如此。在开发系统中工作正常。
12:46
艾德通过他的秘密后门登录产品。进入主屏幕,点击“Operations”,然后点击“Sales”,再点击“History”,到了“Sales History”菜单。然后按“Part”点击“Sales History Display”。他输入”R27-93″,主屏幕弹出。他然后点击“Invoices”,摁 F5,再 F3,再 F7,发票号码(Invoice Part Number)变成了”GT548″。苏珊没说错。
12:57
艾德查看了版本控制系统。这个问题弗瑞德(Fred)在11月11日已经 check out。艾德运行了一个 diff,看到弗瑞德已经发现他更改后的第425行的代码有问题,并修正了。
1:03
艾德呼叫弗瑞德,看他在忙啥。Voice mail。
1:07
艾德给弗瑞德发电子邮件,解释问题。
艾德继续看 Hacker News。
1:17
弗瑞德回拨艾德。艾德告诉他去看邮件。
(艾德开始刷 Hacker News )
1:28
弗瑞德回拨:OK,我想起来了。程序出错,是因为一个离岸外包的程序员改变了“Operations”目录下所有程序的header。他在重新编译前不小心删了一行代码。不知怎么地,还通过了QA,现在苏珊发现了这个Bug。
艾德:那么你现在能修复么?
艾德:不行吧。这个模块中还有12个其他的改动。我先看看,再打给你。
(艾德开始刷 Hacker News )
1:36
弗瑞德回拨:在 XL500 模块通过之前,我是改不了这些变动。模块被冻结(on hol),必须得让QA先批准。所以我们只能等了。
艾德:好的,谢谢弗瑞德。我一会就给老板发邮件告诉他。
艾德给老板发了解释邮件。
(艾德开始刷 Hacker News )
1:48
老板:好,这个看起来是个问题。貌似我不得不升级指导委员会了(Steering Committee)。艾德,很高兴你能分出10分钟来。谢谢。
(艾德开始刷 Hacker News )
- 完 -
你遇到过类似的么?欢迎来分(tu)享(cao)
- EOF -
觉得本文有帮助?请分享给更多人
关注「算法爱好者」加星标,修炼编程内功
点赞和在看就是最大的支持❤️