기능 토글

기능 토글(feature toggle)은 소프트웨어 개발에서 소스 코드에서 여러 기능 브랜치를 유지하는 것에 대한 대안을 제공한다. 코드 내의 조건은 런타임 중에 기능을 활성화하거나 비활성화한다. Agile 설정에서 토글은 프로덕션에서 사용되어 일부 또는 모든 사용자에게 필요에 따라 기능을 켠다. 따라서 기능 토글은 자주 릴리스하는 것을 더 쉽게 만든다. 카나리아 롤아웃 및 A/B 테스트와 같은 고급 롤아웃 전략을 처리하기가 더 쉽다.

기능 토글은 새 릴리스가 프로덕션에 지속적으로 배포되지 않더라도 지속적인 배포를 지원한다. 기능은 완료되기 전에도 메인 브랜치에 통합된다. 버전은 한 번 테스트 환경에 배포되고 토글을 통해 기능을 켜고 테스트할 수 있다. 소프트웨어 통합 주기가 단축되고 프로덕션에 사용할 준비가 된 버전을 제공할 수 있다.How GitHub Leverages Feature Flags to Ship Quickly and Safely, infoq, 2021-05-09.

이 기술의 세 번째 용도는 개발자가 미완성 기능이 있는 제품 버전을 릴리스할 수 있도록 하는 것이다. 이러한 미완성 기능은 사용자 인터페이스에 나타나지 않도록 숨겨진다(토글). 생산적인 브랜치에 기능을 병합하거나 분리하는 데 덜 노력이 들기 때문에 소프트웨어의 작은 증분 버전을 많이 허용한다.

기능 토글은 기능 스위치, 기능 플래그, 기능 게이트, 기능 플리퍼 또는 조건부 기능이라고도 한다.

 같이 보기 
 소프트웨어 구성 관리

 각주 

분류:소프트웨어 개발 프로세스
분류:컴퓨터 프로그래밍