피쳐 플래그 스파게티 - 피쳐 플래그에 없는 기능 🚩

Eliran Turgeman의 블로그를 의역/요약한 글입니다


---

피쳐 플래그는 요즘 많이 도입하는 기능입니다. 다만, 대부분의 피쳐 플래그를 제공하는 벤더가 몇 몇 핵심 기능을 빼먹었다고 생각합니다.


저는 현재 솔루션에서 두 개의 문제점을 발견했습니다.

  1. 여러 FF (피쳐 플래그)가 있으면 관리하기 어렵습니다

  2. FF 관련 코드를 제때 제거하지 않으면 코드 베이스는 사용하지 않는 코드가 엄청나게 많아집니다.


위 문제를 풀기 위해 해결안을 생각하보자면:

  1. FF 트리

  2. 사용되지 않는 / 완전 배포 된 FF에 대한 알림


FF 트리

FF를 트리 형태로 관리하면 좋을 것 같습니다. 메인 FF가 있고 아래 여러 FF를 두어 메인 FF를 끄면 아래 연결된 FF들도 모두 꺼지는 것입니다. 이렇게 하면 “아 UI 관련 FF 하나 끄는 걸 깜빡했네”와 같은 사례를 방지 할 수 있을 겁니다.

좀 극단적이긴 하지만 최근에 FF 네 다섯 개를 꺼야지 e2e 테스트를 할 수 있는 기능을 배포한 적 있습니다.


사용되지 않는 / 완전 배포 된 FF에 대한 알림

FF 끄고 켜는 것 때문에 지라 티켓을 만들기 싫습니다. 코드 베이스에 죽은 코드와 브랜치를 유지하고 있는 게 짜증나고 디버깅을 어렵게 만듭니다. 언제 관련 코드를 지울 수 있는지 웹 훅 같은 걸 연결해서 슬랙이나 이메일로 알림 오게 할 수 있으면 좋겠습니다.

제가 지우고 싶은 FF는:

  1. 사용되지 않는 - 최근 X 일 동안 요청 된 적 없는 것

  2. 완전 배포 된 - 기능이 완전히 배포되었고 배포 된지 X 일이 지남


현재는 이렇게 두 가지 문제점과 해결 방안이 떠오릅니다.

---


원글: https://www.16elt.com/2024/02/03/feature-flags-missing-features/

Feature flags spaghetti // FFs missing features

Eliran Turgeman

Feature flags spaghetti // FFs missing features

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2024년 2월 4일 오후 9:34

댓글 0