実験ガイド
実験はGitLabのどのチームでも実施することができ、多くの場合はGrowth Sub-Departmentのチームが担当します。実験は主にGitLab.comを対象としているため、リリースに縛られることはありません。
実験はA/B/nテストとして実行され、テストのオン/オフを切り替える実験機能フラグが背後にあります。実験が生成するデータに基づいて、チームは実験がポジティブな影響を与え、新しいデフォルトにするか、ロールバックするかを決定します。
GitLabの実験は、GitLabの開発において機能フラグによって提供される概念と緊密に結びついています。実験の実行を検討する前に、ドキュメントのGitLab開発における機能フラグの部分を読んで理解することを強くお勧めします。実験では、GitLabが開発で機能フラグをどのように使うのかという基礎を理解していないと、混乱したり高度に感じたりするかもしれない概念が追加されます。コンセプトの一つ:実験は複数のバリアントで実行することができ、A/B/n テストと呼ばれることもあります。
私たちはgitlab-experiment
gemを使って実験を行っています。このgemは別のリポジトリにあるので、Rubyを使うGitLabのどのプロパティでも共有することができます。より高度なトピックや未解決のイシューについて調べたい場合は、そのプロジェクトのドキュメントを読むと安心です。このドキュメントはメインブランチにあるものを反映しており、GitLabで使われているバージョンとは異なる可能性があることに注意してください。
用語解説
実験に関するコミュニケーションにおいて、私たちが使用する基本的な用語を理解してください:
-
experiment
:ある時には実行したいが、他の時には実行したくないコードパスの逸脱。 -
context
:実験で提供する一貫した経験。 -
control
:デフォルト、つまり「オリジナル」のコードパス。 -
candidate
:つのコードパスだけで実験を定義します。 -
variant(s)
:複数のコードパスを持つ実験を定義します。 -
behaviors
:コントロールも含め、実験のすべての可能なコードパスを参照するために使用します。
実験の実装
GLEX- あるいはGitlab::Experiment
、gitlab-experiment
gem - は、GitLabで実験を実装するための好ましいオプションです。
詳細はGLEX を使った A/B/n 実験の実装 を参照ください。
これは実験機能フラグを使用します。
実験用の新しいアイコンとイラストを追加
実験によっては、コードベースにカスタムアイコンやイラストを追加する必要があります。このプロセスは長く、このステージでは実験の結果が不確実です。したがって、この作業は実験のクリーンアッププロセスまで延期してください。
以下のワークフローをお勧めします:
- アイコンとイラストのガイドラインをレビューします。
- GitLabリポジトリの
/app/assets/images
(またはEE)パスに、アイコンやイラストを.svg
ファイルとして追加します。 -
image_tag
またはimage_path
を使って、アセットパイプラインでレンダリングします。 - 実験が成功したら、デザイナーはクリーンアッププロセスの一環として、新しいアイコンやイラストをパジャマUIキットに追加します。その後、エンジニアはSVG ライブラリに追加し、フロントエンド開発ガイドラインに基づいて実装を変更できます。