フィーチャーフラグのライフサイクル管理
フィーチャーフラグの作成からクリーンアップまでの完全なライフサイクルを管理します。オーナーシップ、有効期限、削除プロセスを定義してフラグ債務を防止。
Best Practices
詳細な説明
フィーチャーフラグのライフサイクル
フィーチャーフラグは恒久的なものではありません。ライフサイクル管理がないと、コードベースに「フラグ債務」が蓄積されます。何百もの古いフラグがコードを複雑にし、フラグ評価を遅くし、チームメンバーを混乱させます。
フラグのライフサイクルステージ
DRAFT → ACTIVE → ROLLED OUT → DEPRECATED → REMOVED
| | | | |
| ターゲティング 100%の クリーンアップ コード
| ルール定義 ユーザーに スケジュール ブランチ
| 2週間以上 削除
|
フラグ作成、
まだ有効化されていない
メタデータ付き設定
{
"new-onboarding-flow": {
"name": "新しいオンボーディングフロー",
"description": "リデザインされた初回ユーザー体験",
"type": "boolean",
"enabled": true,
"defaultValue": false,
"targeting": [
{ "type": "percentage-rollout", "percentage": 100 }
],
"_metadata": {
"owner": "growth-team",
"createdDate": "2025-01-15",
"targetRemovalDate": "2025-03-15",
"jiraTicket": "GROW-1234",
"lifecycle": "rolled-out",
"tags": ["temporary", "onboarding", "q1-initiative"]
}
}
}
ライフタイム別のフラグカテゴリ
| カテゴリ | ライフタイム | 例 |
|---|---|---|
| リリースフラグ | 数日〜数週間 | 新機能ロールアウト |
| 実験フラグ | 2-4週間 | A/Bテスト |
| 運用フラグ | 恒久的 | キルスイッチ、サーキットブレーカー |
| 権限フラグ | 長期間 | プレミアム機能 |
フラグ債務の防止
- すべてのリリースフラグに必須の有効期限を設定
- チームスタンドアップでの週次フラグレビュー
- 目標削除日を過ぎたフラグに対する自動アラート
- 各フラグの年齢、状態、オーナーを表示するフラグダッシュボード
- コード内の非推奨フラグについて警告するLintルール
ユースケース
エンジニアリングチームが2年間で200以上のフィーチャーフラグを蓄積し、多くの古いフラグがコードベースを乱雑にしている。ライフサイクルポリシーを実装:すべてのフラグにはオーナーと目標削除日が必要。週次の自動レポートが有効期限を過ぎたフラグを強調表示。3ヶ月以内に60のアクティブフラグに削減。