The canary principle can be best stated as follows:
Before exposing the whole system to a change, expose a small part of it and watch closely.
This idea comes from coal mining. Miners faced invisible threats such as carbon monoxide. Because canaries are more sensitive to dangerous gases than humans, a caged bird could provide an early warning that the atmosphere was becoming unsafe. Poor canary.
This concept has since been used in software development. Martin Fowler, one of the forefathers of modern software development, describes it as gradually rolling out a release to a small subset of users before making it available to everyone. You have probably experienced this before when using a software interface, but you didn’t realize what was happening. Perhaps you thought you were special for getting a new feature, but in reality you were the canary!
This principle applies outside the development world and even in our personal lives. Consider an expanded definition:
When uncertainty is unavoidable, reduce the cost of learning rather than trying to eliminate uncertainty.
We all know we’ll eventually have to face reality. However, perhaps we do not have to confront reality all at once. This life philosophy could serve us well.
For example, are you considering changing jobs? The all-at-once strategy would say that you need to quit your job, start your consulting gig, and see if you like it. Wow! That is a big risk; what if you hate it? The canary principle would say you should take one consulting engagement first, see what the work is like, and then decide whether you want to go to the next level.
You do not need to go all in and make irreversible decisions when reversible experiments will answer the question. Ask yourself, what is the smallest version of this that I can try? Can I reverse this decision easily, and how would I know if it was working? In essence, the canary principle encourages you to risk a little to learn a lot before you risk a lot.


