branHis boss, Steve, burst into his cube. It was clear from the look of panic on his face that this was an emergency.
“Did we change anything this weekend?”
“No,” Branon said. “We never deploy on weekends.”
“Good, something he must have changed?!”
After a few rounds of this, Steve’s panic subsided and he explained a little more clearly. Every night their app was supposed to generate a series of nightly reports and send them by email. These reports went to a number of people in the company, up to and including the CEO. Monday morning came, the CEO checked his inbox and horror of horrors – there was no report!
“And looking at people’s inboxes, it seems like it’s been a problem for months — nobody seems to have received any for months.”
“Why are they noticing now?” Branon asked.
“That’s not really the problem here. Can you investigate why e-mail not working?”
Branon put his worries aside and agreed to dig up and fix the problem. Since it involved sending emails, Branon was willing to spend a long time trying to debug everything that went wrong in the chain. Instead, finding the problem only took about two minutes, most of which was spent on coffee.
public void Send()
This app has been in the works for over a year. This function had not modified at that time. So while it is technically true that no one has received a report for “months” (16 months is the number of months), it would probably be more accurate to say that never got the report. Now, since it’s been over a year, you’d think maybe this report isn’t that important, but now that the CEO has noticed, it is most important thing in the company. Work on everything else has stopped until this is done – mind you, it only took one person a few hours to implement and test the feature, but still – work on everything else stopped.
A few weeks later, a new ticket was opened: people felt that the nightly reports were too frequent and wanted instead to just go to the site and pull the report, which they had been doing for the past 16 months.
Keep the plebs out of production. Restrict NuGet feed privileges with ProGet. Find out more.