paint-brush
機能フラグとはプロダクト マネージャーの概要@peculiar
1,692 測定値
1,692 測定値

機能フラグとはプロダクト マネージャーの概要

長すぎる; 読むには

機能フラグは、コードをデプロイすることなく、実行時に特定の機能のオンとオフを切り替えることができるメカニズムです。機能フラグを使用すると、プロダクト マネージャーが機能を試したり、必要な機能にアクセスできる対象者を合理化したりする余地が生まれます。本番環境でのテストに機能フラグを使用することは軽減できます。コードをその背後にデプロイし、顧客から隠してから、カナリア リリースにデプロイできるからです。

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - 機能フラグとはプロダクト マネージャーの概要
Peculiar Ediomo-Abasi HackerNoon profile picture

製品マネージャーは、製品により多くの価値を追加し、新しい製品体験を顧客に提供する方法を常に探しています。この継続的な配信または継続的な展開には、新しい機能が正常に機能することを期待して、製品の更新を顧客にプッシュする機能が必要です。それ以外の場合は、修正のために開発に送り返されます。


機能フラグは、プロダクト マネージャーが機能を試す余地を与えます。これにより、段階的なロールアウトが可能になり、どのオーディエンスがどの機能にアクセスできるかを合理化できます。


この記事では、フィーチャー フラグとは何か、およびエンジニアとプロダクト マネージャーの両方がフィーチャー フラグを重要視する理由の一般的な概念について説明します。

機能フラグとは

頻繁に定義されるように、機能トグルとも呼ばれる機能フラグは、コードをデプロイすることなく、実行時に特定の機能のオンとオフを切り替えることができるメカニズムです。


メディアからの画像


たとえば、Meta (以前の Facebook) では、機能フラグが大きな役割を果たしています。 Meta が新機能を発表するとき、少数の人々にテストを展開し、その後徐々に世界中のより多くの人々に拡大する方法に気づきましたか?このオーディエンス セグメンテーションにより、会社は最初にユーザーのサブセットで検証することができます。これは、実験的な機能を 36 億人の月間アクティブ ユーザーに公開することは非常に危険であるためです。

機能フラグの一般的な使用例

機能フラグを使用すると、チームは可能な限り新しい機能を本番環境にデプロイできます。いくつかの使用例を見てみましょう。

機能フラグを使用した本番環境でのテスト

これは、機能が存在する環境で機能をテストすることです。一部の QA エンジニアや製品マネージャー (私を含む) にとって、運用環境でのテスト (TiP) は威圧的です。卵の殻の上を歩くようなものです。明らかな理由から、TiP は、脆弱性を実際のユーザーに公開したり、エクスペリエンスを不安定にしたりするリークを作成する可能性があります。

メディアからの画像

機能フラグを使用すると、本番環境でのテストで発生する可能性のあるリスクを軽減できます。これは、コードをその背後にデプロイし、顧客から隠してからカナリア リリースにデプロイできるためです。これにより、エンジニアリング チームと製品チームは、より少ないリスクで新機能のリリースをきめ細かく制御できます。


実際、機能がステージングで機能することだけでなく、本番環境でも機能することを知りたいのは理にかなっています。したがって、本番環境でテストします。機能管理は、機能と製品エクスペリエンスを安全に提供するのに役立ちます。

機能フラグによる資格の管理

サービスとしてのソフトウェア (SaaS) は通常、顧客にさまざまなサブスクリプション プランを提供します。無料プランには基本的な機能があり、有料プランにはプランを構成するさまざまな一流の機能セットがあります.


LaunchDarkly からの画像

価格設定に機能フラグを使用して、どのプランがどの機能を取得するかを規定すると、これらの権利を管理するプロセスに役立ちます。

実験のための機能フラグの使用

これには、同じ機能の異なるバージョンを起動して、どれが最もパフォーマンスが良いかを確認することが含まれます。デプロイされた機能に対する A/B テストやセグメンテーション [本番環境での A/B テスト] などの手法を実装します。


フラッグシップからの画像

機能の実験により、機能を比較して、どの機能が最適な実装であるか、または優先されるかについての洞察を得ることができます。また、機能の仮説を作成し、それを開始するための実験を設定し、そのパフォーマンスを測定してから、検証後に開始することもできます。機能フラグは、テストしたい変更を構築するのに役立ちます。次に、メトリクスを機能フラグに結び付けて、実験に目的を与えます。

結論は

機能フラグの全体的な考え方は、コードをデプロイした後でも機能をオンまたはオフにする簡単な方法を提供することにより、リスクを軽減することです。注意して機能フラグを使用することを強くお勧めします。複雑さを避けるために、それらを少数で短命に保ちます。


フラグを頻繁に確認して、重要なフラグが適切にオンまたはオフになっていることを確認します。フラグを誤用すると、次の実際の例に見られるように、悪い結果が生じる可能性があります。展開。チームは、古いコードで使用されていた機能フラグを再利用して、運用上のリスクを封じ込めようとしました。


機能フラグの概念と考慮事項について説明したので、機能フラグの管理を自動化するのに役立つ多くの機能フラグ プラットフォームがあることに注意してください: split.io、LaunchDarkly、CloudBees など。


製品管理分野に参入しようとしている非技術者を知っていますか? プロダクト マネージャーが知っておくべき技術的概念を探る: 開発者の心へのガイドというトピックに関する以前の記事を共有することをお勧めします。共有してくれてありがとう!


LinkedInでお気軽にお問い合わせください。