실험 안내서
실험은 대부분 성장 부서(Growth Sub-department) 팀에서 가장 자주 이뤄집니다. 실험은 기본적으로 GitLab.com을 주요 타겟으로 하기 때문에 릴리스와 결부되지 않습니다.
실험은 A/B/n 테스트로 실행되며, 실험 피처 플래그를 켜거나 끌 수 있습니다. 실험에서 생성된 데이터를 기반으로 팀은 해당 실험이 긍정적인 영향을 미쳤는지 여부를 결정하고, 새로운 기본값으로 설정할지 또는 롤백할지를 결정합니다.
GitLab의 실험은 GitLab의 피처 플래그에서 제공하는 컨셉과 밀접하게 관련되어 있습니다. 실험을 진행하기 전에 GitLab의 피처 플래그 부분을 반드시 읽고 이해하는 것을 권장합니다. 실험은 때로는 A/B/n 테스트로 지칭되는 여러 변형을 사용할 수 있다는 추가 컨셉을 포함하기 때문에 이해를 돕는 기본 원리를 알아두는 것이 좋습니다.
우리는 실험을 실행하는 데 gitlab-experiment
gem (가끔 GLEX로 지칭됨)을 사용합니다. 이 gem은 Ruby를 사용하는 모든 GitLab 속성에서 공유할 수 있도록 별도의 리포지터리에 있습니다. 더 심화된 주제를 탐구하거나 이슈를 열고 싶다면 해당 프로젝트의 문서를 참고해야 합니다. 해당 문서는 주로 메인 브랜치에 있는 내용을 반영하므로 GitLab에서 사용 중인 버전과 일치하지 않을 수 있음을 명심하세요.
용어 해설
공통 언어를 위해 실험에 대해 의사소통할 때 사용하는 기본 용어를 이해해야 합니다:
-
experiment
: 특정 시점에 실행하거나 실행하지 않을 코드 경로의 어떠한 이탈. -
context
: 실험에서 제공하는 일관된 경험. -
control
: 기본 또는 “원본” 코드 경로. -
candidate
: 하나의 코드 경로로 정의된 실험. -
variant(s)
: 여러 코드 경로로 정의된 실험. -
behaviors
: 제어를 포함하여 실험의 모든 가능한 코드 경로를 참조하는 데 사용됨.
실험 구현
GLEX 또는 Gitlab::Experiment
, 즉 gitlab-experiment
gem은 GitLab에서 실험을 구현하는 우선적인 옵션입니다.
자세한 정보는 GLEX를 사용한 A/B/n 실험 구현을 참조하세요.
이는 실험 피처 플래그를 사용합니다.
실험을 위한 새로운 아이콘 및 일러스트 추가
일부 실험에는 코드베이스에 사용자 정의 아이콘 또는 일러스트를 추가해야 할 수 있습니다. 이 과정은 시간이 걸리며 실험의 결과가 불확실합니다. 그러므로 실험 정리 과정까지 해당 노력을 미루는 것이 좋습니다.
다음의 워크플로우를 권장합니다:
- 아이콘 및 일러스트에 대한 Pajamas 가이드라인 검토.
- GitLab 리포지터리의
/app/assets/images
(또는 EE) 경로에.svg
파일로 아이콘 또는 일러스트 추가. - 자산 파이프라인을 통해
image_tag
또는image_path
를 사용하여 렌더링. - 만약 실험이 성공하면, 디자이너는 정리 과정의 일환으로 새로운 아이콘 또는 일러스트를 Pajamas UI 키트에 추가합니다. 그러면 엔지니어는 SVG 라이브러리에 추가하고, 프론트엔드 개발 가이드라인에 따라 구현을 수정할 수 있습니다.