33 ms·
if statements in the code. do you need a “platform” for feature flags? if you have so many feature flags that you need complex management i think that indicate
by gregjor 2y ago
if statements in the code.
do you need a “platform” for feature flags? if you have so many feature flags that you need complex management i think that indicates you need configuration/settings management.
- lnxg33k1 2y agoNot many, but would be ok to let non-tech handle their wanted features
- tengbretson 2y agoWouldn't this just go into an admin panel somewhere in the app?
- DowagerDave 2y agothis sounds like a client toggle, vs a feature flag
- JohnFen 2y agoThat's how we've done it everywhere I've ever worked (and how I've done it in my own projects). I agree, it's not clear to me how a "platform" for this would improve anything.
- goralph 2y agoIncremental rollouts is one feature that a platform can save you having to build, i.e. enable the flag for 1 -> 10 ... -> 100% of users.
- locofocos 2y agoIt's nice being able to toggle flags immediately, without waiting for a deploy. Having near-instant rollback is reassuring for launching new features.
- stevekemp 2y agoYou ship a mobile phone application, with 10million installations. You have a marketing/research department that wants to run A/B tests on their schedule, gathering analytics, and metrics. Sure developers need to be involved in setting up SDKs, and making it possible for flags to be used. But oftentimes the people setting the flags and phased rollouts of features: "4% of users in France, then next week 10% of users in France and Germany, and then 50% of all European players need feature XX". Platforms might be a hard sell, but many many mobile-application developers end up reinventing these kinda things over time, especially the popular ones.
- solardev 2y ago> do you need a “platform” for feature flags? It's helpful if you have non-devs on the team who nonetheless want to toggle flags. Sometimes UX people use them for A/B testing, for example. Or a manager might want to see how a certain experiment performs and then turn it off if it's not doing well. The "platform" is really just an easy web GUI with roles & permissions. In the past I've used Unleash, VWO, some Google thing that was sunsetted (of course), maybe some others. They're simple SaaSes but useful in the right teams.
- quaunaut 2y agoConfig/settings management are often paired with things that require at the very least an app reboot, where Feature Flags are explicitly something that should be capable of changing at will. Now, could you have real-time config management that doesn't require a re-deploy/reboot of the app? Sure, but the typical 12-factor app can't really avail itself of that without significant rework.
- __MatrixMan__ 2y agoI'm pretty happy that as a dev I don't have to keep track of the relationship we have with each customer and craft that if statement accordingly. I just have to make sure the flag works and setting it to the correct value can be up to somebody who is customer-facing.
- ojkelly 2y agoThere’s 2 mains ways to do feature flags. Coupled to a code deploy or not. Changing flags on deploy is simple, great when you have a fast pipeline and only a few flags. But at some point it becomes useful to decouple feature release from code deploy. And the only way to do that, is to be able to change the value of a flag out-of-band of a pipeline. Then you have the capability to test new code in environments before prod and in small parts of prod—canary releases and so on. Configuration and settings management overlaps with feature flags, but note that often the value comes from the ability to test and safely deploy new code into production environments (more of a release flag), that to enable a feature for a specific user. It just so happens that the use cases and technical implementations overlap so frequently it’s sometimes less work to use the same system.