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

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

    함께 읽은 게시물

    IT 회사의 업무에서, 지금까지는 디자이너와 특히 개발자가 병목이었는데, 대 AI 시대에는 기획자가 병목이 될 수도 있겠다. 조금이라도 규모가 있는 기업에서의 가장 큰 병목은 보통 의사결정자라는 것을 생각해보면 그렇다.


    즉, 실무보다 의사결정을 AI에게 맡기는 것이 병목을 해소할 수 있는 가장 확실한 방법이며, 그러므로 부장님과 사장님을 AI로 대체하는 것이야말로 인류의 번영을 위한 가장 빠른 지름길이다. (아님. 아니 맞나?!)

     • 

    저장 1 • 조회 2,216


    우선순위에 대한 고민

    SI,협약기반,셀프 서비스를 하면서 느끼는 커스터머및 장애 이슈대응

    ... 더 보기

    GraphRAG 에 대한 생각

    2000년 초반부터 온톨로지 연구를 해왔고, 관심을 갖고 있는 사람으로서 GraphRAG 에 대해 갖고 있는 생각을 적어봤습니다.

    ... 더 보기

    Longest Common Subsequence 자바스크립트 풀이

    ... 더 보기

    Longest Common Subsequence | 알고달레

    알고달레

    Longest Common Subsequence | 알고달레

    <일이 많다> 스타트업의 CTO는 해야하는 일이 정말 많다. 어떤 때는 인프라를 다루기도 하고, 어떤 때는 플랫폼을 만들기도 하고, 어떤 때는 프론트엔드 개발을, 어떤 때는 백엔드 개발을, 어떤 때는 모바일 개발을 하기도 한다. 여러 사람을 채용할 수 있다면 좋겠지만, 작은 회사에서 채용이란 쉽지 않은 의사결정이다. <일 할 시간 벌기> 매니저가 해야 하는 일이 여러가지가 있는데, 주된 일 중 하나는 아무래도 미팅일 것이다. 의미있는 미팅도 있지만 당연히 그냥 들어가야만 하는 미팅도 존재하고, 내가 그 자리에 앉아있는 것만으로도 효과가 발생하는 미팅도 있다. 그러나 그렇게 하다보면 자연스럽게 실제 업무를 할 시간, 그러니까 내가 일을 할 시간이 부족해지는데 그런 케이스를 방지하기 위해 Block 일정을 만들어 둘 필요는 있다. <야근에 대해서> 나도 처음에 가장 못하던 일이 아닐까 싶은데, 디테일에 과도하게 매몰되다가 자연스럽게 야근을 하게 되었다. 예를 들어 2주 정도를 야근하면, 1주 정도는 그냥 내리 쉬어야만 했고, 그 뒤로 2주는 그에 대한 여파로 업무 효율이 떨어지는 식이 많았다. 단순히 체력적인 피로도 뿐만 아니라, 2주간의 야근으로 인한 정신적인 피로도가 잘 회복이 안되더라. 그래서 내가 야근한 건 2주였지만, 실제로는 3주를 손해본 거나 다름없었다. 간혹 일정이 급할 때 그렇게 할 때가 있기는 하지만, 그럼에도 만약 야근을 해야만 해결할 수 있는 문제가 있다면, 애초에 플래닝이 잘못된 건 아닐 지 고민해보면 좋겠다. 특히 매니저라면 더욱 그런 시야가 필요하다. '지금 당장 필요한 기능인 지' 체크해보는 게 의미가 있다고 생각한다. <신뢰 자산의 관리> 조직에서 신뢰 자산은 그 무엇보다 중요한 자산이라고 생각한다. 나와 팀원간의 신뢰, 나와 다른 매니저간의 신뢰, 경영진 사이의 신뢰 등 다양한 신뢰 관계를 잘 맺어두는 것이 업무의 효율을 높이는 데 큰 도움을 준다. 신뢰도가 낮아질 수록 조직은 불신을 기반으로 한 조직 관리를 하게 되는데, 그렇게 하게 될 경우 조직 구성원들의 만족도가 떨어지게 된다. 특히 조직에 대한 애정도가 높았던 구성원일 수록 더 그렇게 되는 듯 하다. 일을 잘 할 수 있는 인재가 신뢰를 받고 일을 잘 할 수 있게 만들어 주는 것이, 어떻게 보면 관리자의 주된 역할이라고 할 수 있다. 신뢰를 잃는 순간 모든 걸 잃는다.

     • 

    댓글 3 • 저장 37 • 조회 7,842


    Next.js 프로젝트를 AWS EKS에 배포하며 배운 것들

    ... 더 보기

    쿠버네티스를 활용한 클라우드 네이티브 데브옵스 | 존 어런들 - 교보문고

    product.kyobobook.co.kr

    쿠버네티스를 활용한 클라우드 네이티브 데브옵스 | 존 어런들 - 교보문고

     • 

    저장 21 • 조회 1,977