What do birds have in common with software development?
You might be already be familiar with a programming-related term “canary releases” or “canary builds”. Do you actually know what it means and what’s the term’s origin?
A canary release is a special version of the product dedicated for a selected group of people (sometimes they’re volunteers and sometimes they’re not aware of being in a test group). The ones with canary build access are often test-drivers of an experimental feature who let developers collect feedback and fix bugs at an early development stage.
One example known to me is Ember.js framework that provides a special build for their beta users. By setting a special flag in the application config they can become early adopters of really cool features, but also they have to be aware that the features might be at any point wiped out or simply not work as expected.
The previous sentence got us closer to the to the origin of the term. In the old times canary birds were used by coal miners to detect toxic gases. Because of their low mass the canaries are much more sensitive to methane than people, so they quickly get stunned or even die letting the miners know that they should evacuate.
As you can see there’s quite a good analogy between mining and software development. Even though the canaries in software development don’t save lives they really can be useful and save us some stress when releasing new code to the wild.
Also, “our” canaries have one big advantage compared to mining — no bird has ever died in the process 😌
P.S. If you’re from Poland you might be familiar with the saying “Po ptokach”. The saying’s origin is exactly the same as described in this article :D