フィーチャーフラグ

実装済みの機能を「公開スイッチ」で制御し、特定ユーザーへの限定公開→全体公開と段階的にロールアウトする技術手法。牛尾 剛世界一流エンジニアの思考法で紹介。Azure・Windows など Microsoft 製品で広く使用されている。

仕組み

  1. 機能を実装し、コードに組み込んでおく
  2. 「公開スイッチ(フラグ)」をオフのまま本番環境に配置する
  3. 一部ユーザーにのみスイッチをオンにして試験公開する
  4. 実際に動作し価値があると確認してから全体公開する

利点

  • 「既に動いているものをリリースする」と約束できる(納期コミットメントの容易化)
  • 段階的なリスク管理が可能
  • 機能の増減に関係なく「いつでもリリース可能な状態」を維持できる
  • 問題が起きたらスイッチをオフに戻すだけで即座にロールバックできる

複数機能の同時開発との組み合わせ

機能A・B・Cがすべて揃わないとリリースできない場面でも:

三つ同時につくるが、想定よりずっとシンプルなものにする。連携しつつ価値を提供できる単位でつくると、常にリリース可能な状態ができあがる。

QCDSとの関係

QCDSトレードオフにおいて、S(スコープ)をフィーチャーフラグで動的に制御することで、D(納期)とQ(品質)を維持しながら機能を段階的に提供できる。

関連概念

出典