フィーチャートグル
カナリア開発あるいはカナリアローンチ(canary launch)とも呼ばれる)とは、システム全体への反応を評価するために、少数のユーザーに対して機能を公開することである。カナリアリリースにより、機能をゆっくり公開して、実際のユーザ(カナリアたち)からの反応を測定し、危険の兆候を早期に探すことが可能になる。その機能があまり良くなければ、その機能は差し戻す事もできる。カナリアリリースは、より機敏に動くために継続的デリバリーを実践しているアジャイル開発組織のベストプラクティスである 。
このパターンは多くのプログラミング言語で非常にシンプルに実装できるが、更に利用を単純にするために利用できるライブラリも存在する。
マーティン・ファウラーは機能トグルは最後の手段であるべきとして、機能トグルを利用する前に次のような手段を検討すべきと述べている。
機能を小さく分割して段階的にリリースしていく方法
新機能へのエントリーポイントとなるUIを最後に作る方法
フィーチャートグルはFlickr、 Disqus、 Etsy、reddit、 Gmail、Netflix などの多くの大きなウェブサイトで使われている。
Java、Angular、Pythonでフィーチャートグルやフィーチャーフラグを実現できるオープンソースの解決策は多くある。SAASプラットフォームのためのフィーチャートグルとしては、LaunchDarkly が最も広く使われている。これはJava, JavaScript, PHP, Python, Go, Node.JS, .NET, Ruby, Python Twisted, Android, iOSのためのフィーチャートグルを提供する。