Hacker News new | ask | show | jobs
by Macha 1838 days ago
Feature flags is usually how we handle this. We have the flags anyway for developer use, so making them user specific was not that much incremental effort though we have had a few cases where old workflows were not removed when they should have been.

We did once have a customer with their own environment with a different version deployed, as they were initially a major client with such demands but after a few years it became clear it wasn't worth the maintenence effort to special case this one client so we made it clear in contract renewal one year that this would be going away.

5 comments

+1 on feature flags. Set up your flags so you can disable features for certain customers, or groups/classes of customers. Delivery and release can then be separated. Release frequently, deliver features when it makes sense.

Also recommend making sure customers know that this is time-limited, otherwise you end up supporting too many different configurations of your product.

Also if these are customers you're in regular contact with, you can preview your roadmap or demo features that are coming soon. This helps them feel in the loop, and gives them a chance to provide feedback.

That's about the only answer, although feature flags are hell. Once you have a feature flag, you now have 2 versions of your product. 2 feature flags, that's 4 versions to maintain, etc. Make sure you don't conflate "feature flag" and "setting", and make sure you clean up these flags when they're uneeded (and actively push the business to make them unneeded!).

Fowler has a good write-up about different types of feature flags: https://martinfowler.com/articles/feature-toggles.html

Agree on this. We delivered new versions to customers once a week, but every new version should not have been noticed by a customer at all.

The roll out of feature flags is a separate process.

+1 for flags, you can also put features into production earlier, safe knowing they will only be visible for the users / teams you’ve added to the list
+1 on feature flags. I find them to be a pain, but fussy customers insist "that we need to test it in staging first".