실험 가이드

실험은 주로 Growth Sub-department의 팀에서 진행되지만 GitLab의 어떤 팀에서든 실험을 수행할 수 있습니다. 실험은 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: 실험의 모든 가능한 코드 경로를 참조하는 데 사용됩니다.

실험 실행

GitLab에서 실험을 실행하는 기본 옵션은 GLEX 또는 Gitlab::Experimentgitlab-experiment gem입니다.

더 많은 정보는 GLEX를 사용하여 A/B/n 실험 실행을 참조하십시오.

이것은 실험 기능 플래그를 사용합니다.

실험을 위한 새 아이콘 및 삽화 추가

일부 실험은 코드베이스에 사용자 정의 아이콘이나 삽화를 추가해야 할 수 있습니다. 이 프로세스는 길고 이 단계에서의 실험 결과가 불확실합니다. 따라서 실험 청소 프로세스까지 이 작업을 연기하는 것이 좋습니다.

다음 워크플로우를 권장합니다:

  1. 아이콘삽화에 대한 Pajamas 가이드라인 검토.
  2. GitLab 저장소의 /app/assets/images(또는 EE) 경로에 .svg 파일로 아이콘 또는 그림 추가.
  3. 에셋 파이프라인을 통해 렌더링하기 위해 image_tag 또는 image_path 사용.
  4. 실험이 성공적인 경우, 디자이너는 청소 프로세스의 일환으로 새로운 아이콘 또는 삽화를 Pajamas UI 킷에 추가합니다. 엔지니어는 그 후 SVG 라이브러리에 추가하고 Frontend Development Guidelines에 따라 구현을 수정할 수 있습니다.

관련 주제