Hacker News new | ask | show | jobs
by helloguillecl 931 days ago
So a few months ago, after a buggy change to a stock update sent to the channel manager (external system for updating pricing and availability of hotel rooms) we lost 21.000 EUR in just 2 hours of the bug being deployed. We exported low season rates (today’s rates) for the higher seasons.

Luckily a human saw the error, when he saw a big flow of reservation coming in at anomalous peace.

From there on, I’m too scared to make changes to the 20-line function that produces the updates to be sent.

We had not a chance to cancel the reservations made through the channels (websites were you book the reservations).

3 comments

> From there on, I’m too scared to make changes to the 20-line function that produces the updates to be sent.

Given enough regression testing coverage, any load-bearing function can be changed.

This sounds to me like your project had insufficient or non-existent software quality practices to let this slip through. Hopefully your team has done a post-mortem analysis to make this a learning experience.

> From there on, I’m too scared to make changes to the 20-line function that produces the updates to be sent.

Isn’t this where automated testing shines?

Indeed.
You need much better testing. And probably that 20 line function needs better documentation and may even benefit from being further broken out. I hope that it at least is a function that is 'pure', in other words that it does not reference any globals.